В розничной торговле и общепите часто возникает задача: при оформлении продажи необходимо не только выдать покупателю фискальный чек, но и отправить заказ на кухню или склад. Рассмотрим ситуацию, когда основным устройством является ККТ, а дополнительным — чековый принтер (например, Xprinter XP-N160II), на котором должны печататься только определенные позиции номенклатуры (блюда, подлежащие приготовлению).
В этой статье мы проанализируем возможности программы 1С:Розница 3.0 (и её архитектурного близнеца 1С:УНФ 3.0), разберем стандартные настройки и предложим техническое решение для автоматизации процесса фильтрации товаров.
Для начала разберем самый простой вариант, который доступен в типовой конфигурации без привлечения программиста. Если ваша задача заключается в том, чтобы просто получить копию всего чека на втором принтере, это можно реализовать через настройки рабочего места кассира (РМК).
Проанализируем шаги для включения этой функции:
Важное ограничение: Как было отмечено в ходе обсуждения, типовой функционал не позволяет «отфильтровать» тело чека. На второй принтер выйдет абсолютно всё, что было в чеке, включая пакеты, сопутствующие товары и услуги, которые повару на кухне не интересны.
Для более тонкой настройки в 1С:Розница 3.0 предусмотрен механизм «Печатных узлов» и «Групп печати». Этот функционал позволяет распределять товары по разным принтерам в зависимости от их категории.
Рассмотрим алгоритм настройки:
1С:Принтер чеков).Однако стоит учитывать, что в классическом РМК при оформлении одной продажи система стремится создать один фискальный документ. Если часть товаров относится к принтеру чеков, а часть к ККТ, система может потребовать разделения оплаты или не выдать фискальный чек на «кухонные» позиции. Поэтому для реализации схемы «полный чек на ККТ + частичный чек на кухню» чаще всего требуется небольшая доработка.
Если стандартного дублирования недостаточно и требуется именно выборка товаров, лучшим решением будет создание расширения. Основная идея заключается в перехвате события успешного пробития чека и последующей отправке задания на принтер чеков.
Разберем логику реализации по шагам:
Шаг 1. Добавление признака фильтрации. В карточку номенклатуры или категорию добавляется дополнительный реквизит типа Булево (например, ПечататьНаКухне).
Шаг 2. Перехват процедуры печати. Необходимо использовать механизм &После для процедуры, отвечающей за завершение пробития чека в РМК. Нам нужно убедиться, что фискальный чек пробит успешно, чтобы не спамить на кухню неоплаченными заказами.
Шаг 3. Формирование и отправка макета. Ниже приведен примерный фрагмент кода, который иллюстрирует логику отбора товаров и отправку на печать:
&После("ПробитьЧекНаККТ")
Процедура Копия_ПробитьЧекНаККТ(ПараметрыЧека, Результат)
Если Результат.Успешно Тогда
// Создаем таблицу товаров для кухни
ТаблицаДляКухни = ПараметрыЧека.Товары.СкопироватьКолонки();
Для Каждого СтрокаТовара Из ПараметрыЧека.Товары Цикл
// Проверяем наш доп. реквизит или категорию
Если СтрокаТовара.Номенклатура.ПечататьНаКухне Тогда
ЗаполнитьЗначенияСвойств(ТаблицаДляКухни.Добавить(), СтрокаТовара);
КонецЕсли;
КонецЦикла;
Если ТаблицаДляКухни.Количество() > 0 Тогда
// Вызываем процедуру печати на нефискальный принтер
// Используем стандартный или кастомный макет
ПечатьЗаказаНаКухню(ТаблицаДляКухни);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Проанализируем ситуацию: использование метода &После гарантирует, что кухонный чек выйдет только после того, как деньги приняты и фискальный регистратор закрыл чек. Это исключает расхождения между кассой и производством.
При использовании WiFi-моделей принтеров (таких как Xprinter XP-N160II) крайне важно правильно настроить сетевое взаимодействие в 1С:
1С:Принтер чеков (NativeApi).В современном ритейле всё чаще отказываются от бумажных чеков на кухню в пользу цифровых решений. Рассмотрим альтернативы, упомянутые в обсуждении:
Заказ покупателя, то позиции автоматически появятся в специализированном интерфейсе «Кухонный монитор».Подводя итог, отметим: если вам достаточно полной копии чека — используйте настройки РМК. Если нужна фильтрация — внедряйте расширение с отбором по категориям номенклатуры. Это наиболее гибкий и надежный путь для автоматизации рабочего места кассира в 1С:Розница 3.0.