При частой синхронизации данных между конфигурациями 1С:Управление торговлей 10.3 и 1С:Розница 1.0 кассиры регулярно сталкиваются с неприятным поведением системы: каждые несколько минут поверх полноэкранного режима рабочего места кассира (РМК) открывается диалоговое окно или шкала прогресса синхронизации. В этот момент интерфейс блокируется, фокус ввода с кассового экрана теряется, а кассир не может сканировать товары или пробивать чеки до окончания обмена.
Проанализируем техническую причину такого поведения и подробно разберем все способы решения проблемы, позволяющие сделать обмен полностью прозрачным для пользователя.
Конфигурация «1С:Розница 1.0» разработана на обычных (неуправляемых) формах. В файловом режиме работы регламентные процедуры и периодические обмены по таймеру запускаются в рамках текущего клиентского сеанса через обработчик ожидания. Поскольку клиентский сеанс на обычных формах работает синхронно в одном потоке, выполнение процедур обмена (ОбменДаннымиXML, сериализация и десериализация данных) перехватывает управление.
При вызове системных процедур визуализации хода выполнения или стандартных диалогов шкала прогресса (прогресс-бар) принудительно отображается на экране. Если кассир работает в полноэкранном окне РМК, появление диалогового окна сворачивает форму кассы либо отбирает фокус, что парализует работу торговой точки.
Самый надежный способ решить проблему без вмешательства в программный код конфигурации — полностью исключить запуск обмена из сеанса кассира и перенести его в отдельный служебный сеанс.
Разберем по шагам, как автоматизировать этот процесс, чтобы исключить человеческий фактор и забывчивость персонала:
РоботОбмена. В его правах настроим выполнение обмена, но отключим автоматический запуск интерфейса РМК при входе в систему./C или использовать ключ запуска внешней обработки /Execute.Если кассовый узел и сервер «Управления торговлей» находятся в единой локальной сети или связаны через стабильный VPN-канал, оптимально перенести инициативу обмена на сторону управляющей базы.
Рассмотрим, как работает эта схема:
V82.COMConnector или V83.COMConnector в зависимости от используемой версии платформы).При таком подходе в работающем сеансе РМК не вызываются визуальные методы отображения хода процесса, благодаря чему кассир продолжает непрерывно регистрировать продажи без задержек и потери фокуса окна.
Если требуется сохранить запуск автообмена из существующего сеанса кассира, можно внести точечные изменения в конфигурацию, отключив визуальные элементы обмена при активном окне РМК.
Разберем доработку по шагам:
Состояние(), отображение модальных окон и диалогов ожидания).При использовании клиент-серверного варианта информационной базы регламентные задания выполняются службой кластера серверов «1С:Предприятия» полностью в фоновом режиме на сервере.
В этом случае сеанс кассира не нагружается обработкой очередей обмена, а визуальные элементы синхронизации принципиально не могут появиться на клиенте, так как серверный процесс не взаимодействует с графической оболочкой операционной системы.