Розница 2.1.9.20 и Принтер чеков Posiflex PP6800

1. Joker2705 5 20.04.16 13:44 Сейчас в теме
Здравствуйте, на кассе стоит Розница 2.1.9.20, подключил к нему Принтер чеков Posiflex PP6800, все работает, чеки печатает, но вот незадача, он кроме макета Чека ККМ печатает еще одну шапку, типа "ООО МОЯ ОРГАНИЗАЦИЯ", "ДОБРО ПОЖАЛОВАТЬ" и т.д. и подвал, в котором много ненужного. Подскажите, где и как можно настроить, что бы принтер печатал только шаблон.
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
15. spacecraft 20.04.16 14:35 Сейчас в теме
(1) Joker2705, прикольно тут Вам насоветовали.
Смотрите в конфигураторе:
Документы - ЧекККМ - Макеты - ЧекПокупателя
Это макеты (под разный размер ленты), на основании которого и заполняется чек.
17. Joker2705 5 20.04.16 14:43 Сейчас в теме
(15) spacecraft, а есть какая-нибудь связь между тем, что печатается на Эмуляторе ФР и принтере чеков?
19. spacecraft 20.04.16 14:46 Сейчас в теме
(17) Joker2705, используется один и тот же макет. А вот у ФР есть своя память, где и хранится информация о шапке и подвале. И совсем другие команды выполняются для печати. И даже принцип совсем другой.
20. Joker2705 5 20.04.16 14:52 Сейчас в теме
(19) spacecraft, По поводу обычного ФР я знаю, что там настраивается все по другому. Я просто сейчас экспериментирую с Эмулятором ФР, что бы не подключать на левую базу Принтер чеков. Так можно, ил необходимо подключать сам принтер чеков и экспериментировать с ним?
25. spacecraft 20.04.16 15:10 Сейчас в теме
(20) Joker2705, можно и не подключать принтер чеков. Будет так же (или похоже. в размерах шрифтов может быть разница).
Смотрите процедуру ПробитьЧекВыполнить
вот кусок кода:
...
Если ИдентификаторУстройстваФР <> Неопределено Тогда
...
ОбщиеПараметры = Новый Массив();
		ОбщиеПараметры.Добавить(ТипЧека);               // 1 - Тип чека (0-продажа, 1-возврат)
		ОбщиеПараметры.Добавить(Истина);                // 2 - Признак фискального чека
		ОбщиеПараметры.Добавить(Неопределено);          // 3 - Печать копии чека
		ОбщиеПараметры.Добавить(Объект.СуммаДокумента); // 4 - Сумма по чеку без скидок/наценок
		ОбщиеПараметры.Добавить(Объект.СуммаДокумента); // 5 - Сумма по чеку с учетом всех скидок/наценок
		ОбщиеПараметры.Добавить("");                    // 6 - Номер дисконтной карты
		ОбщиеПараметры.Добавить(НСтр("ru = 'ДОБРО ПОЖАЛОВАТЬ'"));    // 7 - Текст шапки (Для чека ЕНВД)
		ОбщиеПараметры.Добавить(НСтр("ru = 'СПАСИБО ЗА ПОКУПКУ'"));  // 8 - Текст подвала (Для чека ЕНВД)
		ОбщиеПараметры.Добавить(0);                     // 9 - Номер смены 
		ОбщиеПараметры.Добавить(Объект.Номер);          // 10 - Номер чека (Для чека ЕНВД)
		ОбщиеПараметры.Добавить(Неопределено);          // 11 - Номер кассы (Для чека ЕНВД)
		ОбщиеПараметры.Добавить(Объект.Дата);           // 12 - Дата и время документа 
		ОбщиеПараметры.Добавить(Объект.Продавец);       // 13 - Кассир (Для чека ЕНВД)
		ОбщиеПараметры.Добавить(СведенияООрганизации.НаименованиеПолноеПоУчредительнымДокументам); // 14 - Название организации (Для чека ЕНВД)
		ОбщиеПараметры.Добавить(СведенияООрганизации.ИНН);   // 15 - ИНН организации (Для чека ЕНВД)
		ОбщиеПараметры.Добавить("");                    // 16 - Наименование секции форматирования шапки
		ОбщиеПараметры.Добавить("");                    // 17 - Наименование секции форматирования подвала
Показать
26. aka Любитель XML 20.04.16 15:13 Сейчас в теме
27. spacecraft 20.04.16 15:16 Сейчас в теме
(26) aka Любитель XML, и? что конкретно не устраивает? Как раз в коде показал откуда берется "ДОБРО ПОЖАЛОВАТЬ"
30. Joker2705 5 20.04.16 15:26 Сейчас в теме
(25) spacecraft, я пробовал там удалить надпись "добро пожаловать", никакого результата.
31. spacecraft 20.04.16 15:33 Сейчас в теме
(30) Joker2705, это эмулятор еще где-то настраивает шапку. Сейчас попробовал подключить Posiflex PP-6900. Изменил в приведенном выше коде фразу "Добро пожаловать" и на чеке напечаталась измененная фраза.
35. Joker2705 5 20.04.16 16:11 Сейчас в теме
(31) spacecraft, сейчас пробовал подключить принтер и изменить в коде надпись, ничего не поменялось((
36. spacecraft 20.04.16 16:22 Сейчас в теме
(35) Joker2705, т.е. на принтере напечатался чек "ДОБРО ПОЖАЛОВАТЬ", а в модуле документа ЧекККМ в процедуре ПробитьЧекВыполнить изменили строку?
ОбщиеПараметры.Добавить(НСтр("ru = 'ДОБРО ПОЖАЛОВАТЬ изменено'"));

Как принтер подключили? COM или винпринт?
Я подключаю как СОМ.
37. Joker2705 5 20.04.16 16:40 Сейчас в теме
(36) spacecraft, я как винпринт. А где именно найти эту строку?
38. spacecraft 20.04.16 17:08 Сейчас в теме
(37) Joker2705, ФормаДокумента форма документа ЧекККМ.
&НаКлиенте
Процедура ПробитьЧекВыполнить(ОповещениеПриЗавершении)

В этой процедуре.
39. Joker2705 5 20.04.16 18:20 Сейчас в теме
(38) spacecraft, Извините, Вы меня не правильно поняли, да и я не полную информацию выдал, Пробитие чека происходит в режиме РМК. А Для режима РМК я не могу найти макет чека(( Строки в коде менять пробую, результат есть, шапку почти всю убрал, а вот в Подвале "ИТОГ", "СДАЧА" и др. пока не нашел где убрать(
40. m_o 54 20.04.16 19:12 Сейчас в теме
(39) не нашла, что у Вас в макете чека (администрирования -> Печатные формы, отчеты и обработки -> Шаблоны этикеток, ценников и чеков ККМ ))
33. spacecraft 20.04.16 15:43 Сейчас в теме
(30) Joker2705, а по поводу фискального эмулятора. Настройки по шапке настраиваются в настройках самого ФЭ. Открыть созданный ФЭ в Подключение и настройка оборудования. И там есть кнопка Настройки. Там сразу и увидите.
34. denmax 412 20.04.16 16:01 Сейчас в теме
(1) Joker2705, С принтерами/ФР следующая ситуация - есть три варианта оборудования:
1) Фискальный регистратор (все серьезно, ЭКЛЗ+ФП+регистрация в налоговой и т.п.) - подключается в разделе оборудования "Фискальный регистратор" - щапки, подписи настраиваются из утилиты этого самого регистратора
2) АСПД или как его неправильно называют "принтер чеков" - тот же фискальнык, но без ЭКЛЗ, в налоговой не регистрируется, используется при ЕНВД. Но в нем тоже есть фискальная память, такая же утилита для настройки шапок и подписей, также подключается в разделе фискальных регистраторов
3) Настоящий принтер чеков - это именно принтер, собственной памяти обычно нет. Утилиты настройки обычно не требуются. Виден в системе как обычный принтер. Подключается в разделе "принтеры чеков".
В случае подключения как принтера чеков - печать ведется по шаблону, Шаблон задается в карточке КассыККМ - он выбирается из списка шаблонов, которые можно создать в разделе администрирования -> Печатные формы, отчеты и обработки -> Шаблоны этикеток, ценников и чеков ККМ
Еще один вариант - подключаете устройство "эмулятор ФР", а для печати на принтере используете печать из чека "Товарный чек для принтера документов". В этом случае следует задать в карточке кассы ККМ ширину ленты, а сам макет отредактировать в в разделе администрирования -> Печатные формы, отчеты и обработки -> макеты печатных форм
2. Joker2705 5 20.04.16 13:48 Сейчас в теме
Пробовал подключаться через утилиту управления принтером, утилита пишет что-то вроде "Не могу подключиться, проверьте соединение". Но я думаю что не в принтере беда, а в 1С, такая же шапка и подвал выводятся на экран если подключен Эмулятор ФК. Так же пробовал в конфигураторе, найти и удалить все строчки, которые содержат надпись "ДОБРО ПОЖАЛОВАТЬ", результата никакого, как выводилась так и выводится((
3. alljoke 20.04.16 13:50 Сейчас в теме
"утилита пишет что-то вроде "Не могу подключиться, проверьте соединение"."
Вы перед етм как подключаться к принтеру, закрывали 1С. Там может быть порт был занят.
И потом, шапки и подвалы обычно пишут в драйверах.
4. Joker2705 5 20.04.16 13:55 Сейчас в теме
(3) alljoke, Конечно закрывал 1С.
"И потом, шапки и подвалы обычно пишут в драйверах." тогда почему у эмулятора ФР и у Принтера чеков шапки одинаковые? Я даже не настраивал эту шапку, я настраивал другую в шаблоне чека.
5. aka Любитель XML 20.04.16 14:03 Сейчас в теме
потому что из драйвера тянется, ребутни комп и зайди в драйвер, там убери и будет счастье
6. Joker2705 5 20.04.16 14:10 Сейчас в теме
(5) aka Любитель XML, Из какого драйвера тянется? В какой драйвер заходить?
7. alljoke 20.04.16 14:12 Сейчас в теме
Дравйе5р фискальника. Или принтера, как он там у вас.
9. Joker2705 5 20.04.16 14:18 Сейчас в теме
(7) alljoke, (8) aka Любитель XML, Пробовал перезагружать, пробовал поиграть со скоростью. Ничего не помогает, утилита не может подключиться.
8. aka Любитель XML 20.04.16 14:14 Сейчас в теме
в утилите где пишет что "Не могу подключиться, проверьте соединение". Поиграйся там с настройками скорости порта, хотя должен подцепить сам
10. Joker2705 5 20.04.16 14:20 Сейчас в теме
Интересно, а откуда в новом Принтере чеков информация о организации, Наименование, ИНН? Выводит имя кассира. Все же это не в настройках Принтера чеков и его драйвере, а скорее всего все дело в 1С или драйвере подключаемого оборудования. Отсюда вопрос, где и что копать?
11. aka Любитель XML 20.04.16 14:21 Сейчас в теме
попробуй другую версию утилиты скачать
12. Joker2705 5 20.04.16 14:27 Сейчас в теме
(11) aka Любитель XML, Пробовал!
13. aka Любитель XML 20.04.16 14:31 Сейчас в теме
ну прям чудеса какие-то через цепляется, через утилиту нет?
14. aka Любитель XML 20.04.16 14:31 Сейчас в теме
через 1с цепляется, через утилиту нет?
16. Joker2705 5 20.04.16 14:39 Сейчас в теме
(14) aka Любитель XML, Вот именно. Через 1С печатает, средсвами Windows при подключении принтера тестовая страница печается, а утилита не хочет подключаться))
18. aka Любитель XML 20.04.16 14:44 Сейчас в теме
http://infostart.ru/public/297037/ - попробуй отсюда скачать утилиту и настроить как там описано
21. aka Любитель XML 20.04.16 14:54 Сейчас в теме
в итоге вывод только один - попробовать разные версии утилиты/драйверов чтобы запустить утилиту и там убрать настройки... Если совсем никак не получается - скачать прошивку у производителя и попробовать перешить (возможно в какой то прошивке уже отключено, или после этого получиться утилитой приконнектиться). Если совсем никак не получается - отнести где обслуживается такая техника в вашем городе и попросить настроить (ходил как-то - взяли 300р. у нас в небольшом городе)
23. Joker2705 5 20.04.16 14:57 Сейчас в теме
(21) aka Любитель XML, уже пробовал разные версии всего, результат одинаков. Остается только нести продавцу и просить его настроить. не хотелось бы. Попробую еще 1С поковырять, может что найду))) Щас попробую совет "spacecraft".
22. aka Любитель XML 20.04.16 14:56 Сейчас в теме
помню были тоже проблемы - никак не мог попасть в утилиту - решилось установкой более ранней версии
24. aka Любитель XML 20.04.16 15:01 Сейчас в теме
отпишите чем закончиться, самому интересно
28. comptr 33 20.04.16 15:22 Сейчас в теме
Меня вот что смущает. Как у 1С получается цепляеться к принтеру, а у утилиты тестирования - нет? Этот Posiflex подключается не как "Фискальный регистратор"? Это я на будущее, вдруг столкнусь.
29. Joker2705 5 20.04.16 15:25 Сейчас в теме
(28) borodatii, подключается он как принтер чеков.
32. spacecraft 20.04.16 15:35 Сейчас в теме
(28) borodatii, у него нет памяти. Он ничего не хранит. Единственно, что можно настроить через утилиту, так это кодовую страницу, да и та никак не свящана с 1С. В 1С свои настройки кодовой страницы. Утилита вообще бессмысленна для этого принтера.
41. Joker2705 5 21.04.16 14:42 Сейчас в теме
Все. Настроил)))) Все нужно было настраивать в Коде 1С. Часть настроил в "Обработка РМКУправляемыйРежим Формы-Форма", а остальное в "Общий модуль МенеджерОборудованияКлиентПереопределенный".
42. mtandre 25.04.16 15:31 Сейчас в теме
Joker2705, а уточните пожалуйста что конкретно правили?
43. Joker2705 5 26.04.16 09:26 Сейчас в теме
(42) mtandre, В "Обработка РМКУправляемыйРежим Формы-Форма" заменил несколько значений. Вот полный уже измененный код функции "ВходныеПараметрыДляПробитияЧекаККМ"

&НаСервере
Функция ВходныеПараметрыДляПробитияЧекаККМ(ЧекККМСсылка, ДанныеЕГАИСДостаточны, ТранспортныйМодуль = Неопределено, ТекстПолногоСообщения = "")
	ВходныеПараметры  = Новый Массив;
	
	// Подготовка таблицы товаров
	ТаблицаТоваров = Новый Массив();
	
	// Подготовка соответствие секций для табличной части.
	ТаблицаСоответствияТоваровСекциям = Новый Соответствие();
	ПодключаемоеОборудованиеРТ.ЗаполнитьСоответствиеСекцийДляТабличнойЧастиПоКассеККМ(ЧекККМСсылка.КассаККМ, Объект.Товары, ТаблицаСоответствияТоваровСекциям);
	
	ТаблицаТоваровЧека = ПродажиСервер.ПодготовкаДанныхДляПробитияЧекаККМ(ЧекККМСсылка, ДанныеЕГАИСДостаточны, Объект, Истина, ТекстПолногоСообщения);
	Для Каждого СтрокаТЧ Из ТаблицаТоваровЧека Цикл
		
		СтавкаНДС = ОбработкаТабличнойЧастиТоварыКлиентСерверПовтИсп.ПолучитьСтавкуНДСЧислом(СтрокаТЧ.СтавкаНДС);
		
		Сумма = СтрокаТЧ.Сумма + ?(ЧекККМСсылка.ЦенаВключаетНДС, 0, СтрокаТЧ.СуммаНДС);
		
		СуммаСкидки = СтрокаТЧ.СуммаАвтоматическойСкидки + СтрокаТЧ.СуммаСкидкиОплатыБонусом + СтрокаТЧ.СуммаРучнойСкидки;
		
		Если (Сумма + СуммаСкидки) = 0 Тогда
			ПроцентСкидки = 0;
		Иначе
			ПроцентСкидки = Окр(100 * СуммаСкидки / (Сумма + СуммаСкидки),2,1);
		КонецЕсли;
		
		Если ЧекККМСсылка.ЦенаВключаетНДС ИЛИ СтрокаТЧ.СуммаНДС = 0  Тогда
			Цена = СтрокаТЧ.Цена
		Иначе
			Цена = ОКР(Сумма / СтрокаТЧ.КоличествоУпаковок, 2, 1);
		КонецЕсли;
		
		СтрокаТаблицыТоваров = Новый СписокЗначений();
		
		НаименованиеТовара = Строка(СтрокаТЧ.Номенклатура) 
								+ ?(ЗначениеЗаполнено(СтрокаТЧ.Характеристика), " (" + Строка(СтрокаТЧ.Характеристика) + ")", "");

		НомерСекции = ТаблицаСоответствияТоваровСекциям.Получить(СтрокаТЧ.НомерСтроки);
		
		ПараметрыАлкогольнойПродукции = ИнтеграцияЕГАИСПереопределяемый.ПараметрыАлкогольнойПродукции(СтрокаТЧ);
		
		СтрокаТаблицыТоваров.Добавить(НаименованиеТовара);            //  1 - Наименование
		СтрокаТаблицыТоваров.Добавить(СтрокаТЧ.Штрихкод);             //  2 - Штрихкод
		СтрокаТаблицыТоваров.Добавить("");                            //  3 - Артикул
		СтрокаТаблицыТоваров.Добавить(НомерСекции);                   //  4 - Номер секции
		СтрокаТаблицыТоваров.Добавить(Цена);                          //  5 - Цена за позицию без скидки.
		СтрокаТаблицыТоваров.Добавить(СтрокаТЧ.КоличествоУпаковок);   //  6 - Количество
		СтрокаТаблицыТоваров.Добавить("");                            //  7 - Наименование скидки/наценки.
		СтрокаТаблицыТоваров.Добавить(СуммаСкидки);                   //  8 - Сумма скидки/наценки
		СтрокаТаблицыТоваров.Добавить(ПроцентСкидки);                 //  9 - Процент скидки/наценки.
		СтрокаТаблицыТоваров.Добавить(Сумма);                         // 10 - Сумма позиции со скидкой.
		СтрокаТаблицыТоваров.Добавить(0);                             // 11 - Номер налога (1)
		СтрокаТаблицыТоваров.Добавить(СтрокаТЧ.СуммаНДС);             // 12 - Сумма налога (1)
		СтрокаТаблицыТоваров.Добавить(СтавкаНДС * 100);               // 13 - Процент налога (1)
		СтрокаТаблицыТоваров.Добавить(0);                             // 14 - Номер налога (2)
		СтрокаТаблицыТоваров.Добавить(0);                             // 15 - Сумма налога (2)
		СтрокаТаблицыТоваров.Добавить(0);                             // 16 - Процент налога (2)
		СтрокаТаблицыТоваров.Добавить("");                            // 17 - Наименование секции форматирования товарной строки.
		СтрокаТаблицыТоваров.Добавить(ПараметрыАлкогольнойПродукции); // 18 - Параметры алкогольной продукции
		
		ТаблицаТоваров.Добавить(СтрокаТаблицыТоваров);
	КонецЦикла;
	
	// Подготовка таблицы оплат
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ЧекККМОплата.Сумма,
	|	ЧекККМОплата.ВидОплаты.ТипОплаты КАК ТипОплаты
	|ПОМЕСТИТЬ ТаблицаВЗапросе
	|ИЗ
	|	Документ.ЧекККМ.Оплата КАК ЧекККМОплата
	|ГДЕ
	|	ЧекККМОплата.Ссылка = &ЧекККМСсылка
	|	И НЕ ЧекККМОплата.ВидОплаты = ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ПустаяСсылка)
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	СУММА(ТаблицаВЗапросе.Сумма) КАК Сумма,
	|	ТаблицаВЗапросе.ТипОплаты
	|ИЗ
	|	ТаблицаВЗапросе КАК ТаблицаВЗапросе
	|
	|СГРУППИРОВАТЬ ПО
	|	ТаблицаВЗапросе.ТипОплаты
	|
	|ИМЕЮЩИЕ
	|	СУММА(ТаблицаВЗапросе.Сумма) > 0";
	
	Запрос.УстановитьПараметр("ЧекККМСсылка", ЧекККМСсылка);
	
	Результат = Запрос.Выполнить();
	ТаблицаПоТипамОплат = Результат.Выгрузить();
	
	МассивОплат = Новый Массив();
	
	// Наличные
	СтрокаТаблицы = ТаблицаПоТипамОплат.Найти(Перечисления.ТипыОплатЧекаККМ.Наличные, "ТипОплаты");
	Если НЕ СтрокаТаблицы = Неопределено Тогда
		СтрокаОплаты = Новый СписокЗначений();
		СтрокаОплаты.Добавить(0);
		СтрокаОплаты.Добавить(СтрокаТаблицы.Сумма);
		СтрокаОплаты.Добавить("Наличная оплата");
		СтрокаОплаты.Добавить("");
		МассивОплат.Добавить(СтрокаОплаты);
	КонецЕсли;
	
	// Платежная карта
	СтрокаТаблицы = ТаблицаПоТипамОплат.Найти(Перечисления.ТипыОплатЧекаККМ.ПлатежнаяКарта, "ТипОплаты");
	Если НЕ СтрокаТаблицы = Неопределено Тогда
		СтрокаОплаты = Новый СписокЗначений();
		СтрокаОплаты.Добавить(1);
		СтрокаОплаты.Добавить(СтрокаТаблицы.Сумма);
		СтрокаОплаты.Добавить("Платежная карта");
		СтрокаОплаты.Добавить("");
		МассивОплат.Добавить(СтрокаОплаты);
	КонецЕсли;
	
	// Банковский кредит
	СтрокаТаблицы = ТаблицаПоТипамОплат.Найти(Перечисления.ТипыОплатЧекаККМ.БанковскийКредит, "ТипОплаты");
	Если НЕ СтрокаТаблицы = Неопределено Тогда
		СтрокаОплаты = Новый СписокЗначений();
		СтрокаОплаты.Добавить(2);
		СтрокаОплаты.Добавить(СтрокаТаблицы.Сумма);
		СтрокаОплаты.Добавить("Банковский кредит");
		СтрокаОплаты.Добавить("");
		МассивОплат.Добавить(СтрокаОплаты);
	КонецЕсли;
	
	// Подарочный сертификат
	СтрокаТаблицы = ТаблицаПоТипамОплат.Найти(Перечисления.ТипыОплатЧекаККМ.ПодарочныйСертификат, "ТипОплаты");
	Если НЕ СтрокаТаблицы = Неопределено Тогда
		СтрокаОплаты = Новый СписокЗначений();
		СтрокаОплаты.Добавить(3);
		СтрокаОплаты.Добавить(СтрокаТаблицы.Сумма);
		СтрокаОплаты.Добавить("Подарочный сертификат");
		СтрокаОплаты.Добавить("");
		МассивОплат.Добавить(СтрокаОплаты);
	КонецЕсли;
	
	// Подготовка таблицы общих параметров.
	СведенияООрганизации = ФормированиеПечатныхФормСервер.СведенияОЮрФизЛице(ЧекККМСсылка.Организация, ЧекККМСсылка.Дата);
	ФизЛицоЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЧекККМСсылка.Ответственный, "ФизЛицо");
	
	ТипЧека = ?(ЧекККМСсылка.ВидОперации = Перечисления.ВидыОперацийЧекККМ.Возврат,1,0);
	АдресМагазина = ОбщегоНазначенияРТ.АдресМагазина(ЧекККМСсылка.Магазин);
	
	// Подготовка таблицы общих параметров.
	ОбщиеПараметры = Новый Массив();
	ОбщиеПараметры.Добавить(ТипЧека);                     // 1 - Тип чека (0-продажа, 1-возврат)
	ОбщиеПараметры.Добавить(Истина);                      // 2 - Признак фискального чека
	ОбщиеПараметры.Добавить(Неопределено);                // 3 - Печать копии чека
	ОбщиеПараметры.Добавить(ЧекККМСсылка.СуммаДокумента); // 4 - Сумма по чеку без скидок/наценок
	ОбщиеПараметры.Добавить(ЧекККМСсылка.СуммаДокумента); // 5 - Сумма по чеку с учетом всех скидок/наценок
	ОбщиеПараметры.Добавить("");                          // 6 - Номер дисконтной карты
	//ОбщиеПараметры.Добавить(НСтр("ru = 'ДОБРО ПОЖАЛОВАТЬ'"));    // 7 - Текст шапки (Для чека ЕНВД)
	ОбщиеПараметры.Добавить();    // 7 - Текст шапки (Для чека ЕНВД)    
	//ОбщиеПараметры.Добавить(НСтр("ru = 'СПАСИБО ЗА ПОКУПКУ'"));  // 8 - Текст подвала (Для чека ЕНВД)
	ОбщиеПараметры.Добавить();  // 8 - Текст подвала (Для чека ЕНВД)
	ОбщиеПараметры.Добавить(0);                           // 9 - Номер смены 
	ОбщиеПараметры.Добавить(1);                           // 10 - Номер чека (Для чека ЕНВД)
	ОбщиеПараметры.Добавить(1);                           // 11 - Номер кассы (Для чека ЕНВД)
	//ОбщиеПараметры.Добавить(ЧекККМСсылка.Дата);           // 12 - Дата и время документа 
	ОбщиеПараметры.Добавить();           // 12 - Дата и время документа
	ОбщиеПараметры.Добавить(ФизЛицоЗначения.ФизЛицо);     // 13 - Кассир (Для чека ЕНВД)
	ОбщиеПараметры.Добавить(СведенияООрганизации.НаименованиеПолноеПоУчредительнымДокументам); // 14 - Название организации (Для чека ЕНВД)
	ОбщиеПараметры.Добавить(СведенияООрганизации.ИНН);    // 15 - ИНН организации (Для чека ЕНВД)
	ОбщиеПараметры.Добавить("");                          // 16 - Наименование секции форматирования шапки
	ОбщиеПараметры.Добавить("");                          // 17 - Наименование секции форматирования подвала
	ОбщиеПараметры.Добавить("");                          // 18 - КПП торгового объекта
	ОбщиеПараметры.Добавить(Строка(ЧекККМСсылка.Магазин));// 19 - Наименование магазина
	ОбщиеПараметры.Добавить(АдресМагазина);               // 20 - Адрес магазина
	ОбщиеПараметры.Добавить(ЧекККМСсылка.КассаККМ.СерийныйНомер); // 21 - Заводской номер ККМ
	
	МассивШаблона = Новый Массив();
	МассивШаблона.Добавить(ЧекККМСсылка.КассаККМ);
	МассивШаблона.Добавить(?(ТипЧека = 1, "ШаблонЧекаККМВозврат", "ШаблонЧекаККМ"));
	МассивШаблона.Добавить(ЧекККМСсылка.Ссылка);
	
	ОбщиеПараметры.Добавить(МассивШаблона);           // 22- Массив параметров шаблона чека.
	
	ВходныеПараметры.Добавить(ТаблицаТоваров);
	ВходныеПараметры.Добавить(МассивОплат);
	ВходныеПараметры.Добавить(ОбщиеПараметры);
	
	ТранспортныйМодуль = ИнтеграцияЕГАИСПереопределяемый.ИспользуемыйТранспортныйМодуль(ЧекККМСсылка.Организация, ЧекККМСсылка.Магазин);
	
	Возврат ВходныеПараметры;
	
КонецФункции
Показать


И в "Общий модуль МенеджерОборудованияКлиентПереопределенный", тоже заменил. Вот полный измененный код функции "СформироватьТексНефискальногоЧека"

Функция СформироватьТексНефискальногоЧека(ШиринаСтроки, ОбщиеПараметры, ПозицииЧека, ТаблицаОплат) Экспорт
	
	//Разделитель = МенеджерОборудованияКлиент.ПостроитьПоле("", ШиринаСтроки, "=") + Символы.ПС;
	Разделитель = Символы.ПС; 
	
	РазделительВнут = МенеджерОборудованияКлиент.ПостроитьПоле("", ШиринаСтроки, "-") + Символы.ПС;
	
	// Сформировать шапку чека.
	Текст = Разделитель;
	Если ОбщиеПараметры.Свойство("ОрганизацияНазвание") И НЕ ПустаяСтрока(ОбщиеПараметры.ОрганизацияНазвание) Тогда
		Текст = Текст + МенеджерОборудованияКлиент.ВыстроитьПоля(ОбщиеПараметры.ОрганизацияНазвание, , ШиринаСтроки) + Символы.ПС;
	КонецЕсли;
	
	Если ОбщиеПараметры.Свойство("ТекстШапки") И НЕ ПустаяСтрока(ОбщиеПараметры.ТекстШапки) Тогда
		Текст = Текст + МенеджерОборудованияКлиент.ВыстроитьПоля(ОбщиеПараметры.ТекстШапки, , ШиринаСтроки) + Символы.ПС;
	КонецЕсли;
	
	НомерКассы = ?(ОбщиеПараметры.Свойство("НомерКассы") И НЕ ПустаяСтрока(ОбщиеПараметры.НомерКассы), 
		НСтр("ru='КАССА'") + Символы.НПП + ОбщиеПараметры.НомерКассы, "");
	
	ОрганизацияИНН = ?(ОбщиеПараметры.Свойство("ОрганизацияИНН") И НЕ ПустаяСтрока(ОбщиеПараметры.ОрганизацияИНН), 
		НСтр("ru='ИНН'") + Символы.НПП + ОбщиеПараметры.ОрганизацияИНН, "");
	
	Если Не ПустаяСтрока(НомерКассы) Или НЕ ПустаяСтрока(ОрганизацияИНН) Тогда
		Текст = Текст + МенеджерОборудованияКлиент.ВыстроитьПоля(НомерКассы, ОрганизацияИНН, ШиринаСтроки) + Символы.ПС;
	КонецЕсли;
	
	НомерЧека = ?(ОбщиеПараметры.Свойство("НомерЧека") И НЕ ПустаяСтрока(ОбщиеПараметры.НомерЧека),
		НСтр("ru='ЧЕК №'") + ОбщиеПараметры.НомерЧека, "");
	Если Не ПустаяСтрока(НомерЧека) Тогда
		Текст = Текст + МенеджерОборудованияКлиент.ВыстроитьПоля(ОбщиеПараметры.ТипЧека, НомерЧека, ШиринаСтроки) + Символы.ПС;
	Иначе
		Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(ОбщиеПараметры.ТипЧека, ШиринаСтроки) + Символы.ПС;
	КонецЕсли;
	
	ДатаВремя = ?(ОбщиеПараметры.Свойство("ДатаВремя") И НЕ ПустаяСтрока(ОбщиеПараметры.ДатаВремя), ОбщиеПараметры.ДатаВремя, ТекущаяДата());
	ДатаВремя = Формат(ДатаВремя, "ДФ=""дд.ММ.гггг ЧЧ:мм""");
	Если Не ПустаяСтрока(ДатаВремя) Тогда
		Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(ДатаВремя, ШиринаСтроки, , Ложь) + Символы.ПС;
	КонецЕсли;
	
	//Текст = Текст + РазделительВнут;
	
	ФорматЧисла = "ЧРД=,;ЧЦ=10;ЧДЦ=2;ЧН=0,00;ЧГ=0";
	СуммаЧека = 0;
	
	// Формируем строки чека.
	Если ПозицииЧека <> Неопределено Тогда
		
		Для ИндексМассива = 0 По ПозицииЧека.Количество() - 1 Цикл
			
			ПозицияЧека = ПозицииЧека[ИндексМассива];
			
			Если ПозицияЧека.Свойство("ФискальнаяСтрока") Тогда
				Наименование = ?(ПозицияЧека.Свойство("Наименование"), ПозицияЧека.Наименование, "");
				Количество   = ?(ПозицияЧека.Свойство("Количество")  , ПозицияЧека.Количество  , 1);
				Цена         = ?(ПозицияЧека.Свойство("Цена")        , ПозицияЧека.Цена        , 0);
				Сумма        = ?(ПозицияЧека.Свойство("Сумма")       , ПозицияЧека.Сумма       , 0);
				НомерСекции  = ?(ПозицияЧека.Свойство("НомерСекции") , ПозицияЧека.НомерСекции , 0);
				СтавкаНДС    = ?(ПозицияЧека.Свойство("СтавкаНДС")   , ПозицияЧека.СтавкаНДС   , 0);
				
				ТекстСтроки  = МенеджерОборудованияКлиент.ПостроитьПолеПереносом(Наименование, ШиринаСтроки) + Символы.ПС;
				СтрокаТовара = Формат(Количество, "ЧРД=,;ЧЦ=10;ЧДЦ=3;ЧН=0,000;ЧГ=0") + " х " + Формат(Цена, ФорматЧисла) 
					+ " = " + Формат(Количество * Цена, ФорматЧисла) + Символы.ПС;
				ТекстСтроки = ТекстСтроки + МенеджерОборудованияКлиент.ПостроитьПоле(СтрокаТовара, ШиринаСтроки, , Ложь);
				Если Окр(Количество * Цена, 2) > Сумма Тогда
					ТекстСтроки = ТекстСтроки + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='СКИДКА ='") + Символы.НПП
									+ Формат(Количество * Цена - Сумма, ФорматЧисла) + " ", ШиринаСтроки, , Ложь)  + Символы.ПС;
				ИначеЕсли Окр(Количество * Цена, 2) < Сумма Тогда
					ТекстСтроки = ТекстСтроки + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='НАДБАВКА ='") + Символы.НПП
									+ Формат(Сумма - Количество * Цена, ФорматЧисла) + " ", ШиринаСтроки, , Ложь) + Символы.ПС;
				КонецЕсли;
				Текст = Текст + ТекстСтроки;
				СуммаЧека = СуммаЧека + Сумма;
			ИначеЕсли ПозицияЧека.Свойство("ТекстоваяСтрока") Тогда
				ТекстСтроки = ?(ПозицияЧека.Свойство("Текст"), ПозицияЧека.Текст, "");
				Текст = Текст + ТекстСтроки + Символы.ПС;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	
	// Формируем подвал чека
	Если ТаблицаОплат <> Неопределено Тогда
		СуммаНаличнойОплаты     = 0;
		СуммаБезналичнойОплаты1 = 0;
		СуммаБезналичнойОплаты2 = 0;
		СуммаБезналичнойОплаты3 = 0;
		Для ИндексОплаты = 0 По ТаблицаОплат.Количество() - 1 Цикл
			Если ТаблицаОплат[ИндексОплаты].ТипОплаты = 0 Тогда
				СуммаНаличнойОплаты = СуммаНаличнойОплаты + ТаблицаОплат[ИндексОплаты].Сумма;
			ИначеЕсли ТаблицаОплат[ИндексОплаты].ТипОплаты = 1 Тогда
				СуммаБезналичнойОплаты1 = СуммаБезналичнойОплаты1 + ТаблицаОплат[ИндексОплаты].Сумма;
			ИначеЕсли ТаблицаОплат[ИндексОплаты].ТипОплаты = 2 Тогда
				СуммаБезналичнойОплаты2 = СуммаБезналичнойОплаты2 + ТаблицаОплат[ИндексОплаты].Сумма;
			Иначе
				СуммаБезналичнойОплаты3 = СуммаБезналичнойОплаты3 + ТаблицаОплат[ИндексОплаты].Сумма;

			КонецЕсли;

		КонецЦикла;
		СуммаОплаты = СуммаНаличнойОплаты + СуммаБезналичнойОплаты1 + СуммаБезналичнойОплаты2 + СуммаБезналичнойОплаты3;
	
		//Текст = Текст + РазделительВнут;
		//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='ИТОГ ='"), 16, ,Ложь) + Символы.НПП + Формат(СуммаЧека, ФорматЧисла) + Символы.ПС;
		//Текст = Текст + РазделительВнут;
		Если СуммаНаличнойОплаты > 0 Тогда
			//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='НАЛИЧНЫМИ ='"), 16, ,Ложь) + Символы.НПП + Формат(СуммаНаличнойОплаты, ФорматЧисла) + Символы.ПС;
			Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='НАЛ. ='"), 6, ,Ложь) + Символы.НПП + Формат(СуммаНаличнойОплаты, ФорматЧисла);
		КонецЕсли;
		Если СуммаБезналичнойОплаты1 > 0 Тогда
			//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='ПЛАТ.КАРТОЙ ='"), 16, ,Ложь) + Символы.НПП + Формат(СуммаБезналичнойОплаты1, ФорматЧисла) + Символы.ПС;
			Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru=' П.КАРТОЙ ='"), 11, ,Ложь) + Символы.НПП + Формат(СуммаБезналичнойОплаты1, ФорматЧисла) + Символы.ПС;
		КонецЕсли;
		Если СуммаБезналичнойОплаты2 > 0 Тогда
			//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='КРЕДИТОМ ='"), 16, ,Ложь) + Символы.НПП + Формат(СуммаБезналичнойОплаты2, ФорматЧисла) + Символы.ПС;
			Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru=' КРЕДИТОМ ='"), 11, ,Ложь) + Символы.НПП + Формат(СуммаБезналичнойОплаты2, ФорматЧисла) + Символы.ПС;
		КонецЕсли;
		Если СуммаБезналичнойОплаты3 > 0 Тогда
			//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='СЕРТИФИКАТОМ ='"), 16, ,Ложь) + Символы.НПП + Формат(СуммаБезналичнойОплаты3, ФорматЧисла) + Символы.ПС;
			Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru=' СЕРТИФ. ='"), 10, ,Ложь) + Символы.НПП + Формат(СуммаБезналичнойОплаты3, ФорматЧисла) + Символы.ПС;
		КонецЕсли;          
		
		
		//Текст = Текст + РазделительВнут;
		//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='СДАЧА ='"), 7, ,Ложь) + Символы.НПП + Формат(СуммаОплаты - СуммаЧека, ФорматЧисла) + Символы.ПС;
		//Текст = Текст + РазделительВнут;
				
		Если (СуммаОплаты - СуммаЧека) > 0 Тогда
			Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru=' СДАЧА ='"), 8, ,Ложь) + Символы.НПП + Формат(СуммаОплаты - СуммаЧека, ФорматЧисла);
		КонецЕсли;
				
		ИмяКассира = ?(ОбщиеПараметры.Свойство("ИмяКассира"), ОбщиеПараметры.ИмяКассира, "");
		//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru=' КАССИР:'") + Символы.НПП + ИмяКассира, ШиринаСтроки) + Символы.ПС;  
		Текст = Текст + Символы.ПС + МенеджерОборудованияКлиент.ПостроитьПоле(НСтр("ru='КАССИР:'") + Символы.НПП + ИмяКассира, ШиринаСтроки) + Символы.ПС;
		//Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле("ПОДПИСЬ:", ШиринаСтроки, "_") + Символы.ПС + Символы.ПС;
		Текст = Текст + МенеджерОборудованияКлиент.ПостроитьПоле("ПОДПИСЬ:", ШиринаСтроки, "_");
		
		Если ОбщиеПараметры.Свойство("ТекстПодвала") И НЕ ПустаяСтрока(ОбщиеПараметры.ТекстПодвала) Тогда
			Текст = Текст + МенеджерОборудованияКлиент.ВыстроитьПоля(ОбщиеПараметры.ТекстПодвала, , ШиринаСтроки) + Символы.ПС;

		КонецЕсли;
	
	КонецЕсли;
	
	Текст = Текст + Разделитель;
	
	Возврат Текст;
	
КонецФункции
Показать
44. mtandre 06.05.16 13:36 Сейчас в теме
спасибо. а никто не знает как в шапку логотип добавить? в настройках принтера уже устанавливал логотип, но видимо программа печати обходит предварительно заданные в настройках принтера логотип.
Оставьте свое сообщение

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