Соединение с Axapta по COM в фоновом задании #668165


#0 by 111222333444
Всем трям. Имеется: 1. 1С 8.2 УПП 1.3.39.1, платформа 8.2.18.82. 2. Аксапта 4.0 Задача: В фоновом задании подключиться из 1С к Аксапте, выполнить определенные процедуры. Реализация: В общем неглобальном модуле (стоят галки "Сервер", "Внешнее соединение", "Клиент(обычное приложение)", "Вызов сервера") создана экспортная процедура, которая благополучно назначена регламентному заданию Проблема: Метод Logon отрабатывает с ошибкой "Ошибка при вызове метода контекста (Logon)". Дополнительные замечания: При запуске вышеозначенного кода на клиенте (вариант запуска "А") - всё отрабатывает как и задумано - логинится, выполняются процедуры, логофается. При запуске же как фонового задания (вариант запуска "Б") - болт. В обоих случаях запуск происходит физически на одном и том же компе, который является собственно сервером приложений. Служба сервера приложений запущена под тем же доменным пользователем, под которым производится запуск по варианту "А". В аксапте заведен этот же пользователь с доменной авторизацией. Поиск по мисте юзал, поиск по forum.mazzy.ru юзал. Вопрос: кто-то сталкивался с подобной проблемой? как решали?
#1 by бомболюк
Что то было: на сервере например, не получалось создать КОМ объект, оформленный как *.ocx, то есть визуальный компонент, писалось что то типа "Интерфейс не поддерживается", хотя на клиенте все работало. КОМ объект, оформленный по другому, нормально создавался и работал на сервере. Может и тут что то типа этого.
#2 by 111222333444
так ком объект-то создается. валится при выполнении метода Logon
#3 by бомболюк
а при выполнении метода вывод каких нить форм предусмотрен?
#4 by 111222333444
нет
#5 by бомболюк
а точно после вызова
#6 by бомболюк
#7 by 111222333444
да. как ком-объект
#8 by бомболюк
может можно до Logon еще какой нить метод вызвать или свойство, чисто для проверки? Если будет работать - тогда скорее всего дело в кишках КОМ объекта, я так понимаю, на которые повлиять нельзя.
#9 by 111222333444
Axapta.Refresh; отрабатывает без ошибок
#10 by Галахад
Может, ну его, фоновое? Стартовать клиента из планировщика и не париться.
#11 by 111222333444
вариант, но чесгря не очень нравится. да и дело принципа уже забороть эту тему
#12 by 111222333444
а вот Axapta.Session не вызывается. говорит метод объекта не обнаружен
#13 by бомболюк
ну значит КОМ объект создается, откликается, а проблемы связаны с реализацией отдельных его методов. Если конечно есть время, желание и навыки владения каким нить нормальным языком, поддерживающим разработку КОМ объектов, можно изучить проблему более детально, только зачем? Присоединяюсь к .
#14 by alexhtn
Проблема может быть в правах доступа к ком объектам. Для проверки можно сделать запуск службы 1С от имени администратора
#15 by 111222333444
пользователь, под которым запущена служба имеет админские права
#16 by 111222333444
апну разок
#17 by 111222333444
и еще ап
#18 by Serginio1
У тебя сервер 1C 64 разрядный?
#19 by acsent
попробуй запустить службу 1с от своего имени
#20 by Serginio1
Там могут быть варианты когда внутри акзапты лезут куда то
#21 by 111222333444
хз, вроде 32 а как определить наверняка?
#22 by Serginio1
Посмотри в сервисах какой у тебя 1C:Enterprise 8.2 Server Agent
#23 by 111222333444
64 там нигде не мелькает. значит 32-битный. это хорошо или плохо?
#24 by Господин ПЖ
это значит что нет нужды создавать обертку для com
#25 by Serginio1
Это хорошо. Значит скорее всего у тебя проблемы с правами. Смотри 20
#26 by Serginio1
С правами DCOM
#27 by 111222333444
ага, понятно. но всё равно создал. хуже-то не будет? добавил пользователя, под которым запускается служба сервера в группу distributed com users. ничего не поменялось. или это не то?
#28 by Serginio1
Из Подсказали решение на SQL.ru На сервере необходимо было еще установить в локальных политиках право на запуск DCOM для конкретных пользователей. и, о чудо, все заработало :-)
#29 by 111222333444
а чем это отличается от
#30 by Serginio1
Читай ссылки 37 кроме того в вообще ничего не сказано про то что 1С запускает DCOM без пользователя. я внимательно прочитал то что Вы советовали, и в результате добавил пользоваля сервера 1С в группу Пользовтелей DCOM - только это не решило проблемы из-за некорректной работы 1С с DCOM на сервере . К сожалению я не настолько глубоко разбираюсь в администировании win server, что б по термину 'DCOM' понять все возможные проблемы  и где их искать, в противном случае этот вопрос не выносился бы на обсуждение в текущем форуме.
#31 by Serginio1
Там же 31 я подозреваю что проблема все таки остается в том что DCOM запускается с пустым пользователем, но не знаю как можно это поправить Я сделал следующее в настройках DCOM: Администирование-СлужбыКопонентов-Компютеры-МойКомпютер-настройка DCOM-Microsoft Excel application- Свойства-Удостоверение: Указанный пользователь - выбрал администратора сервера и ввел его пароль
#32 by Serginio1
Раз ты сделал обертку для СОM+ то вместо Microsoft Excel application впиши название твоей обертки, что бы она запускалась под юзером с нужными правами
#33 by 111222333444
туда нельзя ничего вписывать, нет такого пункта меню
#34 by 111222333444
чем отличается "добавил пользователя, под которым запускается служба сервера в группу distributed com users" от "На сервере необходимо было еще установить в локальных политиках право на запуск DCOM для конкретных пользователей." ?
#35 by Serginio1
Прошу прощения. Давно правами не занимался.Скорее всего речь идет об правах на запуск конкретного приложения. Если ты описал её как COM+ или она уже есть в Приложения COM+, то у неё есть свойства и безопасность Чтобы установить разрешения на доступ в масштабах компьютера Откройте оснастку «Службы компонентов». В оснастке «Службы компонентов» щелкните правой кнопкой мыши компьютер, для которого хотите изменить разрешения на доступ в масштабах компьютера, а затем щелкните Свойства. Откройте вкладку Безопасность COM. В разделе Права доступа щелкните Изменить ограничения или Изменить умолчания в зависимости от того, требуется ли изменить политику ограничений в масштабах компьютера или только параметры по умолчанию в масштабах компьютера. Откроется диалоговое окно Права доступа. Для удаления учетной записи пользователя или группы выберите пользователя или группу в списке Группы или пользователи и нажмите кнопку Удалить. Выбранная учетная запись или группа больше не будет отображаться в списке. Чтобы добавить нового пользователя или группу, нажмите кнопку Добавить. В диалоговом окне Выбор пользователей, компьютеров или групп введите полное имя добавляемого пользователя или группы. Если имя пользователя или группы не известно, нажмите кнопку Дополнительно, а затем щелкните Начать поиск, чтобы просмотреть список пользователей и групп в выбранном домене. Выберите пользователя или группу и нажмите кнопку ОК. Добавленный пользователь или добавленная группа появится в списке Группы или пользователи. В списке Группы или пользователи выберите группу или пользователя, чье разрешение на доступ в масштабах компьютера хотите изменить. В списке Разрешения установите флажок Разрешить или Запретить, чтобы разрешить или запретить разрешение на локальный доступ и разрешение на удаленный доступ для выбранного имени группы или пользователя. Нажмите кнопку ОК, чтобы вернуться на вкладку Безопасность COM. Нажмите кнопку ОК. Новые разрешения на доступ в масштабах компьютера будут применены при следующем запуске приложения на компьютере. Сделанные настройки не действуют в отношении приложений, выполняющихся в текущий момент, до тех пор, пока они не будут перезапущены. Дополнительная информация Оснастка «Службы компонентов» больше не входит в группу «Администрирование». Чтобы открыть оснастку «Службы компонентов», нажмите кнопку Пуск. В текстовом поле введите команду dcomcnfg и нажмите клавишу ВВОД.
#36 by Serginio1
Посмотри там же настройки DCOM для акзапты
#37 by Serginio1
Там явно проблема с правами, раз локально работает, а под сервисом не хочет.
#38 by 111222333444
это я сделал настроек там же DCOM для аксапты нету =))
#39 by Serginio1
Можешь попробовать засунуть DLL акзапты в Приложение COM+ указать от кого должна запускаться итд. По аналогии
#40 by 111222333444
та же песня
#41 by Serginio1
Пиши в поддержку акзапты. Здесь не проблема 1С.
#42 by Serginio1
#43 by Serginio1
#44 by 111222333444
спасибо за участие!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С