Как открыть форму регистрации продаж в 1С:Розница 1.0 для доработки и тестирования

Программист 1С v8.3 (Обычные формы) 1С:Розница Торговля и дистрибуция
← На главную

При доработке интерфейса кассира в конфигурации «1С:Розница 1.0» разработчики часто сталкиваются с ситуацией, когда форму документа ЧекККМ (а именно форму ФормаРегистрацииПродаж) невозможно открыть в режиме «1С:Предприятие». При попытке открытия система выдает предупреждение об отсутствии фискального регистратора или сразу закрывает окно.

Выясним причину такого поведения и разберем по шагам все способы открытия и отладки формы как со штатной настройкой эмулятора торгового оборудования, так и программными методами.

Почему форма не открывается напрямую

Проанализируем ситуацию: в типовых решениях форма регистрации продаж РМК (рабочего места кассира) жестко привязана к торговому оборудованию. При инициализации формы выполняются следующие проверки:

  1. Подключение торгового оборудования: модуль формы опрашивает обработку обслуживания и проверяет наличие активного фискального регистратора (ФР), привязанного к текущему рабочему месту.
  2. Настройки пользователя: проверяется заполнение основных значений по умолчанию для текущего пользователя (организация, касса ККМ, склад).
  3. Состояние кассовой смены: форма требует наличия открытой смены по выбранной кассе ККМ.

Если хотя бы одно из условий не выполнено, форма прерывает свое открытие. Рассмотрим способы решения этой задачи для разработчика.

Способ 1. Настройка типового эмулятора фискального регистратора

Это наиболее правильный и надежный вариант, позволяющий полноценно тестировать функционал пробития чеков, закрытия смены и работу с торговым оборудованием без реальной кассы.

  1. Подключение эмулятора: перейдем в меню «Сервис» → «Торговое оборудование» → «Подключение и настройка торгового оборудования». На вкладке «Фискальные регистраторы» добавим новое устройство и выберем обработку обслуживания 1С: Эмулятор фискального регистратора. Выполним тест устройства для подтверждения работоспособности.
  2. Заполнение реквизитов пользователя: откроем справочник Пользователи (или регистр Настройки пользователей) и укажем для текущей учетной записи значения по умолчанию:
    1. Основная организация;
    2. Основной склад (тип склада — «Розничный» или «Торговый зал»);
    3. Основная касса ККМ (связанная с выбранным складом и организацией).
  3. Запуск рабочего места: откроем пункт меню «Сервис» → «Интерфейс РМК» (или запустим обработку МенюРМК). Программа предложит открыть кассовую смену, после чего автоматически откроет рабочую форму ФормаРегистрацииПродаж.

Способ 2. Программный вызов формы с инициализацией параметров

Если требуется открыть форму из внешней обработки для быстрой проверки логики и реквизитов, создадим новый документ ЧекККМ программно, заполним ключевые реквизиты и откроем нужную форму.

Посмотрим на пример программного открытия:


ДокЧек = Документы.ЧекККМ.СоздатьДокумент();
ДокЧек.КассаККМ = Справочники.КассыККМ.НайтиПоНаименованию("Основная касса");
ДокЧек.Организация = ДокЧек.КассаККМ.Владелец;
ДокЧек.Склад = ДокЧек.КассаККМ.Склад;

Форма = ДокЧек.ПолучитьФорму("ФормаРегистрацииПродаж");
Форма.Открыть();

Обратите внимание: если касса ККМ не привязана к эмулятору, форма все равно может вызвать исключение при попытке обращения к оборудованию в обработчиках событий.

Способ 3. Временное отключение проверок оборудования в коде

Если вам требуется исключительно визуальная верстка формы или отладка элементов интерфейса без настройки торгового оборудования, разберем быстрый вариант:

  1. Откроем конфигуратор и перейдем к документу ЧекККМ → форма ФормаРегистрацииПродаж.
  2. Откроем модуль формы и найдем процедуры ПередОткрытием и ПриОткрытии.
  3. Временно закомментируем вызовы процедур общего модуля работы с торговым оборудованием (вызовы ПолучитьСерверТО() и функции проверки доступности кассы).
  4. После выполнения верстки и правок интерфейса обязательно вернем оригинальный код обратно, чтобы не нарушить типовую логику пробития чеков на реальных рабочих местах.
← На главную