Единый семинар «1С» для бухгалтеров и руководителей

Небольшая доработка УТ 10.3 для печати X-отчета для онлайн ККТ (ШТРИХ-М-01-Ф, ШТРИХ-М-02-Ф)

Оборудование - ККМ

Актуально для релиза: 10.3.41.1. Доработка УТ 10.3 для печати X-отчета для онлайн ККТ (ШТРИХ-М-01-Ф, ШТРИХ-М-02-Ф) + немного доработанная обработка обслуживания ShtrihMkkt.epf для подключения онлайн ККТ к УТ 10.3.

УТ 10.3 у нас сильно измененная и давно не обновлялась, пришлось перетаскивать изменения для ККТ из нового релиза.

Как выяснилось, печать Х-отчета в программе почему-то не реализована.

Для печати Х-отчета доработал функцию "ВыполнитьКоманду" из общего модуля "ПодключаемоеОборудованиеУниверсальныйДрайверКлиент"

Функция ВыполнитьКоманду(Команда, ВходныеПараметры = Неопределено, ВыходныеПараметры = Неопределено,
                         ОбъектДрайвера, Параметры, ПараметрыПодключения) Экспорт
    
    Результат = Истина;
    
    ВыходныеПараметры = Новый Массив();
    
    // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩИЕ ДЛЯ ВСЕХ ТИПОВ ДРАЙВЕРОВ
    
    // Тестирование устройства
    Если Команда = "ТестУстройства" ИЛИ Команда = "CheckHealth" Тогда
        Результат = ТестУстройства(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    ИначеЕсли Команда = "ВыполнитьДополнительноеДействие" ИЛИ Команда = "DoAdditionalAction" Тогда
        ИмяДействия = ВходныеПараметры[0];
        Результат = ВыполнитьДополнительноеДействие(ОбъектДрайвера, Параметры, ПараметрыПодключения, ИмяДействия, ВыходныеПараметры);
        
    // Получение версии драйвера
    ИначеЕсли Команда = "ПолучитьВерсиюДрайвера" ИЛИ Команда = "GetVersion" Тогда
        Результат = ПолучитьВерсиюДрайвера(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Получение описание драйвера.
    ИначеЕсли Команда = "ПолучитьОписаниеДрайвера" ИЛИ Команда = "GetDescription" Тогда
        Результат = ПолучитьОписаниеДрайвера(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩИЕ ДЛЯ РАБОТЫ С ФИСКАЛЬНЫМИ УСТРОЙСТВАМИ
    
    // Открытие денежного ящика
    ИначеЕсли Команда = "OpenCashDrawer" ИЛИ Команда = "ОткрытьДенежныйЯщик" Тогда
        Результат = ОткрытьДенежныйЯщик(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Получение ширины строки в символах
    ИначеЕсли Команда = "GetLineLength" ИЛИ Команда = "ПолучитьШиринуСтроки" Тогда
        Результат = ПолучитьШиринуСтроки(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Открыть смену
    ИначеЕсли Команда = "OpenShift" ИЛИ Команда = "ОткрытьСмену" Тогда
        Результат = ОткрытьСмену(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Закрыть кассовую смену
    ИначеЕсли Команда = "CloseShift" ИЛИ Команда = "ЗакрытьСмену" Тогда
        Результат = ЗакрытьСмену(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Отчет о текущем состоянии расчетов
    ИначеЕсли Команда = "ReportCurrentStatusOfSettlements" ИЛИ Команда = "ОтчетОТекущемСостоянииРасчетов" Тогда
        Результат = ОтчетОТекущемСостоянииРасчетов(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВходныеПараметры, ВыходныеПараметры);
                                
    // Печать чека внесения/выемки.
    ИначеЕсли Команда = "Encash" ИЛИ Команда = "Инкассация" Тогда
        ТипИнкассации = ВходныеПараметры[0];
        Сумма         = ВходныеПараметры[1];
        Результат = Инкассация(ОбъектДрайвера, Параметры, ПараметрыПодключения, ТипИнкассации, Сумма, ВходныеПараметры, ВыходныеПараметры);
        
    // Фискализация чека.
    ИначеЕсли Команда = "CheckFiscalization" ИЛИ Команда = "ФискализацияЧека" Тогда
        Результат = ФискализацияЧека(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВходныеПараметры, ВыходныеПараметры);
        
    // Печать слип чека
    ИначеЕсли Команда = "PrintText" ИЛИ Команда = "ПечатьТекста"  Тогда
        СтрокаТекста = ВходныеПараметры[0];
        Результат = ПечатьТекста(ОбъектДрайвера, Параметры, ПараметрыПодключения, СтрокаТекста, ВыходныеПараметры);
        
    // Получить текущее состояние
    ИначеЕсли Команда = "GetCurrentStatus" ИЛИ Команда = "ПолучитьТекущееСостояние" Тогда
        Результат = ПолучитьТекущееСостояние(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры);
        
    // Получить параметры ККТ
    ИначеЕсли Команда = "GetDataKKT" ИЛИ Команда = "ПолучитьПараметрыККТ" Тогда
        Результат = ПолучитьПараметрыККТ(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВходныеПараметры, ВыходныеПараметры);
        
    // Отчет о текущем состоянии расчетов
    ИначеЕсли Команда = "OperationFN" ИЛИ Команда = "ОперацияФН" Тогда
        Результат = ОперацияФискальногоНакопителя(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВходныеПараметры, ВходныеПараметры, ВыходныеПараметры);

    //***Начало изменений
    ИначеЕсли Команда = "PrintXReport" ИЛИ Команда = "НапечататьОтчетБезГашения" Тогда
        Результат = ОтчетБезГашения(ОбъектДрайвера, ПараметрыПодключения, ВыходныеПараметры);
    //***Конец изменений
        
    КонецЕсли;
    
    Возврат Результат;

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

Также в этот модуль добавил функцию "ОтчетБезГашения"

Функция ОтчетБезГашения(ОбъектДрайвера, ПараметрыПодключения, ВыходныеПараметры)
	
	Результат = Истина;
	
	Попытка
		Результат = ОбъектДрайвера.НапечататьОтчетБезГашения(ПараметрыПодключения.ИДУстройства);
	Исключение
		Результат = Ложь;
		ВыходныеПараметры.Очистить();
		ВыходныеПараметры.Добавить(999);
		ВыходныеПараметры.Добавить(НСтр("ru='Ошибка вызова метода <ОбъектДрайвера.НапечататьОтчетБезГашения>.'") + Символы.ПС + ОписаниеОшибки());
		Возврат Результат;
	КонецПопытки;
	
	Возврат Результат;		
	
КонецФункции

Для того, чтобы ККТ подключилась к УТ 10.3, пришлось немного подправить функцию "Подключить()" в обработке обслуживания.

Скачать файлы

Наименование Файл Версия Размер
ShtrihMkkt.epf
.epf 279,54Kb
07.04.17
26
.epf 279,54Kb 26 Скачать

См. также

Комментарии
1. Илья Главатских (myromskui) 1 03.05.17 18:25 Сейчас в теме
Я тоже бодался с этой проблемой! в последней версии драйвера все исправлено
дата релиза 3 мая 2017 года версия ШтрихМ 4.13.572 - доступна для скачивания с офсайта shtrih-mюru
Оставьте свое сообщение