gifts2017

Универсальная загрузка из Excel для 1С8.2

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

Обработка позволять загружать из произвольного Excel файла данные в любые документы Вашей базы.

Обработка позволять загружать из произвольного Excel файла данные в любые документы Вашей базы. Достаточно выбрать тип документа (если сам документ не выбран, то будет создан новый), «Имя ТЧ», указать файл для загрузки и прописать номера колонок на странице “Excel (настройки)”. После нажатия кнопки «Загрузить» (наверху), на вкладке ТЧ в(в таблице) появятся загруженные данные. Если все загрузилось удачно, то при нажатии кнопки «Выполнить» (внизу), будет создан документ или перезаполнится существующий (зависит о заполнения поля «Документ»). Для разработчиков есть возможность написать обработки «После добавления строки» (например , можно использовать для проставления счетов в строках документа и подсчета сумм по строке)  и «Перед открытием документа».

Новое в версии 2.0

Реализована возможность загружать данные в справочники. Если в поле "Справочник" (на закладке "Справочник") выбрана группа, то все элементы будут грузиться в нее.

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

Был задан вопрос про загрузку картинок. Привожу рабочий код для загрузки из каталога D:\Темп1 картинок. Имя файлов создается из артикула и присвоения к нему расширения jpg. Работает на конфигурации «УПП». Этот текст нужно вставить: вкладка "Справочник" -> вкладка "Обработчики событий" -> "Перед записью".

Объект.Записать();

Если Объект.ОсновноеИзображение = Неопределено Или Объект.ОсновноеИзображение.Пустая() Тогда
	К = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
	К.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
	К.Объект = Объект.Ссылка;
	К.ИмяФайла = "D:\\Темп1\\" + ТекущаяСтрока.Артикул + ".jpg";
Иначе
	К = Объект.ОсновноеИзображение.ПолучитьОбъект();
КонецЕсли;

ВыбранноеФото = Новый Картинка(К.ИмяФайла,Ложь);
К.Хранилище = Новый ХранилищеЗначения(ВыбранноеФото, Новый СжатиеДанных());

Попытка
	К.Записать();
Исключение
КонецПопытки;

Объект.ОсновноеИзображение = К.Ссылка;

Для разработчиков.

Обработчик: "После доб. стр." - возникает после добавления строки на вкладку "ТЧ" или "Данны" (документов свой обработчик, а у справочника свой).

Входные данны:
            ТекущаяСтрока = текуща строка "ТЧ" или "Данные";
            ТекущийНомерСтрокиИсточник = текущий номер строки в excel файле;
            ТекущийЛист = текущий excel лист;


Обработчик: "После отк. док." - срабатывает перед открытием формы документа.

Входные данны:
            Объект = ДокументОбъект;


Обработчик:
"Перед записью" - срабатывает перед записью справочника.

Входные данны:
            Объект = СправочникОбъект;
            Отказ = если Ложь то элемент загружен не будет.
            ТекущаяСтрока = текуща строка "Данные";

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

Наименование Файл Версия Размер
Универсальная загрузка из Excel для 1С8.2 111
.epf 17,80Kb
29.09.14
111
.epf v. 2.0 17,80Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Яков Коган (Yashazz) 23.09.14 17:16
Буквально несколько вопросов:
1. Какой механизм используете - ADO, COM, аль ишшо чего?
2. Обрабатываете ли иерархию?
3. Загружаете ли картинки?
2. Руслан Гасанов (ruslan1982) 23.09.14 17:47
(1) Yashazz,
1. COM.
2. Обработка предназначена для загрузки документов, поэтому иерархия не обрабатывается, а в справочниках поиск происходит по наименованию.
3. Нет.
3. Берик Мирзахметов (Beric) 24.03.15 13:50
Здрас! у меня 1С8,2 установленно ,и мне приходить товар 100 номенований программа Ехcel ,можно ли сразу загрузить на 1С это накладной "
4. Руслан Гасанов (ruslan1982) 06.04.15 14:45
(3) Beric, Да можно. Рекомендую протестировать загрузку на копии базы.
5. Stas Bobkov (stas1kbob) 23.04.15 17:06
не создает ненайденные элеметы?
6. Руслан Гасанов (ruslan1982) 29.04.15 08:23
(5) Если элемент в базе не найден, то он создается.
7. Yuliya Ryabinina (Yula89) 08.06.15 12:54
(6) ruslan1982, хочу скачать вашу обработку, но есть вопрос.
В Excel есть код/ наименование номенклатуры и цена, в 1С в ТЧ документа тоже есть такие колонки с пустой ценой, НО наименования не одинаковые, данные можно сопоставить только по кодам. Есть ли возможность в вашей обработке сопоставить номенклатуру по кодам и загрузить колонку "цена"?
8. Руслан Гасанов (ruslan1982) 08.06.15 16:52
(7) Yula89, Обработка при работе со справочниками, сначала пытается найти по коду, а потом по наименованию. Но она заменяет всю табличную часть документа. То есть все что есть на вкладке ТЧ, окажется в документе.