Актуально для релиза: 10.3.41.1.
Доработка УТ 10.3 для печати X-отчета для онлайн ККТ (ШТРИХ-М-01-Ф, ШТРИХ-М-02-Ф) + немного доработанная обработка обслуживания ShtrihMkkt.epf для подключения онлайн ККТ к УТ 10.3.
Доработка УТ 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, пришлось немного подправить функцию "Подключить()" в обработке обслуживания.
Я тоже бодался с этой проблемой! в последней версии драйвера все исправлено
дата релиза 3 мая 2017 года версия ШтрихМ 4.13.572 — доступна для скачивания с офсайта shtrih-mюru