Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=29568)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Работа с торговым оборудованием _ Подключение Datecs FP-3530T RT к УТ

Автор: Pashaboston 27.04.16, 11:26

Подключение касового апарата к 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=' помилка оплати '") + ОписаниеОшибки() + ".";
                Результат = мОшибкаНеизвестно;
                Возврат Результат;             КонецЕсли;
        
        
    // Закрытие чека

    Возврат Результат;

КонецФункции // ЗакрытьЧек()

Автор: Kapipenker 04.12.17, 20:36


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 6
 

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua