gifts2017

Подключение ККМ Пирит ФР01К

Опубликовал Дмитрий Ткачев (Ткачев) в раздел Оборудование - ККМ

Наша организация всегда работала с ФР "Штрих", сейчас она решила перейти на ФР "Пирит ФР01К", хочу рассказать о проблемах с подключением этого ФР к 1с8 (по крайней мере о тех проблемах что возникли у меня), обработка стандартная с 1с ИТС "CrystalsPiritFR01K.epf", драйвер с сайта Кристалл "CrystalsPiritFR01K.dll";

1) Регистрируем dll "regsvr32 ПутьГдеОнаЛежит\CrystalsPiritFR01K.dll";
2) Добавляем обработку, и если она не хочет добавляться, конвертируем ее, просто открыв в конфигураторе и со всем согласившись.
3) Если она упорно не видит драйвер (п.1 выполнен), ищем в модуле объекта обработки следующую строку: Драйвер.НомероватьСтроки = НомероватьСтрокиЧека;
Заменяем ее на: Драйвер.НумероватьСтроки = НомероватьСтрокиЧека;
4) Стандартные шаблоны ЧекаККМ печатаются без проблем, но мы решили сделать свой красивый шаблон ЧекаККМ и тут началось...
Печатает только свой заголовок чека и лезут ошибки "Неверный пакет передачи" и "Расхождение ленты регистратора", оказалось (это как я думаю) что при печати строк он их не ставит в очередь, а тупо возвращает то что "Я занят", 1с принимает это за ошибку и печать останавливается, нечего лучше как поставить пауза между печатью строк текста я не нашел, возможно где то в настройках ФР надо поставить где то галку, но где я не знаю, а печать надо было запустить быстро.
В том же модуле объекта обработки ищем функции и изменяем их:

Функция ПечататьСтроку(Объект, Наименование, Количество, Цена,
	Скидка, Отдел, НДС) Экспорт
	
	Результат = мНетОшибки;
	//Ткачев
	Для АА = 1 По 1000 Цикл
		А = АА%2;
	КонецЦикла;
	//***
	...

Ищем еще одну функцию и так же изменяем ее:

Функция НапечататьСтроки(Объект, МассивСтрокСлипЧека, ШиринаЧека) Экспорт
	
	Результат = мНетОшибки;
	
	// Печать строки чека
	Для Каждого Стр из МассивСтрокСлипЧека Цикл
		//Ткачев
		Для АА = 1 По 1000 Цикл
			А = АА%2;
		КонецЦикла;
		//***
		...

Теперь все печатает, все без ошибок.

Если у кого то были такие проблем было бы интересно выслушать их решение.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. cratos2 (CratosX) 14.10.11 10:13
А в настройках формы драйвера редактирования не пытались поправить время задержки?
2. Дмитрий Ткачев (Ткачев) 14.10.11 14:10
А причем тут время задержки ?
Если подача данных циклом идет, я строку послал на печать, за ней сразу вторую, функция "Объект.Драйвер.НапечататьНеФискСтроку(Объект.ИДУстройства, Стр)" возвращает что принтер занят и соответственно валится в ошибку.
// Печать строки чека
Для Каждого Стр из МассивСтрокСлипЧека Цикл
Если Не Объект.Драйвер.НапечататьНеФискСтроку(Объект.ИДУстройства, Стр) Тогда

Результат = мОшибкаНеизвестно;
Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
Прервать;

КонецЕсли;
КонецЦикла;
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа