Имя: Пароль:
1C
1С v8
V83.COMConnector или командная строка?
,
0 abuca
 
24.02.17
14:59
Ситуация такова:
Есть "вспомогательная" конфигурация, которая постоянно опрашивает устройство и накапливает в свои справочники и регистры его данные.
Есть другая, "Основная" конфигурация, которой нужны эти данные по запросу пользователя.

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

через V83.COMConnector могу получить накопленные данные, но вряд-ли смогу инициировать периодические опросы устройств.

через командную строку запускается "Вспомогательная" с "ненужными" пользователю настройками и он ее закрывает...

Можно ли запустить вторую конфигурацию из первой "неявно" и как тогда получать из нее данные, желательно не через обмены, а через COM подключение?
1 abuca
 
24.02.17
15:27
Получилось!
Экспортные функции общих модулей доступны и выполняются.
Теперь посмотрим в сторону выполнения фоновых задач на опросы устройств.
Единственно, не понимаю, как поймать отладчиком "вспомогательную" базу.
Открываю "Вспомогательную" в конфигураторе - выполняю COMподключение - в отладчике никого.
2 abuca
 
24.02.17
15:28
(1) это при подключении через V83.COMConnector
3 MM
 
24.02.17
15:34
Описание файла comcntrcfg.xml есть здесь:
http://its.1c.ru/db/v839doc/bookmark/adm/TI000000375
4 abuca
 
24.02.17
16:13
(3)Спасибо.
прежде чем (1) и (2) действовал по v8: отладчик Com-Соединения

Однако, допустил ошибку в модуле внешнего соединения. Подключение в отладке происходило и падало через секунду из-за ошибки. Это заметил уже, когда удалил все из процедуры ПриНачалеРаботыСистемы(). И отладчик выполнил останов на КонецПроцедуры.
Сейчас ищу ошибку.
5 abuca
 
24.02.17
16:15
(3) Кстати, спасибо. Никогда сюда не заглядывал. Здесь очень много вкусного)))
6 abuca
 
24.02.17
19:12
Нет. Не бывает легких решений...
Фоновые задачи не выполняются, а в регламентные их перекладывать только, если ничего не получится.

Выполняю запуск и подключение к базе.

    СтрокаПодключения = "File=" + Файл + "; Usr=" + Пользователь + "; Pwd=" + Пароль + "; SchJobDn=N;";
    Попытка
//        Соединитель = Новый COMObject("V83.COMConnector");
        Соединитель = Новый COMObject("V83.Application");
        мСоединение = Соединитель.Connect(СтрокаПодключения);
    Исключение
        Сообщить("Не удалось подключиться: " + ОписаниеОшибки());    
    КонецПопытки;

Параметр SchJobDn никакого влияния не оказывает.
Есть мысли?
7 Остап Сулейманович
 
24.02.17
19:43
(6) "Есть мысли?". Мысли есть. Все решение - в топку.
Если уж так необходимо замутить все именно на 1С - архитектура должна быть примерно такой :
Слушатель устройства -> внешний источник данных (в разделенном режиме доступа) -> Запрашиватель данных.
Все. Никто никого из под себя не запускает. Никаких регламентов (зависающих не пойми когда и почему). Никаких взаимоблокировок когда нужно опросить устройство...
8 abuca
 
24.02.17
19:58
Внешний источник данных? Предполагал совместить слушатель + внешний источник данных. в 1 конфигурации. Средствами OLE отдавать эти данные.
Вроде все получилось.
Не дает покоя другая мысль.
Хочу чтобы Внешний источник данных+Слушатель запускалось из Запрашивателя данных )))
Оно и запускается, но фоновые опросы не работают при этом...

Последний вариант - переписывать "Внешний источник данных + слушатель" по подобию БСП или БПО и склеивать с Запрашивателем данных, вешая на него фоновые опросы устройств. Чего оччень! не хочется.
9 Остап Сулейманович
 
24.02.17
20:07
(8) "Слушатель запускалось из Запрашивателя ".
А если когда надо слушать, а оно занято?
И если пофиг на постоянное прослушивание - тогда совместить "слушать" с "запрашивать" в одной конфигурации и не морочить balls.
10 abuca
 
24.02.17
20:18
(9) Сделаю так. При старте системы будет стартовать СлушательВнешнийИсточник.
Запрашиватель с него получит данные не Automation а COMconnector - так быстрее.
11 Остап Сулейманович
 
24.02.17
20:19
(10) Получать/писать данные из базы SQL можно без "Automation а COMconnector".
12 abuca
 
24.02.17
20:25
Ну, база не SQL.
Сейчас попробовал так, получается. Даже команды на устройство проходят с Запрашивателя через Слушатель на устройство.
Не хотел, чтобы в явном виде висел Слушатель. Он нужен только для первичной настройки оборудования.
Придется создать пользователей с правами.
13 abuca
 
24.02.17
20:26
(12) *первичной настройки и сбора данных
14 abuca
 
25.02.17
14:17
Тему можно закрыть.