Импорт из Excel справочников, независимых записей в регистр сведений, реквизитов шапки документов v1.2

Опубликовал Александр (pal_alex) в раздел Обработки - Универсальные обработки

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

Выкладываю еще один импорт справочников (регистров сведений в версии 1.1, реквизитов шапки документа в версии 1.2) из Excel. Сначала это была простенькая обработка неизвестного автора (спасибо, Друг!), которую я сильно доработал под свои задачи и довел до возможности поделиться с сообществом. Осознаю все несовершенство полученного результата, но, возможно, именно такое сочетание функциональности кому-то окажется полезным.

Возможности:

Загрузка реквизитов простых типов, перечислений (в экселе должен указываться идентификатор перечисления), справочников (в экселе может указываться предопределенное имя, код, полный код, наименование), хранилищ данных (картинок или двоичных файлов) и составных типов, являющихся сочетанием вышеуказанных.

Настраиваемая нумерация колонок с данными, строки стартовой загрузки.

Возможность в процессе загрузки устанавливать родителя для загружаемых элементов

Возможность создавать новые элементы при загрузке (важно: ключом при поиске-создании является Код или Наименование (первичен код)).

Минусы: нет возможности загрузки табличных частей справочников, нет возможности указать владельца для подчиненных справочников (это легко докрутить, если будут пожелания), нет возможности загрузки реквизитов типа Документ, загружаемые данные тупо записываются, без сравнения с текущими значениями (если нужно несколько раз подряд загрузить похожие наборы данных, то обработка во второй раз будет работать также долго, как и первый, не смотря на то, что после первого раза 90% данных уже заполнено и можно было бы пропустить обновление реквизитов).

Плюсы (имхо):есть загрузка картинок, простая и легко настраиваемая

В ближайших планах объединение этой обработки с копией, которую я сделал для загрузки данных в регистры сведений и исправление пары минусов (владелец, сравнение с текущими значениями).

Новое в версии 1.1:

Возможность загружать данные в регистр сведений (не привязанный к регистратору), подправлены мелкие баги.

Новое в версии 1.2:

Возможность загружать данные реквизитов шапки документа (ключевые поля номер и дата), подправлены мелкие баги.

 

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

Наименование Файл Версия Размер
Импорт из Excel 1.2
.epf 14,66Kb
14.06.13
57
.epf 14,66Kb 57 Скачать
Импорт из Excel 1.0
.epf 11,61Kb
14.06.13
489
.epf 11,61Kb 489 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Александр Зубцов (iov) 358 29.08.10 00:24 Сейчас в теме
За выкладывание +
За не указание автора или попытку извинится заранее за плагиат -
итог - 0
Уважайте авторов разработок.
2. Александр (pal_alex) 36 29.08.10 14:11 Сейчас в теме
Первоначальная обработка позволяла загружать из экселя только реквизиты простого типа в существующие элементы (ключом являлся только код).
Переписана на 70%, весь оригинальный функционал - мой, а тот, который достался в наследство, во многих местах был соптимизирован. Считаю, что плагиатом подобная разработка считаться не может, иначе я бы ее не выкладывал - мне чужого не нужно.
3. shard (shard) 242 30.08.10 13:50 Сейчас в теме
(1) позволю себе не согласиться, действительно бывают случаи когда обработка начинает ходить "по рукам" и автор теряется.
4. Александр Зубцов (iov) 358 30.08.10 15:25 Сейчас в теме
(3) НО написать строчку " спасибо - автору простите за плагиат" никто же не запрещает и уже совсем смотрится по другому...
5. Александр (pal_alex) 36 30.08.10 17:03 Сейчас в теме
Наверное, это моя вина, так как из описания непонятно, насколько сильно была переделана обработка. Упоминание о наследстве - это и есть дань уважения и благодарности неизвестному мне программисту, чью обработку я начал дополнять и улучшать. В первоначальной обработке было 157 строк, после моих доработок стало 379 строк, при этом осталась только одна процедура из 10 строк, в которой не было бы моих изменений. То есть код обработки перелопачен полностью, где-то дополнен, где-то улучшен. Не уверен, что можно считать мои действия плагиатом, я бы скорее назвал это ленью. Кто не копировал визуальные элементы и куски кода из типовых конфигураций пусть первым бросит в меня камень :)
6. Елена Раупова (REA) 10.09.10 11:15 Сейчас в теме
Здравствуйте Александр!
На строку
xl = Новый COMОбъект("Excel.Application");
Выходит сообщение: Недопустимая строка с указанием класса.
В чем может быть причина, как бы поправить.
7. Александр (pal_alex) 36 10.09.10 21:53 Сейчас в теме
(6) На компьютере, на котором запускается обработка, должен быть установлен Excel (точно работает на 2000 и 2003). Эта ошибка говорит о том, что или не установлен excel, или он какой-то очень старой (новой?) версии, в которой у класса имя отличается от Excel.Application. На инфостарте была публикация, в которой описывалась методика загрузки данных из excel файлов без наличия excel на компьютере, но разбираться и прикручивать этот механизм в свою обработку не готов.
8. Михаил Лебедев (mikelebedev) 13.09.10 15:38 Сейчас в теме
Зравствуйте Александр!
Подскажите, как подобраться к значениям перечислений 1С 77 из Excel?
Как объекты из VB они не создаются.
9. Александр (pal_alex) 36 16.09.10 01:11 Сейчас в теме
(8). Плохо понял вопрос - если речь идет о том, как загрузить значение перечисления моей обработкой, то это 1С 8.х и для этого нужно в Excel указать Идентификатор перечисления. Если же речь идет о доступе из VB к объектам 1С 77, то первым на ум приходит OLE. Есть статьи на эту тему, ключевой момент - в локальный контекст из OLE объекта можно получить только примитивные типы (строки, числа, даты).
10. Елена Раупова (REA) 30.09.10 12:57 Сейчас в теме
Здравствуйте Александр! У нас 1С серверный вариант. Может это как то связано?
11. Александр (pal_alex) 36 06.10.10 15:40 Сейчас в теме
(10) У меня тоже серверный - с этим не связано. Причина на 99% в том, что я описал. Запустите загрузку с компьютера, на котором установлен Excel 2000 или 2003 и все должно работать. Если вы работаете в терминале, то это значит, что Excel должен быть установлен на сервере или для загрузки нужно заходить в базу по сети и тогда обработка подхватит локальный Excel.
12. Константин Ершов (Снусмумрик) 114 25.10.10 15:32 Сейчас в теме
В простейшем варианте работает. Что и требовалось. Спасибо
13. Дмитрий Доковский (Doka13) 14 12.08.14 15:55 Сейчас в теме
Для простых задач загрузки простых справочников сделано достаточно удобно. Спасибо за работу.