При переходе на онлайн-кассы по требованиям 54-ФЗ пользователи конфигурации 1С:Управление торговлей 10.3 нередко сталкиваются с ситуацией: кассовый аппарат АТОЛ 30Ф успешно подключен, связь установлена, чеки пробиваются, однако при пробитии чека из документа Приходный кассовый ордер (ПКО) в чеке отсутствует список товаров. Вместо перечня оплаченной номенклатуры печатается общая сумма или текстовая строка вида «Принято от... Основание...». Разберем причины такого поведения системы, проанализируем программный код конфигурации и выполним правильную настройку оборудования.
Для того чтобы понять, откуда программа берет данные для печати, обратимся к типовой конфигурации и проанализируем модуль документа Приходный кассовый ордер. В коде обработки печати чека присутствует проверка вида подключенного торгового оборудования:
Если ВидФУ = Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор Тогда
Позиция = Неопределено;
НомерСмены = Неопределено;
ТаблицаПлатежей = Новый ТаблицаЗначений();
ТаблицаПлатежей.Колонки.Добавить("Заголовок");
ТаблицаПлатежей.Колонки.Добавить("Сумма");
ТаблицаПлатежей.Колонки.Добавить("НДС");
Для Каждого Позиция Из РасшифровкаПлатежа Цикл
СтрокаТаблицы = ТаблицаПлатежей.Добавить();
СтрокаТаблицы.Заголовок = "Принято от " + ПринятоОт
+ "
|Основание: " + Основание;
СтрокаТаблицы.Сумма = Позиция.СуммаПлатежа;
СтрокаТаблицы.НДС = УчетНДС.ПолучитьСтавкуНДС(Позиция.СтавкаНДС);
КонецЦикла;
Результат = ПолучитьСерверТО().ПечатьЧекаПКО(ФУ,
ПолучитьСерверТО().ПолучитьПарольКассираККМ(),
НомерЧекаККМ,
НомерСмены,
ТаблицаПлатежей,
СуммаДокумента,
0);
ИначеЕсли ВидФУ = Перечисления.ВидыТорговогоОборудования.ККТ Тогда
// Алгоритм формирования чека онлайн-кассы по требованиям 54-ФЗ
КонецЕсли;
Как видим из приведенного кода, если касса подключена как ФискальныйРегистратор, конфигурация отрабатывает по старым правилам (эпохи ЭКЛЗ). В этом режиме список номенклатуры программно даже не собирается — формируется только таблица платежей со сводным текстовым описанием и итоговыми суммами. Для онлайн-касс в типовые конфигурации был добавлен отдельный вид оборудования — ККТ (в интерфейсе программы отображается как ККТ с передачей данных). Именно в ветке ККТ вызываются механизмы формирования XML-пакета фискализации (в частности, функции МенеджерОборудованияВызовСервера.ТекстЗапросаДанныеЧека и ЗаполнитьТоварныеПозицииВПараметрахЧека), которые извлекают состав номенклатуры из документа-основания.
Выясним, как перевести кассовый аппарат АТОЛ в актуальный режим работы в среде 1С:
АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) или интеграционная компонента 1С).Важное замечание: 1С:Управление торговлей 10.3 работает на платформе «1С:Предприятие 8.3» в режиме обычного приложения, которое является 32-разрядным процессом (x86). Поэтому на рабочей станции должен быть установлен 32-разрядный драйвер торгового оборудования (ДТО АТОЛ 9.х или 10.х), даже если установлена 64-битная операционная система Windows. При несовпадении разрядности программа не увидит драйвер в списке доступных компонентов.
После корректного подключения устройства как ККТ с передачей данных проверим правильность оформления документов в учетной системе. Чтобы типовой алгоритм 1С смог сопоставить платеж с номенклатурными позициями, требуется соблюдение следующих условий:
По заказам или По расчетным документам. Если выбран вариант По договору в целом, учет взаиморасчетов является котловым, программа не сможет однозначно сопоставить платеж строкам отгрузки, и номенклатура в чек не попадет.Приходный кассовый ордер должен быть выбран вид операции Оплата от покупателя. В табличной части Расшифровка платежа в колонке Сделка или Документ расчетов обязательно должна быть указана ссылка на проведенный документ Заказ покупателя или Реализация товаров и услуг.Оплата кредита (погашение задолженности после ранее оформленной отгрузки), детальный состав товаров не передается согласно формату фискальных данных, так как номенклатура уже была зафиксирована в момент передачи товаров.Если специфика учета не позволяет использовать строгую привязку через ПКО, рассмотрим другие типовые и сервисные варианты: