#0
by held88
Добрый день! Задача следующая. Есть оборудование подключенное к компьютеру по ком-порту. Есть два сеанса 1С которые должны видеть данные с порта. Чтобы получить данные туда нужно отправить команду. Если речь идет об одном сеансе то без проблем. Но вот как реализовать данную задачу для нескольких пользователей одновременно? На ум пришло два решения. 1. Написать сервер оборудования, к которому будет по TCP подключатся каждый клиент и читать с него данные. (появляется в промежутке стороняя программа, которую писать не хотелось бы). 2. Запустить опрос оборудования в регламентном задании, а ответ ложить в регистр сведений. Но тоже ряд вопросов. Первый: как обработать внешнее событие в регламентном задании. Потому что команды на оборудование посылаются компонентой, она же в случае ответа инициирует внешнее событие, не важно будь то прямое соединение с ком-портом или с сервером оборудования по TCP. Далее не будет ли замедляться сильно работа 1С если запись в данный регистр будет происходить раз в 0.1 секунду? Далее выключении последнего сеанса можно проверить наличие записей и почистить регистр. Как можно решить данную задачу?
#2
by held88
Потому что оборудование подключенное к ком порту может выполнять одновременно два разных действия, но одно и тоже не может. И второй сеанс должен знать не начал ли какую то операцию первый сеанс и если начал когда.
#3
by dezss
ИМХО, только писать в промежуточную таблицу (РС, Документ, что-то еще). Одновременно подключаться к одному ком-порту из разных сеансов нельзя же. Если кто-то уже данные прочитал, то другой их уже не увидит.
#4
by held88
Ну да. Это понятно. Тогда вопрос как обработать ВнешнееСобытие на вызванную процедуру из Регламентного задания? В таком случае можно записать в регистр сведений данные. А документ не подойдет. Они же одновременно его открыть и работать с ним не смогут.
#7
by dezss
а...ты про это... так какая нафиг разница...ты в рег. задании слушаешь порт, если что-то появилось, то читаешь и пишешь куда тебе надо. Что РС, что документ, у него будет какое-то время жизни-актуальности. В любом случае, создавать новые/изменять должен один процесс, а остальные только читать.
#8
by mehfk
Пиши свою внешнюю прогу, которая будет писать в свою БД, а уже из этой БП 1с-ка будет читать.
#10
by Aleksey
Т.е. вопрос только в регламентном задании которое читает данные + варианты решения из соседней темы
#11
by Tateossian
КОМ-порт по своей природе может работать только на одном канале. Это типичный паттерн Медиатор: имеется один "контроллер" и множество взаимодействующих объектов.
#12
by Serg_1960
Принцип чёрного ящика: есть вход и выход, что внутри - неважно. Все сеансы пишут во "вход" (например в регистр сведений), записывая при этом уникальный номер к записи; регламентное задание читает "вход", отрабатывает задачу и пишет на "выход" (в регистр, может быть в тот-же самый), не забывая указывать уникальный номер записи и стирает запись по номеру на "входе"; сеансы, записав во "вход", ожидают появление на "выходе" ответа по уникальному номеру; читают его и стирают запись. Ну вот как-то так, особо не задумываясь.
#15
by Tateossian
Для этого есть база данных. Пиши туда. Это место, где все сеансы обмениваются информацией.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Обмен данными. Как настроить обмен между базами с разными метаданными?
- Универсальный обмен данными данными XML через COM с передачей параметров.
- 1С 8.1 УПП Обмен данными по 1С. ? - Обмен возможен только на одном ПК.
- Обмен между 1С ТиС 7.7 и 1С Комплексная 7.7 с Помощью Менеджера обмена данными
- обмен БУХ - УТ. Обмен ОбменУправлениеТорговлейБухгалтерия
- Обмен данными между ЗУП и УПП через правило обмена не работает
- Типовой обмен данными: Не найден входящий файл обмена данными??
- COM - обмен через Универсальный обмен данными
- Обмен с помощью плана обмена и правил обмена.
- Обмен через Универсальный обмен данными ошибка Бух3.0-Ут 11.2.
- КД 2: правила для "Универсальный обмен данными". И обмена данными, помеченными к выгрузке.
В этой группе 1С
- Печать графики на чеке
- Перенос внешнего отчета из обычного приложения в управляемое
- Расширения и открытие форм
- Как в расширение добавить родителя
- ЕГАИС: "для сырья учитываемому в ЕГАИС должны быть указаны регномера форм 2"
- Где исполняется код в модуле менеджера документа?
- УТ 11.1 Виды запасов в отчете о розничных продажах не заполняются автоматически
- Не появляется разделитель между таблицами управляемое формы, если их разделяет поле
- Розница 2 Распределение по складам (ККМ)
- Помогите с запросом для 1С УТ 11.3
- Отмена регл. задания при условии уже работающего.
- Проблемы с WinSCP в регламентном задании
- УТ 10.3 Выделение заказов цветом
- УФ на сервере не вызывается процедура глобального серверного модуля?
- Как загружать банковские выписки в 1С по расписанию
- ЕГАИС. Ошибка передачи акта списания в ЕГАИС.
- После установки сервера 1с 64
- КД 2.0 ПКС, Табличная часть, Множественный тип в приемнике.
- Атол, новая прошивка
- Списание давальческого сырья (возврат к теме – нет пока решения)