Долго не выходил каменный INPAS

У моего постоянного клиента используется Нетленка на розничных точках. Изначально там использовался автономный эквайринг, но года два назад я подключил туда БПО версии 3.1.1.10 2024 и стало возможно использовать автоматизированных эквайринг.

Но использовался только Сбер. Но захотели использовать на некоторых точках Т-Банк. А он не подключается, зацикливается установка драйвера:

Я предложил использовать автономный эквайринг. Но к хорошему быстро привыкают, от путаницы в суммах из-за ошибок операторов уже все давно отвыкли и захотели автоматизированный Т-Банк.

Проблема сначала показалась простой, я не добавлял лишние драйвера БПО, чтобы не перегружать CF-файл, просто добавил нужный макет из БПО:

Параметры прописать начало давать, но при тестировании оборудования стала выдаваться ошибка: «В экземпляре объекта не задана ссылка на объект»

Удалил INPAS, думал там 2.0, поставил 1.0, который требуется для Т-Банка.

Ничего не помогало, долго мучался, но в итоге нашел свой же пост, где нужно было просто перезайти в 1С, причем не только в Предприятие, но и в отладочный Конфигуратор. После этого тест прошел:

Но осталась небольшая проблема — я отключил печать слип-чеков средствами БПО, поэтому в параметрах сбера проставлял галочку «Печать чеков на терминале» и 1С не лезла печатать чеки в кассу. Тут такого параметра в настройках не оказалось.

Пришлось устанавливать принудительно.

Сначала хотел в МенеджерОборудованияКлиент.НачатьВыполнениеКоманды:

Но потом решил в МенеджерОборудованияКлиентСервер.ПараметрыПодключения:

//Осипов
Подключение.Вставить("ПечатьКвитанцийНаТерминале" , Истина);

После этого все заработало.

Как я страдал

Но сначала я пошел не тем путем. Взял новый драйвер из Розницы, подумал, что он будет лучше. Вот два манифеста — из старого БПО и новой Розницы, вроде бы все ОК:

Идентификаторы a_inpasDC1c83 и a_inpasdc1c83n_i386_1_1_17_2.

Но с новым драйвером не создавался AddIn.a_inpasDC1c83.a_inpasDC1c83:

Как я только не пытался это победить, даже искал название класса в реестре:

Пробовал в драйвере прописывать новый идентификатор:

Даже нашел обработку обслуживания для Магазьки, попробовал код оттуда, с учетом того, что он для обычных форм:

	Попытка
		ПодключитьВнешнююКомпоненту("Addin.a_inpasDC1c83");
		Драйвер = Новый("Addin.a_inpasDC1c83");
		//Драйвер = Новый ("AddIn.a_inpasDC1c83.a_inpasDC1c83");
		//Драйвер = Новый ("Addin.a_inpasDC1c83");

	Исключение
		Сообщить("Компонента не найдена!" + ОписаниеОшибки(), СтатусСообщения.Внимание);
		Результат = "error";
	КонецПопытки;

Получал ошибку при создании драйвера :

  • Тип не определен (Addin.a_inpasDC1c83)
  • Ошибка при вызове конструктора (ComОбъект): -2147221164(0x80040154): Класс не зарегистрирован

Хотел уже ставить свежее БПО и тестировать на нем. Но в ходе расследования вышел сам на себя и это спасло меня от лишних затрат времени.

Среда: Нетленка. Объем: 2 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *