Имя: Пароль:
1C
1С v8
Выполнить процедуру на сервере из модуля объекта внешней обработки через COM
0 Franchiser
 
гуру
03.07.17
12:43
Есть идея во внешней обработке в справочнике внешних обработок в Модуле Объекта создать экспортные процедуры и функции и дергать их через COM, не создавая общего модуля с вызовом через COM.
Возможно ли через Com создать/подключить в парной базе внешнюю обработку и обращаться к экспортным процедурам этой обработки?
1 Лефмихалыч
 
03.07.17
12:56
Не телепи мозги. Сразу просто создавай КОМ-соединение на том сервере, где надо, чтобы оно выполнялось.

КомСоединениеГдеТоТам = Новый ComОбъект("v83.application","imya-tvoego-servera");
2 Лефмихалыч
 
03.07.17
12:57
точнее, конечно же, не application, а comconnector

не знаю, чой-та на меня нашло с утра...
3 Franchiser
 
гуру
03.07.17
13:30
(2) это понятно, я хочу использовать внешнюю обработку в справочнике внеш. отчетов и обработок как хранилище экспортных процедур/функций и вызвать их через ком.
Вроде как подключение внешних обработок происходит на сервере, должно взлететь.
Нашел такую процедуру:
ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(Ссылка)
4 Лефмихалыч
 
03.07.17
13:31
(3) у тебя горе от ума, кажись.
Если у тебя база клиент-сервеная, то код модуля будет выполняться на сервер без ни каких ухищрений вот этих вот и не важно, где ты создашь ОСМ-объект
5 Лефмихалыч
 
03.07.17
13:32
если, конечно, приложение управляемое. В бешеном неуправляемом режиме все несколько иначе и гораздо более на клиенте. Но тогда тебя и вот эти палки с веревками в справочнике не спасут - только создание СОМ-обекта на сервере
6 Franchiser
 
гуру
03.07.17
13:35
(4) Мне и не важно где он создается.
мне нужно выполнить что то вроде:

КомСоединениеГдеТоТам = Новый ComОбъект("v83.comconnector");

СсылкаНаОбработку = КомСоединениеГдеТоТам.Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", "ИмпортИзТдАгентскаяСхема");    

Об = КомСоединениеГдеТоТам.ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(СсылкаНаОбработку);

Об.ЭкспортнаяПроцМОдуляВнешОбр("Тест");
7 Лефмихалыч
 
03.07.17
13:36
(6) ну, я не против, делай. Проблема-то в чем?
8 Franchiser
 
гуру
03.07.17
13:37
Да че то заклинило, можно ли на сервере создать внешнюю обработку.
9 Лефмихалыч
 
03.07.17
13:40
(8) если будет сопротивляться, громко и четко скажи в усб-порт: "Лефмихалыч разрешил"
10 Franchiser
 
гуру
03.07.17
13:41
(9) Договорились)
11 MM
 
03.07.17
13:44
(5) А разве comconnector умеет работать в управляемом режиме? Его множество объектов же урезанная версия обычного приложения.
12 Лефмихалыч
 
03.07.17
13:47
(11) а не помню. Конфигурятника под рукой нет. Но, если не умеет, то - (1).
13 Галахад
 
гуру
03.07.17
13:48
Чот не понял. Неужели удобно искать обработку, записывать ее на диск, открывать, и только потом делать чего-то полезное.
14 Cyberhawk
 
03.07.17
13:57
(13) Необязательно записывать на диск - объект внешней обработки можно создавать не из файла, а из ВХ
15 mexanik_96
 
03.07.17
14:15
(11) дак а че не умеет то?
16 Franchiser
 
гуру
03.07.17
14:48
что имеется ввиду "comconnector умеет работать в управляемом режиме"? Из УФ можно создать объект comconnector  который будет работать на сервере. понятно, что с формами работать не будет.
17 Лефмихалыч
 
03.07.17
14:50
(15) (16) MM подозревает, что внешнее соединение выполняется там и только там, где создано. Без этих нудных делений на клиент и сервер.
Программист всегда исправляет последнюю ошибку.