При доработке интерфейса кассира в конфигурации «1С:Розница 1.0» разработчики часто сталкиваются с ситуацией, когда форму документа ЧекККМ (а именно форму ФормаРегистрацииПродаж) невозможно открыть в режиме «1С:Предприятие». При попытке открытия система выдает предупреждение об отсутствии фискального регистратора или сразу закрывает окно.
Выясним причину такого поведения и разберем по шагам все способы открытия и отладки формы как со штатной настройкой эмулятора торгового оборудования, так и программными методами.
Проанализируем ситуацию: в типовых решениях форма регистрации продаж РМК (рабочего места кассира) жестко привязана к торговому оборудованию. При инициализации формы выполняются следующие проверки:
Если хотя бы одно из условий не выполнено, форма прерывает свое открытие. Рассмотрим способы решения этой задачи для разработчика.
Это наиболее правильный и надежный вариант, позволяющий полноценно тестировать функционал пробития чеков, закрытия смены и работу с торговым оборудованием без реальной кассы.
1С: Эмулятор фискального регистратора. Выполним тест устройства для подтверждения работоспособности.Пользователи (или регистр Настройки пользователей) и укажем для текущей учетной записи значения по умолчанию:
МенюРМК). Программа предложит открыть кассовую смену, после чего автоматически откроет рабочую форму ФормаРегистрацииПродаж.Если требуется открыть форму из внешней обработки для быстрой проверки логики и реквизитов, создадим новый документ ЧекККМ программно, заполним ключевые реквизиты и откроем нужную форму.
Посмотрим на пример программного открытия:
ДокЧек = Документы.ЧекККМ.СоздатьДокумент();
ДокЧек.КассаККМ = Справочники.КассыККМ.НайтиПоНаименованию("Основная касса");
ДокЧек.Организация = ДокЧек.КассаККМ.Владелец;
ДокЧек.Склад = ДокЧек.КассаККМ.Склад;
Форма = ДокЧек.ПолучитьФорму("ФормаРегистрацииПродаж");
Форма.Открыть();
Обратите внимание: если касса ККМ не привязана к эмулятору, форма все равно может вызвать исключение при попытке обращения к оборудованию в обработчиках событий.
Если вам требуется исключительно визуальная верстка формы или отладка элементов интерфейса без настройки торгового оборудования, разберем быстрый вариант:
ЧекККМ → форма ФормаРегистрацииПродаж.ПередОткрытием и ПриОткрытии.ПолучитьСерверТО() и функции проверки доступности кассы).