Файл t.err содержит строку: 28;4;15.06.2017 15:33:30.453;
При печати чека без товара чек печатается нормально, При печати чека с товаром чек печатается частично (только первые 3 строки) и принтер зависает. Разбудить его возможно только так: выход из 1С, запуск программы UNI-Progress и нажатие кнопки Оплата. Путем исключения выяснил, что проблема в этой строчке:
ФТекст.ДобавитьСтроку("sale_plu;0;0;0;1;"+СокрЛП(Формат(тз2.кво,"Ч10.3"))+";"+Код+";"+СокрЛП(Формат(тз2.ЦенаСНДС,"Ч10.2"))+";");
Непонятка в том, что этот ще кож отлично срабатывает при печати из Расходжной накладной. Там строчка кода такая:
ФТекст.ДобавитьСтроку("sale_plu;0;0;0;"+СокрЛП(Формат(кво,"Ч10.3"))+";"+Код+";"+СокрЛП(Формат(ЦенаСНДС,"Ч10.2"))+";");
Помогитте, спецы. Сталкиваюсь впервые с фискалкой. Спасибо.
ФайлКоманд="D:\in-out\t.txt";
Если ФС.СуществуетФайл(ФайлКоманд)=1 Тогда
ФС.УдалитьФайл(ФайлКоманд); //удаляем старый файл команд
КонецЕсли;
ФТекст = СоздатьОбъект("Текст");
ФТекст.ДобавитьСтроку("open_port;4;115200;");
//ФТекст.ДобавитьСтроку("cashier_registration;1;0;");
ФТекст.ДобавитьСтроку("open_receipt;0");
тз2.ВыбратьСтроки();
Пока тз2.ПолучитьСтроку() >0 Цикл
КодТовара = СокрЛП(Строка(тз2.Тов.Код));
ИмяТовара = СокрЛП(тз2.Тов.Наименование);
ИмяТовара = СтрЗаменить(СокрЛП(ИмяТовара),",",":");
ИмяТовара = КодТовара+" "+ИмяТовара;
ИмяТовара = Формат(СокрЛП(ИмяТовара),"С46");
Если Число(КодТовара)>999999 Тогда //ограничение по количеству кодов доступных в фискальном принтере согласно документации
Код=Число(КодТовара)-999999;
Иначе
Код=КодТовара;
КонецЕсли;
ФТекст.ДобавитьСтроку("add_plu;"+Код+";1;0;0;0;1;1;"+СокрЛП(Формат(тз2.ЦенаСНДС,"Ч10.2"))+";"+КодТовара+";"+ИмяТовара+";"+СокрЛП(Формат(тз2.кво,"Ч10.3"))+";");
КонецЦикла;
//ФТекст.ДобавитьСтроку("open_receipt;0");
тз2.ВыбратьСтроки();
Пока тз2.ПолучитьСтроку()>0 Цикл
КодТовара=СокрЛП(Строка(тз2.Тов.Код));
Если Число(КодТовара)>999999 Тогда //ограничение по количеству кодов доступных в фискальном принтере согласно документации
Код=Число(КодТовара)-999999;
Иначе
Код=КодТовара;
КонецЕсли;
ФТекст.ДобавитьСтроку("sale_plu;0;0;0;1;"+СокрЛП(Формат(тз2.кво,"Ч10.3"))+";"+Код+";"+СокрЛП(Формат(тз2.ЦенаСНДС,"Ч10.2"))+";");
КонецЦикла;
ФТекст.ДобавитьСтроку("pay;0;0");
ФТекст.ДобавитьСтроку("close_port;");
ФТекст.Записать(ФайлКоманд);
ФТекст=0;
Команда="execute_file;D:\in-out\t.txt";
Ответ=Соед.t400me(Команда);
тз2.удалитьстроки();