Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как обратиться из одной открытой 1с к другой открытой 1с?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
svlad-90
Есть 2 базы. Альфа-Авто 8.0 и Бухгалтерия 8.1. Между базами налажен экспорт документов через обработку. Решил автоматизировать все до нажатия 1 кнопочки. Наладил сл. образом:

В справочнике поступлений, к примеру, юзер выбирает несколько документов через Ctrl и жмет заветную кнопку. Все. Данные попали в бухгалтерию. Но реализовал я это через фоновое открытие бухгалтерии. А хотелось бы реализовать сл. условие: если бухгалтерия уже открыта, то по нажатии на кнопку "Выгрузка" в Альфа-Авто используется уже открытая версия бухгалтерии. Если бухгалтерия закрыта, то тогда и только тогда она открывается фоново для подгрузки информации.

Отсюда вопрос - как обратиться к уже открытой 1с8.1 из 1с8.0?
К чему вопрос? Кнопку юзеры используют часто и после каждого нажатия происходит открытие фоновой бухгалтерии, логин, закрытие фонового приложения. Этот процесс занимает около 8-10 секунд. Хотелось бы прибегать к мере фонового открытия лишь в крайнем случае, если бухгалтерия не открыта, а если есть открытая бухгалтерия - подтягивать её.
Ardi
Фоновый сеанс не закрывать, пусть висит.
svlad-90
Цитата(Ardi @ 13.06.12, 12:37) необходимо зарегистрироваться для просмотра ссылки
Фоновый сеанс не закрывать, пусть висит.


А как при повторном задействовании кнопки обратиться к открытому фоновому сеансу? Как правильно это сделать? Я гуглил, но внятных ответов не сыскал.
Ardi
Код соединения и разьединения в студию.
alex040269
Цитата(svlad-90 @ 13.06.12, 13:03) необходимо зарегистрироваться для просмотра ссылки
А как при повторном задействовании кнопки обратиться к открытому фоновому сеансу? Как правильно это сделать? Я гуглил, но внятных ответов не сыскал.

Если соединение происходит
ТекCOMПодключение = Новый COMОбъект(ОбъектПодключения);
ТекCOMОбъект = ТекCOMПодключение.Connect(СтрокаПодключения);


то переменную ТекCOMОбъект, напрмер, храним где-то в глобальном контексте, и если она определена, то используем без повторного подключения, а подключаться именно к процессу 1С8 нельзя.
svlad-90
Цитата(Ardi @ 13.06.12, 13:11) необходимо зарегистрироваться для просмотра ссылки
Код соединения и разьединения в студию.



//соединение

СтрокаПодключения = "File=""D:\1c_base\buh\Buh\81\Рабочая""; Usr=""Бухгалтер 1""; Pwd=""1""";

БазаБух = новый ComОбъект ("V82.Application");
БазаБух.Connect(СтрокаПодключения);

//......
//разъединение

БазаБух.ЗавершитьРаботуСистемы();

КонецПроцедуры


Цитата(alex040269 @ 13.06.12, 14:17) необходимо зарегистрироваться для просмотра ссылки
то переменную ТекCOMОбъект, напрмер, храним где-то в глобальном контексте, и если она определена, то используем без повторного подключения, а подключаться именно к процессу 1С8 нельзя.


Усек. Сотворю наверное нечто подобное. Спс)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.