1.
user593840_metall_14
07.12.17 18:36 Сейчас в теме
1С Розница 2.2.6.33
ФР АТОЛ 11 Ф работает как чекопечатающая машинка(принтер чеков) активизирован ЕНВД
В 1С в подключаемое оборудование добавлен через ККТ с передачей данных тест проходит успешно
ПРи пробиттии чека пишет ошибку "Индекс находица за границами массива" как решить подскажите, пожалуйста?
В ДТО 8.15.3 утилитой регистрации нужно "Активировать память ПД". Потом поставить 8.11, тогда будет работать как ФР (9.х не пробовал, может тоже будет работать). Только непонятно после активации памяти ПД потом с ФН будет работать или надо перепрошивать.
3.
user593840_metall_14
12.12.17 12:12 Сейчас в теме
(2) DTO_8_11_02_00_Full установил прописал настройки в 1С в подключаемом оборудовании указал "ККТ с передачей данных" тест прошел успешно драйвер подтянулся 8.11.02 но при пробитии чека все равно выдает ошибку "Индекс находится за границами массива"
// Получение текущего состояние ККТ с ФН.
РезультатКоманды = ОбработчикДрайвераМодуль.ВыполнитьКоманду("GetCurrentStatus", ВходныеПараметры, ВыходныеПараметры,
ОбъектДрайвера, ПодключенноеУстройство.Параметры, ПодключенноеУстройство.ПараметрыПодключения);
Если РезультатКоманды Тогда
// Увеличиваем инкремент номера последнего чека.
ВыходныеПараметры[1] = ВыходныеПараметры[1] + 1;
ЗаводскойНомерФН = ВыходныеПараметры[5];
но при этом в 2.2.7 в некоторых местах сейчас прописан такой код
ЗаводскойНомерФН = ?(ВыходныеПараметры.Количество() > 5, ВыходныеПараметры[5], Неопределено);
Но не во всех местах - конкретно в этом месте - нету.
Т.е. дело в том, что в зависимости от прошивки и версии драйвера количество возвращаемых от аппарата параметров разное - одни возвращают заводской номер, другие нет.
Соответственно, либо менять код самим - вполне возможно, что только этой правки будет не достаточно, либо связаться с производителем и выяснить - какие версии драйвера/прошивки точно вернут заводской номер шестым параметром массива выходных параметров после выполнения метода GetCurrentStatus.
Lenochka Semicova
Можно подробней как исправить ошибку
(При побитии чека пишет ошибку "Индекс находица за границами массива")
{kod}
Иначе
ЗаводскойНомерФН = Неопределено;
Если ПодключенноеУстройство.ТипОборудованияИмя = "ПринтерЧеков" Тогда
ВыходныеПараметры = Новый Массив();
ВыходныеПараметры.Добавить(ОбщиеПараметры.НомерСмены);
ВыходныеПараметры.Добавить(ОбщиеПараметры.НомерЧека);
Результат = Истина;
ИначеЕсли ПодключенноеУстройство.ТипОборудованияИмя = "ККТ" Тогда
ВремВходныеПараметры = Новый Массив();
Результат = ОбработчикДрайвераМодуль.ВыполнитьКоманду("GetCurrentStatus", ВходныеПараметры, ВыходныеПараметры,
ОбъектДрайвера, ПодключенноеУстройство.Параметры, ПодключенноеУстройство.ПараметрыПодключения);
// Увеличиваем инкремент номера последнего чека.
ВыходныеПараметры[1] = ВыходныеПараметры[1] + 1;
ЗаводскойНомерФН = ВыходныеПараметры[5];
ЗаводскойНомерФН = ?(ВыходныеПараметры.Количество() > 5,ВыходныеПараметры[5], Неопределено);
{kod}
а где и куда я голову сломал. сколько денег чтобы вы сделали я скину конфигурацию вы правите а я обновляю конфиг у себя
Вместо
// Увеличиваем инкремент номера последнего чека.
ВыходныеПараметры[1] = ВыходныеПараметры[1] + 1;
ЗаводскойНомерФН = ВыходныеПараметры[5];
ЗаводскойНомерФН = ?(ВыходныеПараметры.Количество() > 5,ВыходныеПараметры[5], Неопределено);
Надо написать
// Увеличиваем инкремент номера последнего чека.
ВыходныеПараметры[1] = ВыходныеПараметры[1] + 1;
ЗаводскойНомерФН = ?(ВыходныеПараметры.Количество() > 5,ВыходныеПараметры[5], Неопределено);
Это если ошибка в этом модуле. Но там таких вставок по конфигурации было несколько.
2.2.6 сейчас под рукой нету. давно уже всех пообновляли на 2.2.7
Если совсем никак не получится - ну лучше обратиться к Вашему местному франчайзи.