новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: Не отрабатывает COM объект при вызове из WEB клиента

    • #1
    • 11.04.2020 14:14
    0
    При вызове через Тонкий клиент все ок - COM объект отрабатывает(в контексте сервера). При вызове через WEB клиент, COM объект создается, но такое ощущение что он пустой, при отработке метода возни...  Подробнее>>
    • #2
    • 11.04.2020 14:14
    • Отредактировано: 11.04.2020 14:20:37
    0
    https://its.1c.ru/db/metod8dev#content:3221:hdoc:_подготовка_внешних_компонент_к_рабо
    • #3
    • 11.04.2020 14:18
    0
    сом-объекты - некроссплатформенное зло
    • #4
    • 11.04.2020 14:24
    0
    Сам COM объект писал не я, и у меня нет доступа к исходникам.
    • #5
    • 11.04.2020 14:26
    0
    В тонком все отрабатывает, почему в вэбе косяки. Я не понимаю какая разница откуда его вызывать.
    • #6
    • 11.04.2020 14:50
    0
    Андрей Игнатьев
    Сам COM объект писал не я, и у меня нет доступа к исходникам.


    Всегда можно обратиться к автору, если писали не вы, за помощью и консультацией.
    Как правило, именно для этого, автор где-то в документации, или в самом компоненте, указывает свои контактные данные.
    Система придумана задолго до вас, и именно в таком виде и работает, по всему миру.
    • #7
    • 11.04.2020 14:52
    0
    Андрей Игнатьев
    В тонком все отрабатывает, почему в вэбе косяки. Я не понимаю какая разница откуда его вызывать.


    Раздел:

    "Подготовка внешних компонент к работе с Веб-клиентом"

    в "Технологии создания внешних компонент"

    https://its.1c.ru/db/metod8dev#content:3221:hdoc

    (выше в обсуждении уже ставил прямую ссылку)
    • #8
    • 11.04.2020 15:41
    0
    А я правильно понимаю, что сам СОМ-объект создается в контексте 1С-сервера?
    Что хоть за компонента у Вас? Что она делает?
    • #9
    • 11.04.2020 15:53
    0
    Назаренко Сергей Васильевич
    А я правильно понимаю, что сам СОМ-объект создается в контексте 1С-сервера?
    Что хоть за компонента у Вас? Что она делает?


    Да все верно. Тянет данные из базы FireBird.
    • #10
    • 11.04.2020 15:57
    0
    А куда он вытянутые данные девает?
    • #11
    • 11.04.2020 16:19
    0
    Если компонента работает чисто на сервере - ей должно быть всё равно, вызывает её тонкий клиент в режиме http-соединения или веб-клиент.
    • #12
    • 11.04.2020 16:30
    0
    badger
    Если компонента работает чисто на сервере - ей должно быть всё равно, вызывает её тонкий клиент в режиме http-соединения или веб-клиент.


    Я своими вопросами именно к этому и веду.
    Мне тоже кажется странным, что работающая на сервере компонента, внезапно начала зависеть от типа клиента.
    Возможно, что она с сервера на клиент какие-то данные пытается передавать, которые не могут быть отображены в Веб-клиенте.
    В-общем, нужно в код смотреть, что конкретно там происходит.
    • #13
    • 11.04.2020 17:50
    • Отредактировано: 11.04.2020 17:54:36
    0
    badger
    Если компонента работает чисто на сервере - ей должно быть всё равно, вызывает её тонкий клиент в режиме http-соединения или веб-клиент.

    Возможно, у учетной записи операционной системы, из-под которой запущен апач, не хватает каких-нибудь прав на COM ? Имею в виду права уровня ОС, если есть там какие-то настройки разрешений. По крайней мере с COM-Excel с чем-то подобным вроде сталкивался.
    • #14
    • 11.04.2020 18:23
    0
    Денис
    Возможно, у учетной записи операционной системы, из-под которой запущен апач, не хватает каких-нибудь прав на COM ?


    Такое, конечно, возможно (пути исполнения кода в 1С - неисповедимы), но мне кажется, что если COM-объект создается в серверном коде, то применяться должны права пользователя, под которым сервер 1С крутится. А они должны быть одинаковыми не зависимо от типа клиента.
    Хотя, на всякий случай, права веб-сервера проверить тоже можно.
    • #15
    • 11.04.2020 18:48
    0
    Назаренко Сергей Васильевич
    то применяться должны права пользователя, под которым сервер 1С крутится. А они должны быть одинаковыми не зависимо от типа клиента.
    Хотя, на всякий случай, права веб-сервера проверить тоже можно.


    У него написано, что база файловая, соответственно, wsap24.dll грузится под правами, под которыми запущен веб-сервер, и компонента, затем, тоже должны грузиться под теми же правами. Разницы между веб-клиентом и тонким клиентом в http-режиме тут быть не должно, если веб-сервер запускается одинаково для обоих случаев.
    • #16
    • 11.04.2020 20:25
    • Отредактировано: 11.04.2020 20:27:18
    0
    badger
    У него написано, что база файловая


    Я на этот момент внимания не обратил.
    Да. Тогда однозначно нужно с правами пользователя веб-сервера разбираться.

    Если Тонкий клиент запускается на машине, которая в локальной сети с базой находится, то его можно на базу и по прямому пути натравить (см. вложенный скрин). И тогда веб-сервер будет не при делах.
    • #17
    • 11.04.2020 20:26
    0
    Назаренко Сергей Васильевич
    А куда он вытянутые данные девает?


    Вставляет в пустую открытую форму документа, создает новые элементы справочников.
    • #18
    • 11.04.2020 20:32
    0
    Назаренко Сергей Васильевич
    Если Тонкий клиент запускается на машине, которая в локальной сети базой находится, то его можно на базу и по прямому пути натравить (см. вложенный скрин).


    Все поверялось на локальном компе где сама лежит база, там же стоит Apache.
    • #19
    • 11.04.2020 20:39
    0
    Андрей Игнатьев
    Все поверялось на локальном компе где сама лежит база, там же стоит Apache.


    А можете приложить скрин с настройками подключения к базе из Тонкого клиента?
    • #20
    • 11.04.2020 21:34
    0
    Назаренко Сергей Васильевич
    А можете приложить скрин с настройками подключения к базе из Тонкого клиента?
    • #21
    • 11.04.2020 21:34
    0
    Назаренко Сергей Васильевич
    А можете приложить скрин с настройками подключения к базе из Тонкого клиента?
    • #22
    • 11.04.2020 21:43
    0
    А с чего Вы взяли, что у Вас запускается именно Тонкий клиент? А не Толстый клиент управляемого приложения?
    И судя по тому, что путь к базе прописан не через http, а прямым путем к папке, то это как раз то, о чем я и говорил - Тонкий (или Толстый) клиент у Вас работает под правами Вашего пользователя. А Веб-клиент работает под правами пользователя, от имени которого запущен веб-сервер. Вот его права и нужно поправить.
    • #23
    • 11.04.2020 22:04
    0
    Назаренко Сергей Васильевич
    А с чего Вы взяли, что у Вас запускается именно Тонкий клиент? А не Толстый клиент управляемого приложения?
    И судя по тому, что путь к базе прописан не через http, а прямым путем к папке, то это как раз то, о чем я и говорил - Тонкий (или Толстый) клиент у Вас работает под правами Вашего пользователя. А Веб-клиент работает под правами пользователя, от имени которого запущен веб-сервер. Вот его права и нужно поправить.


    Я запускаю отладку из конфигуратора именно тонкий клиент
    • #24
    • 11.04.2020 22:05
    0
    Андрей Игнатьев
    Я запускаю отладку из конфигуратора именно тонкий клиент


    С вопросом "с чего Вы взяли, что у Вас запускается именно Тонкий клиент" - понятно.
    Но это уже не имеет значения, т.к. наиболее вероятная причина проблемы уже ясна.
    • #25
    • 11.04.2020 22:06
    +1
    badger
    Разницы между веб-клиентом и тонким клиентом в http-режиме тут быть не должно

    Видимо, тонкий клиент в http-режиме тоже не будет работать )
    • #26
    • 11.04.2020 22:08
    • Отредактировано: 11.04.2020 22:12:37
    0
    Назаренко Сергей Васильевич
    А Веб-клиент работает под правами пользователя, от имени которого запущен веб-сервер. Вот его права и нужно поправить.

    Можно для начала апач запустить под тем пользователем, под которым тонкий клиент срабатывает с COM. Если через браузер такой вариант начнет работать - тогда с правами разбираться, под кем апач запускается в обычных условиях.
    • #27
    • 11.04.2020 22:14
    0
    Тонкий клиент и Apache стоят на одном и том же компе и крутятся на одном и то же юзере в Win10, не знаю может есть какие приколы так как Apache крутится как служба
    • #28
    • 11.04.2020 22:20
    0
    Apache крутиться на пользователе СИСТЕМА, а тонкий клиент на учетке с правами админа.
    • #29
    • 11.04.2020 22:22
    0
    Андрей Игнатьев
    Тонкий клиент и Apache стоят на одном и том же компе и крутятся на одном и то же юзере в Win10


    Т.е. служба Апача запускается от имени локального пользователя, под которым Вы работаете?
    Это не очень хорошо с точки зрения безопасности, т.к. у него, кроме доступа к СОМ, появляется еще множество излишних прав.
    • #30
    • 11.04.2020 22:22
    • Отредактировано: 11.04.2020 22:25:10
    0
    Андрей Игнатьев
    Apache крутиться на пользователе СИСТЕМА, а тонкий клиент на учетке с правами админа.


    так остановите службу, и запустите httpd.exe апача под своей учеткой админа - без службы. Если браузер заработает - значит можно разбираться с правами учетки, из под которой служба апача запускается.
Страницы:12
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться