1) Регистрируем dll «regsvr32 ПутьГдеОнаЛежитCrystalsPiritFR01K.dll»;
2) Добавляем обработку, и если она не хочет добавляться, конвертируем ее, просто открыв в конфигураторе и со всем согласившись.
3) Если она упорно не видит драйвер (п.1 выполнен), ищем в модуле объекта обработки следующую строку: Драйвер.НомероватьСтроки = НомероватьСтрокиЧека;
Заменяем ее на: Драйвер.НумероватьСтроки = НомероватьСтрокиЧека;
4) Стандартные шаблоны ЧекаККМ печатаются без проблем, но мы решили сделать свой красивый шаблон ЧекаККМ и тут началось…
Печатает только свой заголовок чека и лезут ошибки «Неверный пакет передачи» и «Расхождение ленты регистратора», оказалось (это как я думаю) что при печати строк он их не ставит в очередь, а тупо возвращает то что «Я занят», 1с принимает это за ошибку и печать останавливается, нечего лучше как поставить пауза между печатью строк текста я не нашел, возможно где то в настройках ФР надо поставить где то галку, но где я не знаю, а печать надо было запустить быстро.
В том же модуле объекта обработки ищем функции и изменяем их:
Функция ПечататьСтроку(Объект, Наименование, Количество, Цена,
Скидка, Отдел, НДС) Экспорт
Результат = мНетОшибки;
//Ткачев
Для АА = 1 По 1000 Цикл
А = АА%2;
КонецЦикла;
//***
...
Ищем еще одну функцию и так же изменяем ее:
Функция НапечататьСтроки(Объект, МассивСтрокСлипЧека, ШиринаЧека) Экспорт
Результат = мНетОшибки;
// Печать строки чека
Для Каждого Стр из МассивСтрокСлипЧека Цикл
//Ткачев
Для АА = 1 По 1000 Цикл
А = АА%2;
КонецЦикла;
//***
...
Теперь все печатает, все без ошибок.
Если у кого то были такие проблем было бы интересно выслушать их решение.
А в настройках формы драйвера редактирования не пытались поправить время задержки?
А причем тут время задержки ?
Если подача данных циклом идет, я строку послал на печать, за ней сразу вторую, функция «Объект.Драйвер.НапечататьНеФискСтроку(Объект.ИДУстройства, Стр)» возвращает что принтер занят и соответственно валится в ошибку.
// Печать строки чека
Для Каждого Стр из МассивСтрокСлипЧека Цикл
Если Не Объект.Драйвер.НапечататьНеФискСтроку(Объект.ИДУстройства, Стр) Тогда
Результат = мОшибкаНеизвестно;
Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
Прервать;
КонецЕсли;
КонецЦикла;