|
|
Как-то раз, зайдя в комнату наших девочек-координаторов, занимающихся вводом заказов от клиентов в систему, я увидел поразившую меня картину. Сидит девочка и вводит пришедший от клиента по электронной почте заказ вручную, предварительно распечатав его. В распечатанном виде заказ занимал 12 страниц. Этот случай заставил меня задуматься. Порасспросив девушек, я выяснил, что часть клиентов присылает заказы в электронном виде, в виде табличек екселя. Сами таблички весьма произвольны по формату, но в них всегда присутствуют колонки с кодом товара из нашего прайс-листа, который также распространяется в виде таблицы екселя, наименование товара и количества. Передо мной встала задача создать механизм, который позволит импортировать данные из достаточно слабо формализованного источника. Однако мне удалось найти достаточно элегантный и универсальный механизм импорта при помощи технологии ADO DB. В результате была написана обработка, которая вызывается из документа в режиме подбора. Обработка написана в виде маленького мастера. На первом этапе мы выбираем файл. Для корректной работы необходимо, что бы данные находились на листе с названием "Лист 1". После этого собственно выполняется запрос. Результаты работы запроса отображаются в таблице значений, расположенной на следующей странице мастера. На этом этапе необходимо удалить из этой таблицы лишние строки и указать колонки, содержащие код товара и его количество. После этого обработка ищет товары в соответствующем справочнике по коду и заполняет таблицу значений, которая отображается на следующей странице мастера. Если результат нас устраивает, то эта таблица передается в документ как результат подбора. |
Copyright © 2004 Андрей Попов сотоварищи
|