Подключение касового апарата к 1с производится через обработку SystemGroup_ATLAS_v2. При оплате карточкой чек не пробивается на ФР пишет "ЧЕК АНУЛЬОВАНО".
Вот функция которая закрываэт чек. Параметры проверил, код вида оплаты в тоже.
Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал) Экспорт
Результат = мНетОшибки;
Если Объект.Драйвер.PrinterState = 9 Тогда
Объект.Драйвер.EndNonFiscal();
Если Объект.Драйвер.ResultCode <> 0 Тогда
Объект.ОписаниеОшибки = НСтр("ru='Кассовый аппарат ';uk='Касовий апарат '") + НСтр("ru=' ошибка оплаты ';uk=' помилка оплати '") + ОписаниеОшибки() + ".";
Результат = мОшибкаНеизвестно;
Возврат Результат; КонецЕсли; КонецЕсли;
Если СуммаБезнал <> 0 Тогда
Объект.Драйвер.PrintRecTotal(СуммаБезнал, СуммаБезнал, "1");
Если Объект.Драйвер.ResultCode <> 0 Тогда
Объект.ОписаниеОшибки = НСтр("ru='Кассовый аппарат ';uk='Касовий апарат '") + НСтр("ru=' ошибка оплаты ';uk=' помилка оплати '") + ОписаниеОшибки() + ".";
Результат = мОшибкаНеизвестно;
Возврат Результат; КонецЕсли; КонецЕсли;
Если СуммаНал <> 0 Или (СуммаНал = 0 И СуммаБезнал = 0)Тогда
Объект.Драйвер.PrintRecTotal(СуммаНал, СуммаНал, "0");
Если Объект.Драйвер.ResultCode <> 0 Тогда
Объект.ОписаниеОшибки = НСтр("ru='Кассовый аппарат ';uk='Касовий апарат '") + НСтр("ru=' ошибка оплаты ';uk=' помилка оплати '") + ОписаниеОшибки() + ".";
Результат = мОшибкаНеизвестно;
Возврат Результат; КонецЕсли; КонецЕсли;
Объект.Драйвер.EndFiscalReceipt(True);
Если Объект.Драйвер.ResultCode <> 0 Тогда
Объект.ОписаниеОшибки = НСтр("ru='Кассовый аппарат ';uk='Касовий апарат '") + НСтр("ru=' ошибка оплаты ';uk=' помилка оплати '") + ОписаниеОшибки() + ".";
Результат = мОшибкаНеизвестно;
Возврат Результат; КонецЕсли;
// Закрытие чека
Возврат Результат;
КонецФункции // ЗакрытьЧек()