Загрузка таблиц EXCEL средствами ADODB в УТ11 8.2 (управляемые формы)


Внешняя обработка загрузки данных из электронных таблиц (MS EXCEL, Open office Calc) не используя медленные COM-соединения
для подключения в УТ 11, платформы 8.2 (на управляемых формах)

Обработка загружает данные по номенклатуре (поиск осуществляется по коду) в документы ПТиУ,РТиУ, Установка Цен, Ввод остатков, Сегменты мноменклатуры.

Дописывать программисту легко, код хорошо документирован, оставлены много закомментареных возможностей.

04.07.2012 - исправлен способ обхода ошибок (отсутсвующие коды, количества) в цикле перебора строк

10.07.2012 - добавлены виды документов для загрузки (возврат от покупателя, возврат поставщику)

12.07.2012 - исправлена ошибка чтения первой строки (особенность adodb)

12.09.2012 - модифицирована под УТ 11.0.9.8 

17.10.2012 - добавлены виды документов для загрузки (заказ клиента, перемещение товара), оптимизирована под УТ 11.0.10.12

18.10.2012 - добавлены виды документов для загрузки (заказ поставщику), существенно переработана и оптимизирована логика интерфейса и формирования документов

19.10.2012 - добавлена возможность загружать по наименованию и артикулу поставщика

24.11.2012 - исправлены найденые ошибки, добавлена возможность искать по ГТД и добавлять информацию в строки поступления

24.12.2012 - добавлена попытка подключения через ACE.ADODB.12.0, если он имеется, для возможности чтения файлов xlsx

16.01.2013 - добавлена возможность загружать в документ "регистрация цен поставщика"

05.02.2013 - добавлена возможность загружать "штрихкоды", справочные "ячейки" номенклатуры, а так же создавать номенклатуру при загрузке. модифицирован интерфейс.



 

Плюсы данного способа чтения файла excel:

- Большая скорость работы.

- Не требуется запуск самого процесса excel.exe, как это происходит в случае использования OLE-сервера excel.application, а следовательно на него не тратятся ресурсы. Кроме того нет необходимости отслеживать и перехватывать ошибки, связанные с процессом excel.exe, те кто использовал OLE-cоединение - тот поймет о чем я говорю, мало радости когда в случае программной или пользовательской ошибки процесс excel.exe остается висеть в памяти.

- Не требуется самого приложения EXCEL, достаточно что бы на компьютере был установлен OLEDB провайдер Microsoft.Jet.OLEDB.4.0 (он входит в состав практически всех ОС семейства Windows) Это особенно актуально, когда данный код выполняется на сервере 1С:Предприятия, например в качестве регламентного задания.

- В рамках лицензирования, если на сервере установлена копия MS EXCEL, то использовать даже в терминальном режиме можно только одному человеку. Через ADO загрузку и выгрузку могут делать остальные пользователи официально.


Файлы обработки:

-