Печать на ККТ текстового документа из УТ 10.3

25.05.18

Учетные задачи - Кассовые операции

Показан способ печати нефискальных, произвольного текстового содержания документов на кассах-онлайн на примере 1С:Управление торговлей 10.3.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Печать на ККТ текстового документа из УТ 10.3:
.zip 283,84Kb
39
39 Скачать (1 SM) Купить за 1 850 руб.

Иногда кассиру, оператору требуется напечатать для клиента какой-либо текстовый документ, например, предварительный заказ. Удобно это делать на контрольно-кассовой технике, которая уже установлена на рабочем месте. При работе с фискальными регистраторами (ФР) обычно это не вызывает сложностей. Рассмотрим вариант печати нефискального документа на ККТ для УТ 10.3.

На самом деле в конфигурации УТ 10.3 на уровне общих модулей уже все необходимое есть, остается это правильно собрать и исполнить, но при этом в обработках обслуживания торгового оборудования для ККТ с передачей данных, по крайней мере для Штрих-м и Атол, нет необходимых функций.  Итак, из конфигурации нам понадобиться следующие ключевые процедуры/функции:

  • ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ВыполнитьКоманду - универсальная процедура для подачи команды на ККТ, в частности нам понадобится для печати команда PrintTextDocument;
  • МенеджерОборудованияКлиентСервер.ПараметрыТекстовойСтрокиЧека - для формирования строк для печати на ленте;
  • Остальное можно уже делать по аналогии с печатью чека на ККТ из документ ЧекККМ процедуры модуля документа ПровестиИРаспечататьЧек.

Для единообразия дополним существующую обработку обслуживания ККТ функцией печати текстового документа:

Функция НапечататьТекстовыйДокумент(Объект, ПараметрыЧека, ШиринаСтроки = 32) Экспорт
	
	ПолучитьПараметрыККТ(Объект);
	
	мПараметрыПодключения.Вставить("ПараметрыРегистрации", Объект.ВыходныеПараметры);
	мПараметрыПодключения.Вставить("ШиринаСтроки", ШиринаСтроки);
	
	мВходныеПараметры.Очистить();
	мВходныеПараметры.Добавить(ПараметрыЧека);

	РезультатВыполнения = ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ВыполнитьКоманду("PrintTextDocument",
		мВходныеПараметры, мВыходныеПараметры, Объект.Драйвер, мПараметрыУстройства, мПараметрыПодключения);

	Если Не РезультатВыполнения Тогда
		Результат = мОшибкаНеизвестно;
		Объект.ОписаниеОшибки = мВыходныеПараметры[1];
	Иначе
		Результат = мНетОшибки;
		Объект.Вставить("ВыходныеПараметры", мВыходныеПараметры);
	КонецЕсли;
	
	Возврат Результат;

КонецФункции

Получаем примерно такой псевдокод для печати из конфигурации с нашей обновленной обработкой обслуживания:

ПозицииЧека = Новый Массив;

Для Каждого СтрокаДляПечати Из СтрокиКПечати Цикл

    // Формируем строку для печати в нужной структуре 
    СтрокаЧека = МенеджерОборудованияКлиентСервер.ПараметрыТекстовойСтрокиЧека(СтрокаДляПечати);
    СтрокаЧека.Выравнивание = "Лево"; // Выравнивание на ленте, возможные значения: "Лево", "Право", "Центр"
    ПозицииЧека.Добавить(СтрокаЧека);

КонецЦикла;

ДанныеДляПечати = Новый Массив;
ДанныеДляПечати.Добавить(ПозицииЧека);

// вызываем нашу добавленную функцию в обработку обслуживания
ОбработкаОбслуживания.НапечататьТекстовыйДокумент(ОбъектДрайвера, ДанныеДляПечати, ?(КассаККМ.ШиринаЛенты = 0, 32, КассаККМ.ШиринаЛенты)); // КассаККМ - ссылка на справочник КассыККМ, к которому подключен ККТ, соедржащий реквизит для ручного задания ширины ленты.

 

Тестировалось на Управление торговлей 10.3.47.3. Учитывая, что общие модули - часть БПО, то такой же механизм подойдет для печати и на УТ 11 в части всевдокода и общих модулей. ККТ использовался Штрих-LIGHT-01Ф.

Во вложение доработанная обработка обслуживания для Штрих-м (Атол по аналогии можно сделать) и внешняя печатная форма к документу Заказ покупателя, которая печатает заказ на ККТ.

печать на ККТ обработка обслуживания УТ.

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1, ФФД 1.2). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим и маркировку. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows

6000 руб.

27.02.2017    809224    5139    9740    

2927

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    172171    857    369    

405

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5% и НДС 7%.

5880 руб.

25.05.2015    340368    2040    3112    

1059

Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    113390    103    88    

186

ККМ Розничная торговля Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обмен между 1С:Розница и Frontol 6 при торговле от нескольких организаций, а также ряд других полезных функций. Данный модуль синхронизации незаменим для тех, кто ведёт учет по нескольким организациям в 1С:Розница, а на РМК (рабочем месте кассира) установлен Frontol или планируется его установка. Подходит для 1С:Розница 2.3 / 3.0, 1С:УНФ 3.0

7900 руб.

22.03.2019    86226    557    479    

194
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vix 29 05.05.20 14:44 Сейчас в теме
НА УТ11 просто так не взлетит, ПолучитьСерверТО(), такой процедуры нет уже в УТ11. прошивка драйвера не 1.05?
2. gzharkoj 523 05.05.20 15:17 Сейчас в теме
(1) Вы заголовок прочитайте публикации. В УТ 11 эти процедуры уже включены, точнее там у каждой печатаемой строк можно указать фискальная она или нет, в целом там дорабатывать и не надо.
3. independ 1556 05.05.20 15:19 Сейчас в теме
(1)
НА УТ11

Текст="Тест"+Символы.ПС+"Проверка";
МенеджерОборудованияКлиент.НачатьПечатьТекста(,,Текст);
4. gzharkoj 523 05.05.20 16:05 Сейчас в теме
В УТ 11 можете посмотреть код печати последнего слипа (после оплаты по эквайрингу) в документе Чек ККМ форма ФормаДокументаРМК процедура НапечататьПоследнийСлипЧек, там как раз используется код из 3-его ответа.

Можно печатать по сути как чек, но без фискальных строк:

ПараметрыОперацииФискализацииЧека = МенеджерОборудованияКлиентСервер.ПараметрыОперацииФискализацииЧека();
СтрокаЧека = МенеджерОборудованияКлиентСервер.ПараметрыТекстовойСтрокиЧека("Любая строка");
ПараметрыОперацииФискализацииЧека.ПозицииЧека.Добавить(СтрокаЧека);

и т.д.
5. zoeh 31 23.03.21 09:54 Сейчас в теме
Если НЕ Объект.Драйвер.НапечататьТекстовыйДокумент(Объект.ИДУстройства,Текст) Тогда

{(1)}: Значение не является значением объектного типа (НапечататьТекстовыйДокумент)
Новый ("AddIn.ATOL_KKT_1C83_V10.ATOL_KKT_1C83_V10")


не подскажете в чем дело?
6. gzharkoj 523 23.03.21 10:18 Сейчас в теме
(5) Нет такой команды НапечататьТекстовыйДокумент у драйвера атол. Обратите внимание, в публикации и комментариях приведены примеры печати через драйвера интеграции с 1с, который уже пересылает команды драйверам оборудования. Если вы хотите напрямую, то надо открыть документацию к драйверу Атол и посмотреть, какая команда отвечает за печать нефискальных строк.
7. zoeh 31 23.03.21 10:35 Сейчас в теме
(6)
НапечататьТекстовыйДокумент
Прикрепленные файлы:
8. gzharkoj 523 23.03.21 10:55 Сейчас в теме
(7) Это команды для драйвера интеграции 1с, а вот так Объект.Драйвер вы, судя по всему, обращаетесь к драйверу атол. Приведите весь код
9. zoeh 31 24.03.21 09:16 Сейчас в теме
.....
Функция ПодключитьДляОпер(Объект) Экспорт

	Результ = мНетОш;

	Объект.Драйвер = Новый("AddIn.ATOL.ATOL_KKT_1C83_V10");	
	ЗаписатьПараметрывККТ(Объект);
	
.....


Если Подключено<>Неопред Тогда
		
		Результ = ПодключитьДляОпер(Объект);
		Если Результ <> мНетОш Тогда
			Возврат Результ ;
		КонецЕсли;
	КонецЕсли;

	Если НЕ Объект.Драйвер.НапечататьТекстовыйДокумент(Объект.ИДУстройства,Текст) Тогда
		Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
	КонецЕсли;
Показать
10. gzharkoj 523 24.03.21 14:25 Сейчас в теме
11. user1548679 29.06.22 12:16 Сейчас в теме
Добрый спасибо за обработку, хотел спросить а в ней как можно размер шрифта чека поменять, все чеки нормально идут а эти маленькие. Касса Ритейл-01-ф.
12. gzharkoj 523 30.06.22 21:49 Сейчас в теме
(11) Я на сколько знаю, размером шрифта через драйвер 1с не получится управлять, может как вариант в самом драйвере можно произвести настройки.
13. user1548679 01.07.22 04:44 Сейчас в теме
(12) Здравствуйте, написал в ТП штриха, дали ответ, чтобы команды на печать нефискальных чеков шли не первым шрифтом, а вторым или четвертым, на сколько понял в драйвере шрифт для нефискальных чеков не настраивается 1С сама посылает какой шрифт поставить, на слип чеках тоже увидел что они печатаются 1 шрифтом.
Оставьте свое сообщение