8.3 ком соединение с 7.7)) #706873


#0 by DmitriyDI
было в 82 так подключался через ком и запускал обработку Все работало, а на 83 не фига, причем в 83 просто так не обратишься к модулю пока не напишешь никто не знает, как это использовать для обращения к модулю обработки через ком из 77 к 83?
#1 by mikecool
не пробовать в упр приложении запустить - не вариант?
#2 by DmitriyDI
нет, а как, поподробнее?
#3 by DmitriyDI
или как вариант. как обратиться к модулю формы обработки через ком, чтобы оттуда уже обратиться к модулю обработки?
#4 by SleepyHead
Если не хочешь возиться с РеквизитФормыВЗначение, весь функционал перенеси в модуль формы, и вызывай серверные процедуры модуля формы. В остальном все также почти, как в обычном приложении.
#5 by DmitriyDI
что-то не могу найти как через ком обратиться к форме обработки, поэтому и делал через модулю формы.
#6 by SleepyHead
Так у тебя из 77 надо базу 8.3 открывать?
#7 by DmitriyDI
да
#8 by SleepyHead
Ужас.. может, лучше наоборот сделать? :)
#9 by DmitriyDI
да 7рочка у нас центральная база в этом механизме 8рок)))
#10 by DmitriyDI
тема еще актуальна, отзовитесь, кто знает, как сделать
#11 by DmitriyDI
up, как через ком обратиться к форме обработки?
#12 by DmitriyDI
пожалуй ап
#13 by PLUT
а конвертация не подходит?
#14 by DmitriyDI
не совсем понимаю?
#15 by PLUT
КД и обмен через правила обмена, в 8-ке можно даже план обмена создать, чтобы регистрировать изменения для обмена
#16 by DmitriyDI
да тут не то, есть база в которое открывается-закрывается период и другие настройки в других базах. других баз много и 7, и 8.1 и 8.2, вот появилась и база 8.3, и возникли вопросы
#17 by DmitriyDI
ошибка Форма = Обработка.ПолучитьФорму("Форма");   1C:Enterprise 8.3.4.428: Интерактивные операции недоступны
#18 by DmitrO
V83.COMConnector - клиент внешнего соединения, интерактивные операции/объекты недоступны; Если необходимо работать с формами, то либо 2-ое либо 3-е.
#19 by DmitriyDI
спасибо Вам добрый человек, убежал пробовать
#20 by DmitrO
Еще. Если запуск происходит в управляемом режиме (а неверняка для 8.3), то через полученный OLE-объект доступно будет только то что "клиентское", ибо вызываем мы все с клиента, только он уже на сервер может прыгнуть.
#21 by DmitrO
Еще. Для того чтобы пользователя не оставалось открытое по OLE приложение, после соединения надо установить свойство Visible в Ложь.
#22 by DmitriyDI
спасибо, а то я делал Оле = 0, но почему-то не срабатывало
#23 by DmitriyDI
Оле=СоздатьОбъект("V83.Application"); он просто открывает 1с , а при Обработка = Оле.Обработки.Обработка1.Создать; пишет значение не представляет агрегатный объект (Обработки)
#24 by DmitrO
Управляемый режим?
#25 by DmitriyDI
да
#26 by DmitrO
#27 by DmitrO
Глобальный контекст (Global context) Обработки (DataProcessors) Использование: Только чтение. Описание: Тип: ОбработкиМенеджер. Используется для доступа к определенным в конфигурации обработкам. Доступность: Сервер, толстый клиент, внешнее соединение.
#28 by DmitriyDI
вот это дела! и как же мне обратиться-то теперь
#29 by DmitriyDI
добавление экспортной процедуры в общий клиентский модуль?
#30 by EvgeniuXP
поднимай веб-сервис...
#31 by DmitrO
Ну как, как.. Тебе же форма нужна была? Форма=Оле.ОткрытьФорму("Обработка.Обработка1.Форма"); Форма.ФункцияМодуляФормыЭкспортная1;
#32 by DmitriyDI
Значение не представляет агрегатный объект (ОткрытьФорму) (
#33 by DmitrO
тогда весь код показывай
#34 by DmitriyDI
Сообщить("Не удалось подключиться к базе " +ref);
#35 by DmitriyDI
Форма=Оле.ОткрытьФорму("Обработка.ПолучениеДатыЗапрета.Форма"); на этом этапе ошибка
#36 by DmitriyDI
если пишу "V83.Application, то просто обработка открывает базу и на этом этапе встает, без ошибки
#37 by DmitriyDI
а нет, опять Значение не представляет агрегатный объект (ОткрытьФорму)
#38 by DmitrO
>>Оле = Оле.Connect(... Тут ошибка. Когда используешь V83C.Application или V83.Application создается объект который непосредственно сам представляет объект автоматизации (IDispatch) глобального контекста (после соединения конечно). Поэтому так надо: А когда используешь V83.ComConnector это соединитель, который функцией Connect ВОЗВРАЩАЕТ соединения (IDispatch объекты глобального контекста) из пула соединений. Поэтому в этом случае так надо:
#39 by DmitriyDI
спасибо Вам большое! все получилось, единственное если пишу          Оле=СоздатьОбъект("V83.Application"); база открывается в видимом режиме, так и должно быть?
#40 by DmitrO
Это свойство надо устанавливать после соединения (что не очевидно) но это так.
#41 by DmitriyDI
а если устанавливаю после, то ругается: Поле агрегатного объекта не обнаружено (Visible)
#42 by DmitrO
ну ёпть.. на 8.2.19.83 точно работало.. Давай точно: - релиз платформы - тип клиента (V83.Application или V83С.Application) проверю, будем писать в спортлото :)
#43 by DmitriyDI
1С:Предприятие 8.3 (8.3.4.428)
#44 by DmitriyDI
+ V83.Application
#45 by DmitriyDI
блин (не знаю, как смотрел раньше), все заработало! спасибо Вам большое!
#46 by DmitrO
ну вот, и на 8.3.4.437 тоже все работает :) хотя написать есть о чем, из СП: Automation сервер (Automation server) Visible (Visible) Использование: Чтение и запись. Описание: Тип: Булево. Показывает/скрывает пользовательский интерфейс 1С:Предприятия. Доступность: Интеграция. Примечание: Истина - пользовательский интерфейс показан; Ложь - скрыт. Начальное значение после вызова метода Connect – Ложь. Откровенная ЛОЖЬ про начальное значение после Connect :)
#47 by DmitriyDI
это точно)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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