Не получается пробить программно чек возврата на ФР Атол
Чек на возврат товара решили делать в 1С 7.7 своим кодом командами фискального регистратора.
Названия товаров печатаются, а чек не закрывается.
Не можем понять - где ошибка.
Вот модуль:
Названия товаров печатаются, а чек не закрывается.
Не можем понять - где ошибка.
Вот модуль:
Процедура ПробитьЧек()
// Сверяем сумму с таблицей
Если Итог("СуммаДляЧека")<>Сумма Тогда
Предупреждение("Не сходятся суммы таблицы и вводимая сумма");
КонецЕсли;
FR.DeviceEnabled = 1;
FR.Password = "30";
FR.Mode = 1;
// если есть открытый чек, то отменяем его
Если FR.CheckState <> 0 тогда
Если FR.CancelCheck() <> 0 тогда
Возврат;
КонецЕсли;
КонецЕсли;
// входим в режим регистрации
Если FR.SetMode() <> 0 тогда
Возврат;
КонецЕсли;
FR.CheckType = 2;
FR.OpenCheck();
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
FR.Quantity = КоличествоДляЧека;
FR.Price = ЦенаДляЧека;
FR.Department = 1;
FR.Name = СокрЛП(Товар);
Если FR.Return() <> 0 тогда
Возврат;
КонецЕсли;
КонецЦикла;
Если ПустоеЗначение(ЭлАдресПокупателя) = 0 Тогда
FR.AttrNumber = 1008;
FR.AttrValue = СокрЛП(ЭлАдресПокупателя); // передача почты
FR.WriteAttribute();
КонецЕсли;
FR.Summ = Сумма;
FR.Name = "";
FR.TypeClose = 0;
FR.StornoPayment();
Если FR.CloseCheck() <> 0 тогда
Возврат;
КонецЕсли;
ОтветДрайвера();
ЧекПробит = 1;
ДоступностьКнопкиПробитияЧека();
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Внедрение ККМ Онлайн в сторонние конфигурации 1С
- Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, Розница 2.х, УНФ, ERP 2.х, БП 3, БГУ2
- Обработка обслуживания торгового оборудования. 1С: 7.7 ТиС
- Если ККМ Атол + 1С Розница тормозит при печати чеков по сети, или экономим на покупке ККТ и ФР
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
может перед возвратом вызвать функцию "ответдрайвера" или что там отвечает за вывод ошибки? Или на самом чеке ошибку какую-то печатает? Или ошибку нужно телепатически угадать, вопрос в этом?
Если FR.CloseCheck() <> 0 тогда
Возврат;
КонецЕсли;
Возврат;
КонецЕсли;
может перед возвратом вызвать функцию "ответдрайвера" или что там отвечает за вывод ошибки? Или на самом чеке ошибку какую-то печатает? Или ошибку нужно телепатически угадать, вопрос в этом?
На первый взгляд все верно. FR.StornoPayment(); Попробуйте убрать сторнирование. Оно в новых кассах по моему не работает.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот