gifts2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Александр Зубцов (iov) 29.08.10 00:24
За выкладывание +
За не указание автора или попытку извинится заранее за плагиат -
итог - 0
Уважайте авторов разработок.
2. Александр (pal_alex) 29.08.10 14:11
Первоначальная обработка позволяла загружать из экселя только реквизиты простого типа в существующие элементы (ключом являлся только код).
Переписана на 70%, весь оригинальный функционал - мой, а тот, который достался в наследство, во многих местах был соптимизирован. Считаю, что плагиатом подобная разработка считаться не может, иначе я бы ее не выкладывал - мне чужого не нужно.
3. shard (shard) 30.08.10 13:50
(1) позволю себе не согласиться, действительно бывают случаи когда обработка начинает ходить "по рукам" и автор теряется.
4. Александр Зубцов (iov) 30.08.10 15:25
(3) НО написать строчку " спасибо - автору простите за плагиат" никто же не запрещает и уже совсем смотрится по другому...
5. Александр (pal_alex) 30.08.10 17:03
Наверное, это моя вина, так как из описания непонятно, насколько сильно была переделана обработка. Упоминание о наследстве - это и есть дань уважения и благодарности неизвестному мне программисту, чью обработку я начал дополнять и улучшать. В первоначальной обработке было 157 строк, после моих доработок стало 379 строк, при этом осталась только одна процедура из 10 строк, в которой не было бы моих изменений. То есть код обработки перелопачен полностью, где-то дополнен, где-то улучшен. Не уверен, что можно считать мои действия плагиатом, я бы скорее назвал это ленью. Кто не копировал визуальные элементы и куски кода из типовых конфигураций пусть первым бросит в меня камень :)
6. Елена Раупова (REA) 10.09.10 11:15
Здравствуйте Александр!
На строку
xl = Новый COMОбъект("Excel.Application");
Выходит сообщение: Недопустимая строка с указанием класса.
В чем может быть причина, как бы поправить.
7. Александр (pal_alex) 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) 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) 06.10.10 15:40
(10) У меня тоже серверный - с этим не связано. Причина на 99% в том, что я описал. Запустите загрузку с компьютера, на котором установлен Excel 2000 или 2003 и все должно работать. Если вы работаете в терминале, то это значит, что Excel должен быть установлен на сервере или для загрузки нужно заходить в базу по сети и тогда обработка подхватит локальный Excel.
12. Константин Ершов (Снусмумрик) 25.10.10 15:32
В простейшем варианте работает. Что и требовалось. Спасибо
13. Дмитрий Доковский (Doka13) 12.08.14 15:55
Для простых задач загрузки простых справочников сделано достаточно удобно. Спасибо за работу.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа