Мини-ФП54.01 и 1с7.7

1. request4t 15.06.17 15:23 Сейчас в теме
Привет всем. Непонятка с печатью. Печатаю из обработки, код взял здесь: http://forum.infostart.ru/forum9/topic111279/

Файл 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.удалитьстроки(); 
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. request4t 15.06.17 16:02 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот