Имя: Пароль:
1C
1С v8
отрез чека фискальным регистратором
0 ms333602412
 
28.04.16
04:54
Всем дорого дня!
Имеем в наличии АТОЛ: FPrint-22K фискальный аппарат, 1С УМЦ 1Бит.
При выводе чека фискальным регистратором при оплате наличными чек удобный образом отрезается, и его в последствии можно оторвать. При оплате эквайрингом отразение не происходит. Подскажите пож-та команду в модуле 1С, которая делает этот самый надрез? или параметр какой то который указывается после вывода на печать чека.
Заранее благодарен!
1 ms333602412
 
28.04.16
04:55
фискальника в наличии нет, контора находится удалённо, необходимо какую то информацию, что б на месте решать вопрос с каким то понимаем, и поиском нужного в коде.
2 1c_progr
 
28.04.16
06:20
Это в настройках эквайринга делается. В сбере для verifone vx820 например необходимо в фале pinpad.ini внести строку Printerend=010D0A
3 ms333602412
 
28.04.16
09:46
(2) Спасибо за ответ!
а каким образом фискальник понимает что сейчас нужно обрезать а сейчас не обрезать? он как то это по виду оплаты понимает?
4 Rokford
 
28.04.16
10:17
В настройках оборудования (эквайрингового терминала) есть параметр "Код символа частичного отреза". По умолчанию у нас устанавливался 22. При этом отрез не работал, а в месте где нужно было отрезать печатались служебные символы (не помню какие). В коде нашел что ожидает увидеть программа чтобы дать команду отреза - 126 (код ~). Помогло.
P.S. verifone vx820 или 810 ( не помню )
5 ms333602412
 
28.04.16
10:38
(4) Подскажи пож-та, скопируй код в котором указывается код 126? я хочу у себя в модуле этот момент найти и проверить
6 Rokford
 
28.04.16
10:41
Код отреза (126) указывается в окне настройки ЭТ (в режиме предприятия). А анализ этого кода отреза надо смотреть в процедурах печати слип-чека .
Сейчас гляну - отпишу где...
7 ms333602412
 
28.04.16
10:45
В режиме предприятия такой настройки не нашёл, может это особенность конфигурации УМЦ. Более того, написал подобный вопрос в тех поддержку 1 бит, и мне там ответили - "Отрез чека не программируется из 1С, более того, оплата налом, безналом или комбинированная с точки зрения взаимодействия 1С с драйвером устройства одинакова.
Отрез должен делаться устройством, когда его драйверу посылается команда  закрытия чека.
"
Вот и не увязочка. Жду от Вас код из вашего модуля
8 Rokford
 
28.04.16
11:08
Освежил в памяти.Описываю точнее, как было дело.
Код отреза в модулях 1С не зашит. Его выдает софт банка. После успешной оплаты в выходных параметрах команды "AuthorizeSales" находится строка слип-чека. Это обычный многострочный текст. Если эта строка не пустая запускается его печать на ФР. В тексте находятся 2 одинаковых слип-чека разделенные служебным символом. Каким будет этот символ - устанавливается в банковском софте. В моем случае это была тильда (~). До настройки в режиме предприятия кода этого символа выходило 2 чека без отреза. Эту тильду было четко видно. По началу я на нее и внимания не обратил. Но проанализировав код модуля печати установил ее в параметры и отрез заработал автоматом, т.к. вызывался метод "ЗакрытьЧек".

В моей конфигурации для Штрих-М это модуль
ВнешнееОборудованиеШтрихМФискальныеРегистраторы.ПечатьТекста


Функция ПечатьТекста(ОбъектДрайвера, Параметры, ПараметрыПодключения,
                       СтрокаТекста, ВыходныеПараметры)

    Результат  = Истина;

    // Открываем чек
    Результат = ОткрытьЧек(ОбъектДрайвера, Параметры, ПараметрыПодключения, Ложь, Ложь, ВыходныеПараметры);

    // Печатаем строки чека
    Если Результат Тогда
        Для НомерСтроки = 1 По СтрЧислоСтрок(СтрокаТекста) Цикл
            ВыделеннаяСтрока = СтрПолучитьСтроку(СтрокаТекста, НомерСтроки);
            Если Найти(ВыделеннаяСтрока, Символ(Параметры.КодСимволаЧастичногоОтреза)) > 0 Тогда
                ТаблицаОплат = Новый Массив();
                Результат = ЗакрытьЧек(ОбъектДрайвера, Параметры, ПараметрыПодключения, ТаблицаОплат, ВыходныеПараметры);
                Результат = ОткрытьЧек(ОбъектДрайвера, Параметры, ПараметрыПодключения, Ложь, Ложь, ВыходныеПараметры);
            Иначе
                Если НЕ НапечататьНефискальнуюСтроку(ОбъектДрайвера, Параметры, ПараметрыПодключения,
                                                     ВыделеннаяСтрока, ВыходныеПараметры) Тогда
                    Прервать;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;

    // Закрываем чек
    Если Результат Тогда
        ТаблицаОплат = Новый Массив();
        Результат = ЗакрытьЧек(ОбъектДрайвера, Параметры, ПараметрыПодключения, ТаблицаОплат, ВыходныеПараметры);
    КонецЕсли;

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

КонецФункции
9 ms333602412
 
28.04.16
11:16
(8) Спасибо большое! буду посмотреть!
10 Rokford
 
28.04.16
11:18
Удачи! :)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.