Имя: Пароль:
1C
 
Как изменить чек в Рознице?
0 program345
 
22.04.25
14:56
Привет!
Нужно после поля "ИТОГ" вывести "Сумма без скидки"

Конфигурация Розница, Кассовый аппарат Атол 55Ф.

Куда копать?
1 PR
 
22.04.25
15:04
(0) В конфигуратор
2 program345
 
22.04.25
15:31
(1) сам чек печатается в процедуре общего модуля ПодключаемоеОборудованиеДрайверСинхронноКлиент:


Процедура ФискализацияЧека(ОбъектДрайвера, ПараметрыПодключения, ДанныеОперации, РезультатВыполнения);


Результат = ОбъектДрайвера.СформироватьЧек(ПараметрыПодключения.ИДУстройства, ДанныеОперации.Электронно, ДанныеЧекаXML, ДанныеОперации.РезультатОперацииXML);


Тут передается заполненная xml-ка чека.

Как я понимаю, чек печатается из драйвера, без макета?
3 PR
 
22.04.25
15:31
(2) И что ты от нас хочешь?
Чтобы мы за тебя изменили потом XML?
4 program345
 
22.04.25
15:37
(3) xml я могу сам править, на этапе его создания, он имеет вид:


<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
	<Parameters CashierName="Кассир" CashierINN="12312351551" OperationType="1" TaxationSystem="0" SaleAddress="г.Москва, ул. Большая якиманка, 3" SaleLocation="г.Москва, ул. Большая якиманка, 3" CustomerEmail="" CustomerPhone="">
		<AgentData/>
		<VendorData/>
		<CustomerDetail/>
		<OperationalAttribute/>
		<IndustryAttribute/>
	</Parameters>
	<Positions>
		<FiscalString Name="Творожок Бусти Мини" Quantity="1" PriceWithDiscount="1404" AmountWithDiscount="1404" DiscountAmount="156" Department="1" VATRate="none" VATAmount="0" PaymentMethod="4" CalculationSubject="1" MeasureOfQuantity="0">
			<AgentData/>
			<VendorData/>
			<IndustryAttribute/>
		</FiscalString>
	</Positions>
	<Payments Cash="1404" ElectronicPayment="0" PrePayment="0" PostPayment="0" Barter="0"/>
</CheckPackage>



Вопрос как понять какое поле нужно вставить в xml чтобы драйвер атола правильно подставил?
5 АгентБезопасной Нацио
 
22.04.25
15:39
(4)
- И документацию вы тоже за меня читать будете?
- Ага!
©Вовочка в тридевятом царстве
6 PR
 
22.04.25
15:43
(4) Так может в Атол обратиться, а не к нам?
7 Garykom
 
гуру
22.04.25
16:02
(0) если требуемая "Сумма без скидки" передается через драйвер в ККТ
то копать "шаблоны чека в ККТ Атол"
8 Ёпрст
 
гуру
22.04.25
16:04
(0) можешь напечатать это как нефискальные данные, с любым текстом.
9 arsik
 
гуру
22.04.25
16:05
(6) Атол то тут при чем. Xml 1с же генерирует.
(4) Вот тут ищи свои параметры.
https://its.1c.ru/db/metod8dev#content:4829:hdoc:chapter270
10 Волшебник
 
22.04.25
16:19
(8)(9)+ https://its.1c.ru/db/metod8dev#content:4829:hdoc:checkpackage
Positions / TextString / Text - Строка с произвольным текстом
11 arsik
 
гуру
22.04.25
16:26
(10) Positions - это табличная часть, ему же итог нужен.
Как вариант в последней строке Positions воткнуть свой текст, ну или просто нефискальные данные вывести в конце через documentpackage
https://its.1c.ru/db/metod8dev#content:4829:hdoc:documentpackage.

https://forum.infostart.ru/forum81/topic259721/
12 program345
 
25.04.25
13:19
(9)(10)(11) спасибо! Получилось. А можно как нибудь изменить название поля "СКИДКА" которое передается как параметр DiscountAmount на "В Т.Ч. СКИДКА"?
13 Волшебник
 
25.04.25
13:23
(12) Она не "в том числе", она как раз "сверху"
14 program345
 
25.04.25
13:38
(13) согласен, тогда на "СКИДКА ПО ПОЗИЦИИ"
15 Волшебник
 
25.04.25
13:41
(14) Это и так очевидно, потому что она в группе Positions, т.е. на каждую позицию в чеке будет отдельная строка "Скидка".
16 arsik
 
гуру
25.04.25
13:45
(14) Наверно только шаблон в самом ККМ менять
17 program345
 
13.05.25
15:30
(8) а где переключатель команды на нефискальные данные? Пробовал передать свою нефискальную xml  вида


<?xml version="1.0" encoding="UTF-8"?>
<Document>
	<Positions>
		<TextString Text="ОБЩАЯ СКИДКА                                       =72.20
СУММА БЕЗ СКИДКИ                                   =722.00"/>
	</Positions>
</Document>




вернулась ошибка:

Чек не напечатан на устройстве для печати чеков.
Дополнительное описание: Не найден тег "CheckPackage"


Как я понимаю есть переключатель команды печати, сейчас CheckFiscalization а должна быть PrintText. Может кто находил?
18 Ёпрст
 
гуру
13.05.25
16:15
(17) Ё...
ищи
ПолучитьXMLПакетДляФискализацияЧека

там параметром можно передать
ФискальнаяСтрока/ТекстоваяСтрока/ШтрихКод

Тебе нужно второе.
19 Ёпрст
 
гуру
13.05.25
16:19
Или пользовать
СформироватьТекстНефискальногоЧека
20 program345
 
14.05.25
07:22
(18) спасибо за помощь, но я в фискальный чек и так уже передаю строку, после всех позиций по пути

CheckPackage - Positions - TextString - Text (Строка с произвольным текстом) Проблема в том, что она выводится до поля ИТОГ, а заказчику нужно после.

Планирую сделать так: сначала печатается чек фискальный, далее вывожу нужные мне поля в нефискальном чеке.
Программист всегда исправляет последнюю ошибку.