Изменение текста чека на принтере чеков. Розница 2.3

Клиент обратился с проблемой. В шаблонах для принтеров чеков нельзя поменять текст. Чеки выходят объемными и громоздкими.

Есть решение, но там целиком замещается текст печати чека. Мне такой подход не нравится, я использую пост-обработку текста.

Расширяю процедуру СформироватьТекстНефискальногоЧека модуля ОборудованиеЧекопечатающиеУстройстваКлиентСервер:


&Вместо("СформироватьТекстНефискальногоЧека")
Функция тнфч_СформироватьТекстНефискальногоЧека(ОбщиеПараметры, ШиринаСтроки, ФорматФФД, ПолеПодписи)
	// Осипов 2024-05-05 Для долгой службы обрабатывем текст после вывода
	Текст = ПродолжитьВызов(ОбщиеПараметры, ШиринаСтроки, ФорматФФД, ПолеПодписи);
	
	
	Т = Новый ТекстовыйДокумент();
	Т.УстановитьТекст(Текст);
	Стр = 1;                           
	НайденоДоброПожаловать = ложь;
	Пока Стр < Т.КоличествоСтрок() Цикл 
		Строка = Т.ПолучитьСтроку(Стр); Удалить = ложь;
		
		Если Найти (Строка, "ДОБРО ПОЖАЛОВАТЬ") <> 0 Тогда
			НайденоДоброПожаловать = истина;
		ИначеЕсли ЛЕВ (Строка, 7) =  "БЕЗ НДС" 
			ИЛИ ЛЕВ (Строка, 5) =  "ТОВАР" 
			ИЛИ ЛЕВ (Строка, 13) =  "ПОЛНЫЙ РАСЧЕТ" 
			ИЛИ ЛЕВ (Строка, 4) =  "СНО:" 
			ИЛИ ЛЕВ (Строка, 4) =  "СНО:" 
			ИЛИ ЛЕВ (Строка, 7) =  "КАССИР:" 
			ИЛИ ЛЕВ (Строка, 8) =  "ПОДПИСЬ:" 
			ИЛИ Найти (Строка, "СУММА БЕЗ НДС")  <> 0 
			ИЛИ Найти (Строка, "КАССОВЫЙ ЧЕК")  <> 0 
			Тогда
			Удалить = истина;
		КонецЕсли;
		
		//Удаляем все до добро пожаловать
		Если НЕ НайденоДоброПожаловать Тогда
			Удалить = истина;
		КонецЕсли;
		
		Если Удалить Тогда
			Т.УдалитьСтроку(Стр);
		Иначе
			Стр = Стр + 1;
		КонецЕсли;
		
	КонецЦикла;
		
	
	Возврат Т.ПолучитьТекст();  
	
КонецФункции

Исходный текст:

================================================
Общество с ограниченной ответственностью "МОЯ ФИРМА
"
                     Пушкина                     
           Пушкина Добрый Магазин
               ДОБРО ПОЖАЛОВАТЬ!                
                  КАССОВЫЙ ЧЕК                  
ПРИХОД                            ИНН 0000000000
ЧЕК №9                          05.05.2024 20:34
------------------------------------------------

Товар
                             1.000 х 20.00=20.00
БЕЗ НДС                                         
ТОВАР
ПОЛНЫЙ РАСЧЕТ                                   

------------------------------------------------
ИТОГ                                      =20.00
------------------------------------------------
ОПЛАТА
 НАЛИЧНЫМИ                                =20.00
СНО:                                   УСН доход
 СУММА БЕЗ НДС                            =20.00
КАССИР: Админ                                   

ПОДПИСЬ:________________________________________
              СПАСИБО ЗА ПОКУПКУ!               
================================================

Исправленный текст:

               ДОБРО ПОЖАЛОВАТЬ!                
ПРИХОД                            ИНН 0000000000
ЧЕК №10                         05.05.2024 20:41
------------------------------------------------

Товар
                             1.000 х 20.00=20.00

------------------------------------------------
ИТОГ                                      =20.00
------------------------------------------------
ОПЛАТА
 НАЛИЧНЫМИ                                =20.00

              СПАСИБО ЗА ПОКУПКУ!               
================================================

Среда: 2.3.13.30 Объем: 1 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *