Реализация X-отчета в 1с 8.2, 8.3

При появлении ККТ Онлайн из большинства 1С убрали возможность снимать промежуточный отчет (X-отчет), оставив возможность только через драйвер ККТ.

Данный код позволяет добавить возможность снимать X-отчет в любой конфигурации с минимальной доработкой, все функции и процедуру типовые используемые при работе ККТ.

///////////////////////////////////////////////////// 
&НаКлиенте Процедура МК_ОтчетБезГашения(Команда)
    ОбработкаОбслуживания = Неопределено;
    ОбъектДрайвера = Неопределено;
    МассивККТ = ПолучитьСерверТО().ПолучитьСписокУстройств(         ПредопределенноеЗначение("Перечисление.ВидыТорговогоОборудования.ККТ"), КассаККМШапка);
    КоличествоККТ = МассивККТ.Количество();    
Если КоличествоККТ = 0 Тогда      
  ТекстСообщения = НСтр("ru='Отсутствуют доступные фискальные устройства'");
        ОбщегоНазначения.СообщитьИнформациюПользователю(ТекстСообщения);
    ИначеЕсли КоличествоККТ = 1 Тогда    
    ККТ = МассивККТ[0];
    Иначе      
  ПредставлениеУстройства = "";
        ВидУстройства = "";    
    СписокККТ = Новый СписокЗначений;
        Для Каждого Устройство Из МассивККТ Цикл
            ПолучитьСерверТО().ПолучитьПредставлениеУстройства(Устройство, ВидУстройства, ПредставлениеУстройства);
            СписокККТ.Добавить(Устройство, ПредставлениеУстройства);
        КонецЦикла;  
        ККТ = СписокККТ.ВыбратьЭлемент("Необходимо выбрать фискальное устройство");  
      Если ККТ <> Неопределено Тогда
            ККТ = ККТ.Значение;
      КонецЕсли;
    КонецЕсли;  
 
  Если ККТ = NULL ИЛИ ККТ = Неопределено Тогда
        Возврат;  
  КонецЕсли;        
  ПолучитьСерверТО().ПолучитьОбъектДрайвера(ККТ, ОбработкаОбслуживания, ОбъектДрайвера);  
    Если ОбработкаОбслуживания = Неопределено Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Ошибка получения обработки обслуживания");  
  Иначе        
        РезультатВыполнения = ОбработкаОбслуживания.XОтчет(ОбъектДрайвера, "", "", "");  
     КонецЕсли;    
КонецПроцедуры

/////////////////////////////////////////////////////