Оболочка для работы с последними драйверами ККМ АТОЛ для 1С 7.7

Программирование - Внешние компоненты

Внешняя компонента - оболочка для работы в среде 1С 7.7 с последними версиями драйверов ККМ от АТОЛ. Поддерживаются драйвера x32 версии выше 9.11, проверено на 9.11.0.5549 и 9.11.0.5570. Присутствует внешняя обработка для полноценной работы с данными драйверами (поддержка ревизий 2.0, 2.1, 2.2, поддержка протокола ОФД 1.0, 1.0.5, 1.1).

Для полноценной работы оболочки необходимо разместить файл драйвера АТОЛ в той же папке под именем fptrwin32_fz54.dll.

Саму оболочку подключить к 1С стандартным способом ка к внешнюю компоненту, програмный идентификатор AddIn.ATOLKKMDriverWrapper. Оболочка поддерживает те же методы, что и основной драйвер АТОЛ, в зависимости от его ревизии. Добавлено свойство ВерсияДрайвера (DriverVersion), передающее версию библиотеки драйвера.

Внешняя обработка frATOL54_Wrapper.ert реализует работу драйвера ККМ (подключение, отключение, печать чека, печать отчета без гашения, закрытие смены) и может быть использована в стандартной обработке "Торговое оборудование" 1С 7.7 ТиС.

Скачать файлы

Наименование Файл Версия Размер
ATOLWrapper.dll, без проверки версии драйвера АТОЛ
.dll 1 010,00Kb
29.04.18
6
.dll 1 010,00Kb 6 Скачать
ATOLWrapper.dll
.dll 1 010,00Kb
09.08.17
28
.dll 1 010,00Kb 28 Скачать
frATOL54_Wrapper.ert
.ert 25,50Kb
09.08.17
32
.ert 25,50Kb 32 Скачать

См. также

Комментарии
1. NoName NoName (MyNameNoName) 10.08.17 08:17 Сейчас в теме
Все тэги ФФД 1.05 поддерживаются в отличии от стандартной dll? У меня старая 1С 8.0, хочу взять dll-ку для нее.
2. Alex One (asdfghgghjdhg) 7 10.08.17 13:17 Сейчас в теме
Честно говоря, не знаю, не проверял. Но должно быть только то, что есть в стандартной DLL-ке, т.к. идет простой проброс методов (COM - NativeAPI). я думаю, что в последней версии драйвера 9.11.0.5570 должны все тэги поддерживаться.
MyNameNoName; +1 Ответить
3. NoName NoName (MyNameNoName) 15.08.17 10:42 Сейчас в теме
Подскажите, где взять драйвер версии 9.11.0.5570. Ну нигде не могу найти, а очень нужен.
4. NoName NoName (MyNameNoName) 15.08.17 15:41 Сейчас в теме
Приобрел и ДЛЛ, и обработку. Но не понятно, как в обработку передать необходимые параметры. Поясните для владельцев 1С 8.0 и 8.1 это очень актуально. Спасибо.
По предыдущему вопросу взял из УТ 11.3.
Текущая dll у меня зарегистрирована в windows и находится в том же каталоге что и dll 9.11.0.5570.
В dll есть метод ВерсияДрайвера, однако в Вашей обработке он ни для чего не используется. Поясните для чего он.
5. NoName NoName (MyNameNoName) 15.08.17 16:57 Сейчас в теме
Спасибо, вроде бы разобрался.
Подскажите, драйвера от АТОЛ DTO какие ставить под эту обработку?
6. Alex One (asdfghgghjdhg) 7 16.08.17 11:14 Сейчас в теме
ДТО не нужен. Драйвер можно взять из последних версий конфигураций 1С 8.3, например, УТ 11. Добавил полный комплект из 1С сюда. Версия 9.11.0.5570. Файл переименовать в fptrwin32_fz54.dll и положить в папку с ATOLWrapper.dll
Прикрепленные файлы:
ДрайверАтолККТ54ФЗ9X.zip
MyNameNoName; +1 Ответить
7. NoName NoName (MyNameNoName) 18.08.17 10:12 Сейчас в теме
DLL-ка работает только под учетной записью с полными правами Windows. А из под ограниченной не работает. На этапе ЗагрузитьВнешнююКомпоненту 1С вылетает с критической ошибкой.По какой причине это может происходить? К чему необходимо доступ открыть?
8. NoName NoName (MyNameNoName) 18.08.17 12:47 Сейчас в теме
Обманул я Вас, просто не работает под Windows XP. А у нас такого парка пол кампании.
9. NoName NoName (MyNameNoName) 18.08.17 13:22 Сейчас в теме
Оказалось все дело не в этой длл, а от 1С (9.11.0.5549 и 9.11.0.5570). Старая длл под xp работала, а новая уже нет.
10. Андрей Решетняк (anresh) 31.10.17 21:20 Сейчас в теме
Добрый день. Не работает в 1с 7.7. При попытке пробить чек пишет
Фискальный регистратор: ошибка при печати чека

Чек ККМ не пробит!
11. Андрей Решетняк (anresh) 01.11.17 15:37 Сейчас в теме
Все заработало. Что помогло - не знаю. в очередной перезапуск все взлетело.
12. Булат Рахмангулов (bulatr) 29.11.17 14:37 Сейчас в теме
Добрый день! Купил Вашу обработку и библиотеку, подцепил к 8.1, вроде работает с ФФД 1.05, за это большое спасибо, только выскакивает сообщение "ATOLKKMDriverWrapper : Ошибка при вызове метода CallAsProc!" не могу понять когда и после чего. Не можете подсказать причину.
45. Виктор Юрин (marshallvic@mail.ru) 18.05.18 12:37 Сейчас в теме
(12)Такая же проблема. При этом не происходит печать. Не решали эту проблему? Очень нужна помощь.
13. Alex One (asdfghgghjdhg) 7 29.11.17 18:35 Сейчас в теме
Сложно сказать, я к 8ке не цеплял ее. Видимо, 8ка при подключении пытается вызвать какой-то метод, которого нет в драйвере. А как часто появляется сообщение?
14. Булат Рахмангулов (bulatr) 30.11.17 06:15 Сейчас в теме
После каждого чека. Но чеки вроде проходят.
Нашел место после чего появляется ошибка:
Результат = ОбъектДрайвера.СформироватьЧек(пПараметрыПодключения.ИДУстройства, Электронно,
ДанныеЧека, НомерЧека, НомерСмены, ФискальныйПризнак, АдресСайтаПроверки);
т.е. после команды пробития чека.
Пока проверяю на тестовом ФН, сегодня попробую уже на боевом.
А библиотека. она выступает как коннектор между 1С и fptrwin32_fz54.dll или сама управляет фискальником?

(13)
15. Alex One (asdfghgghjdhg) 7 30.11.17 12:51 Сейчас в теме
Как коннектор. Просто передает вызовы драйверу.

Если чеки печатаются и все работает, но просто появляется ошибка, то я, наверное, догадываюсь в чем дело. Но я сейчас не имею возможности отладить на 8.1. Если есть желание, могу дать вам версию модуля с отладочной информацией, для того, что бы точно локализовать ошибку.
16. Булат Рахмангулов (bulatr) 30.11.17 18:21 Сейчас в теме
(15)
Это было бы супер, если конечно разберусь! Я так понимаю, что ATOLWrapper.dll находит в свой папке fptrwin32_fz54.dll коннектит ее и передает команды.
17. Alex One (asdfghgghjdhg) 7 30.11.17 19:31 Сейчас в теме
Да, так и есть. По остальному давайте в личку перейдем.
18. Булат Рахмангулов (bulatr) 26.01.18 05:53 Сейчас в теме
Добрый день! А проблемы с библиотекой на Win XP не наблюдались? (Прочитал позже выше. что на XP данная библиотека себя ведет не адекватно, решения проблемы так и нет?)
19. Alex One (asdfghgghjdhg) 7 26.01.18 11:16 Сейчас в теме
Да, не работает, но проблема заключается не в этой библиотеке, а в самом драйвере 9ой версии, который не работает под WinXP, даже в составе 1С предприятия 8.3. Решения я не нашел. Беглый взгляд показал, что драйвером в процессе работы вызывается функция, которая есть в 7ке и нет в XP.
20. Булат Рахмангулов (bulatr) 26.01.18 13:08 Сейчас в теме
Пробовал как тут https://forum.infostart.ru/forum86/topic182883/ 1С хоть и перестала вылетать, но при этом не один из методов обращения к драйверу (получить версию, тест устройства) не поддерживается, беда короче.
21. Alex One (asdfghgghjdhg) 7 29.01.18 19:10 Сейчас в теме
Для всех интересующихся, выкладываю исходники: https://github.com/asdfghgghjdhg/ATOLWrapper
22. Алексей Станиславович (Drizer2000) 13 07.02.18 16:25 Сейчас в теме
Чек нормально пробивает, а возврат не делает, пишет чек аннулирован. Пробовал отключать контроль наличности или делать внесение наличности в кассу, все-равно не помогает.
Работал с версией драйвера 9.11.0.5570, думал, что может с возвратом проблема из dll,если пробую ставить более новую, например, fptrwin32_fz54_9_11_2_6032,то выдает ошибку:
ATOLKKMDriverWrapper : Версия драйвера ниже 9.11 не поддерживается!
Ошибка при инициализации объекта из компоненты C:\1c\1с_Базы\Комплексная7\Complex_571_UNP\unp\ATOLWrapper.dll
Фискальный регистратор: ошибка при подключении
    не удалось загрузить внешнюю компоненту "ATOLWrapper.dll"


Очень нужно срочно решить проблему, может кто что может подсказать.
23. Алексей Станиславович (Drizer2000) 13 07.02.18 19:59 Сейчас в теме
(22)сам разобрался, скачал делфи под win 8.1,подправил любезно выше предоставленные автором исходники, убрав проверку на версию драйвера и возврат успешно прошел.
24. Сергей Сергеев (Serg2s) 12.02.18 20:05 Сейчас в теме
(23)Большая просьба, если можно скинуть поправленную версию, хочу попробовать запустить под XP.
25. Дарья Еськова (yeskova) 19.02.18 09:49 Сейчас в теме
Добрый день! а для 64-разрядной системы Ваша обработка не подходит?
27. Alex One (asdfghgghjdhg) 7 19.02.18 13:48 Сейчас в теме
(25) Нет, так как не бывает 7ки 64-разрядной. Для 8ки вы можете попробовать взять исходники и перекомпилировать их в нужной разрядности.
29. Дарья Еськова (yeskova) 19.02.18 17:59 Сейчас в теме
(27)причем тут 7ка? у меня на компьютере 64-разрядная система стоит, а торговля 7.7
30. Alex One (asdfghgghjdhg) 7 19.02.18 18:28 Сейчас в теме
(29) не вдаваясь в подробности, работать будет
31. Дарья Еськова (yeskova) 19.02.18 20:33 Сейчас в теме
Кажется, заработало! спасибо!!!!!
26. Дмитрий _ (dmtrpv) 69 19.02.18 10:55 Сейчас в теме
Так в последнем релизе 1С конф 7.7 есть официальная поддержка касс онлайн, того же Атола.
28. Дарья Еськова (yeskova) 19.02.18 17:58 Сейчас в теме
(26) Из 7.7 нет печать чеков Без НДС, я надеялась решить свою проблему с помощью этой разработки....
33. Алексей Станиславович (Drizer2000) 13 22.02.18 23:12 Сейчас в теме
(28) Есть поддержка без ндс и в типовой 1с 7.7, только драйвер атоловский нужно брать майский или раньше, а так же добавить тег с выводом секций. у меня работало. А в этой обработке "без ндс" работает без проблем.
32. Алексей Станиславович (Drizer2000) 13 22.02.18 23:06 Сейчас в теме
(26) в типовых от 1с нет поддержки ффд 1.05. в этой обработке есть
34. Nick Stepin (Nick.V.Stepin) 16.03.18 15:55 Сейчас в теме
Штука действительно реально работающая! Только что собрал из исходников, прибив проверку версии.

И запустил нормальную работу с чеками (по крайней мере все на месте по НДС и видам оплат) на УПП ред. 1.2 под платформой 8.1 с ДТО 9.12.0.6112 для ФФД 1.05.
35. Антон А (plutonii) 26.04.18 02:46 Сейчас в теме
Здравствуйте. Использую Вашу ATOLWrapper.dll для драйвера Атола 9.1.11.
Встала задача допилить Чек коррекции на платформе 8.1.
Встала проблема с датой осн. для корр. - если "ЗаписьXML.ЗаписатьАтрибут("CorrectionBaseDate", XMLСтрока(Дата));
Переробовал и строку и дату, как в типовом решении 1С, даже если записываю любую строку, ответ кассы всё равно "от 06.02.106".

Так же были танцы с бубном:

1. Чтобы попадала сумма в наличку опытным путем вычислил, что писать надо сюда
ЗаписьXML.ЗаписатьАтрибут("ElectronicPayment", XMLСтрока(ОбщиеПараметры.НаличнаяОплата));

2. Чтобы попадала безнал в электронные - вот сюда писать надо

ЗаписьXML.ЗаписатьАтрибут("AdvancePayment" , XMLСтрока(ОбщиеПараметры.ЭлектроннаяОплаты));

3. Чтобы текст ошибки попал куда надо, надо писать в номер

ЗаписьXML.ЗаписатьАтрибут("CorrectionBaseNumber", XMLСтрока("Тест коррекции"));

4. Чтобы номер документа правильно попал, надо писать сюда

ЗаписьXML.ЗаписатьАтрибут("CorrectionBaseName", XMLСтрока("10"));

Прикрепил чек к посту.

Кто нибудь сталкивался с Чеком коррекции? Может кто нибудь исправлял такие баги?
Прикрепленные файлы:
36. Владимир Максимов (vla677) 28.04.18 15:24 Сейчас в теме
Здравствуйте, купил вашу оболочку.

Никак не могу подключить драйвер.

1С v7.7 сообщает :

ATOLKKMDriverWrapper : Версия драйвера ниже 9.11 не поддерживается!

Заглянул в любезно выложенные исходники.
По тексту "if (HiWord(FDllInfo.dwFileVersionMS) < 9) or ((HiWord(FDllInfo.dwFileVersionMS) >= 9) and (LoWord(FDllInfo.dwFileVersionMS) < 11)) then" получается, что проверяется версия файла ATOLWrapper.dll, а в свойствах это файла показывает версию 1.0.6429.8977, что не соответствует заданному условию.

Вопрос : Работает ли компонента у других пользователей?

Кстати, размер исходников почему-то значительно меньше, чем размер самого файла dll
38. Alex One (asdfghgghjdhg) 7 29.04.18 13:37 Сейчас в теме
(36) Компонента работает у многих. К сожалению, АТОЛ неверно указывает версию драйвера в последних релизах, поэтому необходимо убрать проверку версии, достаточно закомментировать строки:

//if (HiWord(FDllInfo.dwFileVersionMS) < 9) or ((HiWord(FDllInfo.dwFileVersionMS) >= 9) and (LoWord(FDllInfo.dwFileVersionMS) < 11)) then
//  begin
//    ShowLogString('Версия драйвера ниже 9.11 не поддерживается!', ADDIN_E_FAIL);
//    Result := False;
//  end
//else


Или дайте адрес почты, я скину версию без проверки подписи.

Размер исходников меньше, т.к. дельфи подключает много внутренних библиотек в процессе компиляции. Это нормально.
37. Alex One (asdfghgghjdhg) 7 29.04.18 13:35 Сейчас в теме
Ответил. В шапку добавил версию компоненты без проверки подписи драйвера АТОЛ
39. Владимир Максимов (vla677) 01.05.18 08:03 Сейчас в теме
Здравствуйте Alex One, спасибо за оперативный ответ. Сегодня вставил Вашу обработку в конфигурацию на v 7.7, немного подправил ert для оплаты картой (пришлось лезть в 8-ку, чтобы узнать имена атрибутов xml, так как нигде не нашел новые требования к разработке драйверов подключаемого оборудования. Версия 2.2)

Получается что Ваше решение это единственный вариант для v 7.7. Будем надеется, что в дальнейшем все будет ОК.
40. Алексей Хромов (Фоур) 22 12.05.18 13:41 Сейчас в теме
Доброе время суток!

Как я понял, wrapper ищет ProgID драйвера версии 9. Можете сделать для версии 10?
42. Alex One (asdfghgghjdhg) 7 12.05.18 22:56 Сейчас в теме
(40) Перекомпилировал для версии 10, драйвер подключается, но проверить полностью сейчас нет возможности. Если есть желание потестировать, напишите в личку почту, скину вам.
41. Алексей Хромов (Фоур) 22 12.05.18 14:55 Сейчас в теме
Проверил на драйверах v9. Все вроде работает.
Единственное, два момента:
1. DTO все-таки ставить нужно. Пока не поставил, при инициализации подключения писало "не удалось создать объект драйвера".
2. При обращении к вашему драйверу надо устанавливать свойство "Port", а при обращении к драйверу для v8 свойство было "PortNumber". Не сразу заметил, и писало "нет связи".
А так, идея прекрасная. Огромное спасибо!
43. Alex One (asdfghgghjdhg) 7 12.05.18 23:00 Сейчас в теме
(41)
1. По поводу DTO не буду утверждать на 100%, может есть какие-то нюансы, но у меня сейчас на той машине, где система работает, DTO не установлен.
2. Список доступных параметров можно получить из самой 1С-ки, обратившись к драйверу, например, Объект.ПолучитьПараметры(СписокПараметров), где СписокПараметров - строка, получающая на выходе XML-структуру параметров драйвера. Все согласно требованиям к разработке драйверов... версии 2.2
44. Алексей Хромов (Фоур) 22 12.05.18 23:26 Сейчас в теме
(43)
В 1С УТ 11 или любой другой 8.3, при использовании интеграционной компоненты (которую в вашем примере мы переименовываем и кладем в папку с wrapper'ом) если не установлен основной драйвер, тоже выдается ошибка - мол, драйвер не установлен, а надо.
Я ставил не полный DTO, а пакет Drivers9-KKT-9.12.1.6236-windows32-setup.exe и все получилось.

В данном случае нужно было для измененной Бухгалтерии 7.7 после перепрошивки кассы на ОФД 1.05. Со старым драйвером v8 больше работать было нельзя - куча ошибок - номер безнал. оплаты картой там теперь не 1, а 2, НДС лезет, скидки в чек нельзя пробивать (это все с драйвером v8)
Так что нужно было ставить v9, но, поскольку он в реестре не регится, этот native, с решением был абсолютный тупик, пока не нашел вашу разработку.

Респект )
Оставьте свое сообщение