Загрузчики из эксель (типовые, универсальные, специфичные) такие, чтобы указать путь к файлу Эксель (ОпенОфиса), потом загрузить, используя механизмы ОЛЕ, КОМ и другие - нужны. Давайте об этом договоримся сразу: нужны, бывают, иногда, очень.
Я вам представлю другой подход к вопросу загрузки данных из Эксель. Подходы могут меняться в зависимости от задачи. Я представлю самый простой подход.
Итак, предыстория. Многие загрузчики из Эксель представляют из себя форму с полем "ПутьКФайлу" - рис.1.
Рис. 1. Один из вариантов реализации Загрузчика из Эксель
В алгоритмах выбора файла обычно прописывается следующий код (рис. 2, рис.3). И при появлении нового клиента с той же самой задачей - загрузить номенклатуру из эксель - всякий раз создается новая обработка и прописываются одни и те же алгоритмы. Однажды этому пришел конец Однажды я сделал по другому.
Рис. 2. Алгоритм выбора файла Эксель
Рис. 3. Алгоритм обработки файла Эксель
Однажды появилась задача создать загрузчик из Эксель для менеджеров по закупкам - чтобы создавался документ Поступление товаров из файла Эксель - они прислали форматы Эксель своих поставщиков (рис. 4.)
Рис. 4. Форматы эксель-таблиц разных поставщиков
Я предложил вариант, когда менеджеры копируют товары из колонки "Наименование" и вставляют в обработку 1с, то же самое повторяют с колонкой "Кол-во" и "Сумма" (рис. 5).
Рис. 5. Новый подход для загрузки данных из Эксель
Такой способ загрузки эксель был встречен на "УРА". Обучить пользователей пользоваться такой обработкой не составило труда.
Немного отвлекусь, поскольку к самой идее данной публикации напрямую это не относится: в случае с загрузкой товаров от разных поставщиков я дополнительно добавил к справочнику "Номенклатура" табличную часть "НоменклатураПоставщиков", и, при поиске номенклатуры, в запросе ссылался на данную табличную часть - рис. 6. В данном случае, я предложил таким способом хранить Артикулы (Коды, Штрихкоды) товаров поставщиков в базе 1с, чтобы загружать по каждому поставщику свою номенклатуру. Способ сработал и используется по сей день.
Рис. 6. Доработка конфигурации для хранения дополнительных сведений по Номенклатуре
Для примера вам представлена обработка "Загрузка номенклатуры из Эксель" для типовой конфигурации УТ 10.3.
Тестировалась на платформе 1С:Предприятие 8.3 (8.3.9.2033), на демоконфигурации "Управление торговлей", редакция 10.3 (10.3.42.1). Код открыт.
В загрузчике поиск номенклатуры происходит по "Артикулу" (типовому реквизиту справочника "Номенклатура"). Скажу наперед, что в дальнейшем на разных проектах я использовал такой подход загрузки товаров, только при этом менялись детали: поиск товара происходил по коду, по штрихкоду, по названию, создавался документ ЗаказПокупателя, УстановкаЦенНоменклатуры, ОприходованиеТоваров и т.д. В представленной обработке заложен только базовый функционал - поиск только по артикулу. На универсальность в каком-то смысле не претендую.
В какой-то момент я упростил еще - перестал прописывать алгоритм создания документов:
Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент().
Ведь в каждой конфигурации (особенно нетиповых и в отраслевых) закладываются специфичные алгоритмы при создании документов. Стал создавать документ "вручную" (новый или копированием). Вывел ссылку на вновь созданный документ (поле "Док") на форму загрузчика, и заливал список товаров в этот документ. Таким образом смог использовать такой способ не только для загрузки товаров в УТ 10.3, но и для загрузки в БП 3.0 (то есть переписал алгоритм для управляемой формы), БП 2.0 и пару отраслевых.
На видео продемонстрирован данный подход.
Всем добра! :)
С пользой для клиентов, RustIG
1) [Расширение] УНФ. Список заказов + Структура подчиненности
2) [Расширение] УТ 11.4. Счет на оплату с факсимиле
3) [Расширение] БП 3.0. Список счетов/ Список реализаций + Связанные документы
Внешние обработки (не расширения!):
2) Список заказов поставщикам + структура подчиненности
3) Список заказов покупателей + структура подчиненности
4) Список реализаций со структурой подчиненности + реестр документов
5) Список заказов покупателей (Расширенная версия)
Другие публикации:
1) Удаление справочников для любых баз на управляемых формах
2) Удаление документов для любых баз на управляемых формах
3) Удаление чеков ККМ в Рознице 2.2
4) Загрузка товаров, штрихкодов, цен и остатков на УФ - Розница 2.2
5) Отчет Остатки и цены (прайс с остатками)
7) Как почистить характеристики в УТ 10.3
8) [ЦФшник] Доработка конфигурации Конвертация Данных
9) [Внешняя обработка] Ввод показателей план-факта БП 3.0
10) [Шаблоны] Договоры для 1с-ника ТОП-скачиваний
Из последнего опубликованного:
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 10.3, релизы 10.3.42.1