Коллеги, всем доброго и с наступающим
Не сталкивался никто с проблемой: при установке драйвера ККТ АТОЛ от версии 10.10.6 на УТ 11.4 имеем сообщение:
Ошибка получения описания драйвера
{ОбщийМодуль.ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.Модуль(2970)}: Метод объекта не обнаружен (ПолучитьНомерВерсии)
Ощущение, что набор методов несколько изменился.
Как выходите из ситуации?
(2) 1) Там инициализация компоненты происходит на другое имя. 2) И похоже ее писали не те же разработчики, что и раньше. Есть мысли, что 1С разработчики не успели написать свою компоненту к выходу драйверов 10.10.6.0. Важный вопрос, кто ее писал? У многих стандартных конфигураций с этой компонентой проблемы.
И драйвер 10.10.6.0 это ККТ АТОЛ, 4.4 требования относятся к написанию компоненты 1с. Это разные вещи.
Я вот про эти проблемы с вышедшей компонентой под драйверы АТОЛ 10.10.6.0
в теме на которую вы ссылаетесь инфы 0 , от слова полный 0.. - что делает? где делает? как делает?
Личной я никакой проблемы в ней не нахожу . что под УФ что под ОФ
Может не в тему, но спрошу здесь. Для драйвера 10.10.5 и 10.10.6 методы отличаться будут или нет? А то только занимался, что дружил УТ 10.2 переписанную вдоль и поперек с драйвером 10.10.5 для ФФД 1.2. Для 10.10.6 те же процедуры/функции будут использоваться или новые? Пока некогда посмотреть, сравнить было. Да и кассы с новой прошивкой нет.
10.10.6 - разработан по стандарту 4.4 в нем данного метода нет
Используя расширения "подменяйте" методы на новые
Ну скажем так, тут надо четко знать, что на что менять.
То есть хотя бы как минимум какой то документацией обложиться и изучить ее.
Мне думается, это вариант довольно долгий
Я правильно понимаю, что на данный момент иного варианта подружить старую 1С с новым драйвером нет?
ну либо полностью переписывать работу с компонентой, либо ждать когда 1С что то выдаст + допиливать ставки, либо обновлять/менять УТ?
1.Интеграционные компоненты для 1с - это не полноценный драйвер, а лишь компонент под методы и стандарты драйверов подключаемого оборудования.
2.Не один из интеграционных компонентов для ККТ не передает этот параметр (Штрих , Дримкас, Нева и так далее)
Ну и 3 :) - если каких то методов/метода/параметра/параметров в компоненте нету - виноват всегда Атол :)
интеграционных компонентов для ККТ не передает этот пар
Фронтол сообщает, что на ккт атоле, что на ккт штриха это.
в описании драйверов еще начиная с прошлой версии есть эти параметры, я считаю весь вопрос в желании.
1. В структуру TableParametersKKT добавлены новые параметры: IsVendingMachine, IsCateringServices, IsWholesaleTrade.
2. В структуру InputParameters добавлен новый атрибут PrintRequired. При вызове методов открытия и закрытия смены он управляет необходимостью печати бумажного документа.
3. Изменен вызов метода фискализации чека. Метод считается выполненным успешно если чек был фискализирован. Если при печати бумажной формы чека произошла ошибка - метод возвращает True, а в атрибуте выходных параметров возвращается флаг ошибки печати PrintError = True.
4. В структуру CheckPackage добавлен параметр GroupingPositionsWhenPrinting - признак сворачивание одинаковых строк на печатной форме документа.
5. В структуру DocumentOutputParameters добавлен параметр MTNumber -Содержит номер документа "Уведомление о реализации МТ" в который включается данные чека.
6. В структуру OutputParameters добавлен параметр FNValidityDate - Срок действия ФН.
Эти параметры или результат идет в списке при открытие и закрытии смены в объекте драйвера.
(22) Так я и говорю, рукожопы ничего нормально сделать не могут и довести до логического конца.
сегодня было прекрасное утро, потом что опять понадеялся на качество 1с. Если программа обновлена и включен ндс 5% а касса не перепрошита, а сейчас 90% касс и организаций таких, потому что прошивки вышли только вот. то чек мы выбивать не будем, хотя все пишут что пока "без ндс" не является нарушением
(26) ИМХО - при сертификации никто не проверяет корректность работы этих параметров. Основные проверили ( и то если проверили) , сертификат выдали , в БПО включили - а как там дальше... пусть пользователи тестируют.
Драйвер пока не поддерживает такую функциональность.
Вы можете отслеживать статус своего обращения перейдя по ссылке HL-932019
пишу в ответ какой драйвер? драйвер что в поставке или драйвер от атола? Зачем тогда описание и требования к драйверам если драйвера в поставке ему не соответвует?
Получен ответ отдела разработки.
Сейчас данная функциональность с низким приоритетом разработки. Поэтому ждем ее реализации.
тот что с сайта атол скачиваем или тот что в макете
- :) А что там другую компоненту для 1С поставляют?
при этом есть описания что должен
- в описании стандарта :) Но по факту то нету и это касается не только АТОЛ , но и других производителей ККТ , а если учесть что сейчас прошли сертификацию по стандарту 4.4 ( Новые ставки НДС ) только Атол и Дримкасс и в них нет данной функциональности , то и у других ее тоже не будет.
Ждем когда по стандарту 4.5 будут сертифицироваться - там будут строже проходить проверку #100%ноэтонеточно
Напишу сюда же. За 2 дня на 3-х точках из 30 драйвера 10.10.6 просто испарялись в ноль, полная деинсталляция и удаление ярлыка с рабочего стола. Буквально на глазах. Не было времени разбираться - просто переустанавливал. Есть подозрение на антивирус ТОТАЛ360, но это только предположения.
(15) в рознице 2.3.21.29 с драйвером АТОЛ:ККТ с передачей данных в ОФД 10.x (ФФД 1.2) УСН НДС происходит запись замена настроек офд, оисм, окп. Вчера с 2-х торговых точек несколько раз звонки с проблемой при продаже маркировки - нет настроек окп сервера. Подключаюсь, в дто смотрю настройки - их нет, прописываю через ДТО, через некоторое время - опять звонок, нет настроек. Не сразу понял в чем дело, ввел настройки в свойствах драйвера 1с на вкладке - Запись настроек в ККТ - все устаканилось.
(23) Прописал адреса после обновления, звонок спустя 10-15 мин, проверка маркировки заканчивается ошибкой, добавить товар или отмена. В драйвере ккт настройка слетела, а в 1с есть, но похоже этого недостаточно и проверка не проходит
Помимо изменения параметров в самого фискального чека, в ревизии 4.4 решили зачем-то переписать еще механизм подключения, получения параметров, и тест устройства, теперь при подключении параметры передаются в виде xml строки.
Программно установить дату и время кассы. - "ATOL_KKT_1C_V10X"
ПолучитьСерверТО().ПолучитьОбъектДрайвера(ККТ, ОбработкаОбслуживания, ОбъектДрайвера);
Если ОбработкаОбслуживания = Неопределено Тогда
ОбщегоНазначения.СообщитьОбОшибке("Ошибка получения обработки обслуживания");
Иначе
Драйвер = ОбъектДрайвера.Драйвер;
Попытка
Драйвер.setParam("LIBFPTR_PARAM_DATE_TIME", Строка(ТекущаяДата())); // А как правильно?
Драйвер.setParam(Драйвер.LIBFPTR_PARAM_DATE_TIME, ТекущаяДата()); // Так тоже не работает.
Драйвер.writeDateTime();
Исключение
КонецПопытки;
Потому что ПолучитьОписание() - это метод по стандарту
"Обязательные функции и методы, связанные с использованием драйвера подключаемого оборудования в системе"
Получение описания драйвера вызовом метода «ПолучитьОписание(GetDescription)».
Двухкомпонентная архитектура драйвера позволяет организовать поставку драйвера конечному пользователю другими способами, в составе библиотеки поставляется только интеграционный компонент.
Вы же пытаетесь вызвать метод в LIBFPTR_PARAM_DATE_TIME в интеграционной компоненте , но в ней этого метода нет!! Он есть в Драйвере, тоесть чтобы вызвать этот метод вам нужно обратиться к Драйверу
Например так!
Драйвер = Новый COMОбъект("AddIn.Fptr10");
Драйвер.LIBFPTR_PARAM_DATE_TIME(ТекущаяДата());
Драйвер = Новый COMОбъект("AddIn.Fptr10");
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_MODEL, Строка(Драйвер.LIBFPTR_MODEL_ATOL_30F));
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_PORT, Строка(Драйвер.LIBFPTR_PORT_COM));
Драйвер.setSingleSetting(Драйвер.LIBFPTR_SETTING_COM_FILE, "COM3");
Драйвер.applySingleSettings();
Драйвер.applySingleSettings();
Если Драйвер.open() < 0 Тогда
Сообщить("Ошибка соединения с ККТ: " + Драйвер.errorCode() + " [" + Драйвер.errorDescription() + "]");
Возврат;
КонецЕсли;
Драйвер.setParam(Драйвер.LIBFPTR_PARAM_DATA_TYPE, Драйвер.LIBFPTR_DT_SHIFT_STATE);
Если Драйвер.queryData() < 0 Тогда
Сообщить("Ошибка запроса состояния смены ККТ: " + Драйвер.errorCode() + " [" + Драйвер.errorDescription() + "]");
Возврат;
КонецЕсли;
СостояниеСмены = Драйвер.getParamInt(Драйвер.LIBFPTR_PARAM_SHIFT_STATE);
Сообщить("Cмена ККТ закрыта: " + ?(СостояниеСмены = Драйвер.LIBFPTR_SS_CLOSED, "Да", "Нет"));
Драйвер.setParam(Драйвер.LIBFPTR_PARAM_DATA_TYPE, Драйвер.LIBFPTR_DT_DATE_TIME);
Если Драйвер.queryData() < 0 Тогда
Сообщить("Ошибка запроса текущей даты и времени ККТ: " + Драйвер.errorCode() + " [" + Драйвер.errorDescription() + "]");
Возврат;
КонецЕсли;
ДатаВремяВККТ = Дата(Драйвер.getParamDateTime(Драйвер.LIBFPTR_PARAM_DATE_TIME));
Сообщить("Дата и время в ККТ: " + ДатаВремяВККТ);
ТекДата = ТекущаяДата();
Сообщить("Системные дата и время: " + ТекДата);
ОтклонениеВСекундах = МодульЧисла(ДатаВремяВККТ - ТекДата);
Сообщить("Отклонение от системного времени, сек: " + Формат(ДатаВремяВККТ - ТекДата, "ЧН="));
Если ОтклонениеВСекундах < 10 Тогда
Сообщить("Отклонение времени ККТ от системного не большое (менее 10 сек). Корректировка времени в ККТ не требуется");
ИначеЕсли ОтклонениеВСекундах > 300 Тогда
Сообщить("Отклонение времени ККТ от системного слишком большое (более 300 сек). Корректировка времени в ККТ должна быть выполнена вручную");
ИначеЕсли СостояниеСмены <> Драйвер.LIBFPTR_SS_CLOSED Тогда
Сообщить("Корректировка времени в ККТ не выполнена, т.к. смена не закрыта.");
Иначе
Драйвер.setParam(Драйвер.LIBFPTR_PARAM_DATE_TIME, ТекДата);
Если Драйвер.writeDateTime() < 0 Тогда
Сообщить("Ошибка установки даты и времени в ККТ: " + Драйвер.errorCode() + " [" + Драйвер.errorDescription() + "]");
Возврат;
КонецЕсли;
Сообщить("Системные дата и время записаны в ККТ");
КонецЕсли;
Если Драйвер.close() < 0 Тогда
Сообщить("Ошибка закрытия соединения с ККТ: " + Драйвер.errorCode() + " [" + Драйвер.errorDescription() + "]");
Возврат;
КонецЕсли;