Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 19:59

COMОбъект проблема закрытия соединения

Автор Жунтов Денис, 05 окт 2015, 15:43

0 Пользователей и 1 гость просматривают эту тему.

Жунтов Денис

Добрый день друзья.
Есть:
1с 8.3 (управляемые формы), конфигурация МСиОМ (Магазин строительных и отделочных материалов);
Терминал-весы MASSA-K RC (ТВ)

Задача:
Осуществлять работу между 1с и ТВ через удаленную программу от производителя MASSA-K, под названием "Сервер терминалов", при этом нужно осуществлять прямое подключение к ТВ из 1с в случае непосредственной передачи данных, например при взвешивании на кассе.

Проблема:
Прямое подключение к ТВ производится по средствам драйвера МАССА-К, через "Новый COMОбъект()". На время установки соединения ТВ с 1с, соответственно пропадает соединение ТВ с "Сервером терминалов". Если завершать соединение между ТВ и 1с с помощью метода .CloseConnection() (это метод драйвера ТВ), тогда из данного сеанса 1с вызвать весы с помощью метода .OpenConnection() уже не представляется возможным, так как программа начинает ругаться на внешнюю ошибку по адресу 0x8000ffff, что интерпретируется платформой, как исключительная ситуации. Если не пользоваться методом .CloseConnection(), тогда в данном сеансе 1с ТВ вызывается без проблем сколько угодно раз, но в этом случае "Сервер терминалов" на время сеанса не видит ТВ.

Вопрос:
Что делать? Как быть? Может кто сталкивался с подобным?

P.S.
Обходной путь, по типу: я хитрый Гена, т.е. если завершать сеанс 1с после каждого взвешивания, как вы понимаете не подойдет. По этому жду конструктивных предложений.

vitasw

То оборудование что вы перечислили - достаточно специфично, боюсь кроме как курить мануал и писать производителю - других советов вы не услышите.

Жунтов Денис

Цитата: vitasw от 05 окт 2015, 15:50
То оборудование что вы перечислили - достаточно специфично, боюсь кроме как курить мануал и писать производителю - других советов вы не услышите.
Да я уже обкурился мануалом, обгуглился. И склоняюсь к тому, что проблема в неправильной работе метода CloseConnection(). Но в друг есть кто-то, кто нашел выход)

vitasw

Варианты по принципу "пальцем в небо":
1)В некоторых весах есть встроенная память, типа как в фиск. регистраторе. Тогда попробовать вытащить все продажи за день.
2)Тоже что и п.1, но доставание продаж за день осуществляется ПО поставщика во внешний файл, а в 1С загружать данные из этого файла.

Жунтов Денис

Цитата: vitasw от 05 окт 2015, 16:12
Варианты по принципу "пальцем в небо":
1)В некоторых весах есть встроенная память, типа как в фиск. регистраторе. Тогда попробовать вытащить все продажи за день.
2)Тоже что и п.1, но доставание продаж за день осуществляется ПО поставщика во внешний файл, а в 1С загружать данные из этого файла.
Спасибо. Я понял ваш принцип, но если бы все было так просто. Подобные задачи уже решались мной.
Я забыл упомянуть, что весы подключаются по интерфейсу Ethernet, а это значит, что за день может потребоваться не только их соединение с Сервером Терминалов, но и с другим сеансом 1с с другого клиента.

А вообще "обожаю" такие задачи, где экономим на оборудование, а потом мучаемся с реализацией, но опыт)

Теоретически, можно было вообще все решить в обход программы Сервер Терминалов и делать все через драйвер, но драйвер не позволяет на прямую выгружать, например данные о товаре. Его свойства и методы очень скупы.

vitasw

Скажите, вот вы несколько раз упоминали выражение
Цитата: Жунтов Денис от 05 окт 2015, 16:46программы Сервер Терминалов
Это что такое? Общепринятое понятие этого выражения - это одна из ролей в операционках семейства wbindows server. При этом по контексту непонятно, что вы имеете ввиду - или это действительно какая-то сторонняя программа
Цитата: Жунтов Денис от 05 окт 2015, 15:43удаленную программу от производителя MASSA-K, под названием "Сервер терминалов"
или вы просто не в курсе что это винда?

Жунтов Денис

Цитата: vitasw от 05 окт 2015, 17:12
Скажите, вот вы несколько раз упоминали выражение
Цитата: Жунтов Денис от 05 окт 2015, 16:46программы Сервер Терминалов
Это что такое? Общепринятое понятие этого выражения - это одна из ролей в операционках семейства wbindows server. При этом по контексту непонятно, что вы имеете ввиду - или это действительно какая-то сторонняя программа
Цитата: Жунтов Денис от 05 окт 2015, 15:43удаленную программу от производителя MASSA-K, под названием "Сервер терминалов"
или вы просто не в курсе что это винда?
Это отдельная программа производителя со своей службой и структурой таблиц в SQL. Как не в курсе, обижаете!

vitasw


Жунтов Денис

Цитата: vitasw от 06 окт 2015, 09:38
:trhregerhg: что ж, тогда печаль печальная
ну не все так плохо, поделюсь опытом. Как придумаю решение сей задачи.
Добавлено: 06 окт 2015, 13:14


Вообщем разобрался. Если кто столкнется пишите в ЛС. Так как все это танцы с бубном. В общем могу сказать, что относительно Терминалов МАССА-К сессии связи с терминалом делать открытыми на короткое время.

Теги: COMОбъект com 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск