С введением новых ставок НДС 5% и 7% и выходом соответствующих драйверов ККТ АТОЛ (версии 10.10.6.0) и прошивок многие пользователи столкнулись с рядом трудностей при настройке оборудования и его интеграции с программами 1С. В этой статье мы подробно разберем, какие шаги необходимо предпринять для корректного перехода, какие проблемы могут возникнуть и как их можно решить, основываясь на опыте пользователей.
Переход на новые ставки — это комплексная задача, которая требует внимания к трем ключевым компонентам системы. Недостаточно просто обновить что-то одно. Проанализируем весь процесс по шагам.
Для успешного перехода и корректной работы с новыми ставками НДС необходимо выполнить одновременное обновление трех составляющих вашей торгово-учетной системы. Это критически важно, так как все компоненты тесно связаны между собой.
Только после выполнения всех трех пунктов можно приступать к настройкам и тестированию. Далее рассмотрим наиболее частые проблемы и их решения.
Даже после выполнения всех обновлений могут возникнуть ошибки. Чаще всего они связаны с некорректными настройками внутри самой программы 1С. Разберем основные моменты.
Одна из ключевых и неочевидных проблем, с которой столкнулись многие, — это выбор правильного компонента драйвера внутри 1С. После установки драйверов АТОЛ 10.10.6.0 в списке доступных драйверов в 1С появляется несколько похожих вариантов.
Важно: Для корректной работы с новыми ставками НДС для плательщиков на УСН необходимо выбрать драйвер с явным указанием на это. Его название выглядит так:
АТОЛ:ККТ с передачей данных в ОФД 10.x (ФФД 1.2) УСН НДС
Если выбрать стандартный драйвер АТОЛ:ККТ с передачей данных в ОФД 10.x (ФФД 1.2), то касса, скорее всего, будет продолжать пробивать чеки со ставкой "Без НДС", игнорируя настройки в документах 1С. Также стоит отметить, что в комплекте с драйверами 10.10.6.0 может поставляться нестандартная DLL-библиотека для интеграции с 1С. Убедитесь, что система использует именно ее.
Это самая распространенная ситуация. Вы все обновили, в документе ЧекККМ в 1С видите правильную ставку НДС 5% и рассчитанную сумму, но на бумажном чеке и в данных ОФД по каждой позиции указано "НДС не облагается". Выясним возможные причины.
ОборудованиеЧекопечатающиеУстройства.ПредставлениеСтавкиНДС. Также можно проанализировать XML-файл, который передается драйверу. Если в нем для ставки НДС передается значение Vatrate = None, это и есть причина проблемы. В качестве временного решения можно создать расширение конфигурации, которое будет принудительно подставлять корректное значение ставки в XML перед отправкой на ККТ.Еще одна группа проблем связана с работой с маркированным товаром и передачей данных в ОФД после обновления. В случае регулярного сброса параметров кассы можно воспользоваться инструментом для массового исправления настроек ОФД в ККТ АТОЛ.
Симптомы: При сканировании кода маркировки в РМК появляется ошибка "не удалось проверить марку" или "отсутствие адреса ИСМ". Также пользователи замечают, что через 10-15 минут после запуска 1С настройки адреса и порта ОФД в драйвере ККТ "слетают", и чеки перестают уходить. Перезапуск 1С временно решает проблему.
Возможные решения:
Отдельно стоит рассмотреть ситуацию с программами, которые уже не поддерживаются официально, но все еще используются.
Для пользователей УТ 10.3 ситуация сложная, так как конфигурация снята с поддержки. Интеграция с новым оборудованием и драйверами потребует самостоятельных доработок со стороны программиста 1С. Чтобы избежать постоянных затрат на адаптацию устаревшей программы к новым требованиям законодательства, имеет смысл выполнить переход на актуальную версию конфигурации с помощью правил разовой миграции данных из УТ 10.3 в УТ 11.
Для пользователей 1С 7.7 проблема стоит еще острее. После обновления прошивки ККТ до версии, требующей драйвер 10.x, касса полностью перестает работать из стандартной конфигурации 1С 7.7 ("нет связи, чек не пробит"). Для решения подобных аппаратных и системных проблем в долгосрочной перспективе целесообразно перевести учет на современные платформы, подобрав подходящий инструмент в разделе с решениями по переходу с 1С 7.7.
Решение: Единственный рабочий вариант — это переход на прямое управление ККТ через COM-объект. Это означает, что нужно доработать конфигурацию так, чтобы 1С не использовала стандартные обработки обслуживания, а напрямую обращалась к драйверу через программный код.
Посмотрим на пример такого кода (синтаксис для 1С 8.х, но логика применима и для 7.7). Этот код показывает, как создать объект драйвера, открыть чек, добавить товар, указать тип оплаты и закрыть чек.
&НаКлиенте
Функция ЧекККТ(Объект) Экспорт
НомерЧека = 0;
FR = Новый COMобъект("AddIn.Fptr10");
FR.setSingleSetting(FR.LIBFPTR_SETTING_PORT, Строка(FR.LIBFPTR_PORT_USB));
FR.applySingleSettings();
FR.open();
FR.setParam(1021, строка(Объект.Кассир));
FR.operatorLogin();
// Открываем чек продажи
FR.setParam(FR.LIBFPTR_PARAM_RECEIPT_TYPE, FR.LIBFPTR_RT_SELL);
FR.openReceipt();
// Добавляем товары в цикле
Для Каждого стрТР Из Объект.Товары Цикл
Товар = строка(стрТР.Номенклатура);
Цена = стрТР.Сумма / стрТР.Количество;
FR.setParam(FR.LIBFPTR_PARAM_COMMODITY_NAME, Товар);
FR.setParam(FR.LIBFPTR_PARAM_PRICE, Цена);
FR.setParam(FR.LIBFPTR_PARAM_QUANTITY, стрТР.Количество);
// Здесь нужно будет передавать правильную ставку НДС вместо LIBFPTR_TAX_NO
FR.setParam(FR.LIBFPTR_PARAM_TAX_TYPE, FR.LIBFPTR_TAX_NO);
FR.setParam(1212, 4); // Пример установки признака предмета расчета
FR.registration();
КонецЦикла;
// Регистрируем оплату
ИтогПоНалу = Объект.СуммаНаличными;
Если ИтогПоНалу > 0 Тогда
FR.setParam(FR.LIBFPTR_PARAM_PAYMENT_SUM, ИтогПоНалу);
FR.setParam(FR.LIBFPTR_PARAM_PAYMENT_TYPE, FR.LIBFPTR_PT_CASH); // Наличные
FR.payment();
КонецЕсли;
// Закрываем чек
FR.closeReceipt();
// Проверяем, что чек закрыт и напечатан
Если FR.checkDocumentClosed() <> 0 Тогда
Сообщить("Нет связи с ККТ или чек не закрыт!");
Иначе
НомерЧека = FR.getParamInt(FR.LIBFPTR_PARAM_RECEIPT_NUMBER);
КонецЕсли;
FR.close();
FR = Неопределено;
Возврат НомерЧека;
КонецФункции
Эта методика требует квалификации программиста, но является единственным способом заставить работать современное оборудование со старыми системами.