Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д)

28.05.19

Интеграция - Загрузка и выгрузка в Excel

Как легко загружать данные из электронных таблиц (Excel, OpenOffice и т.д). На примере загрузки в табличную часть документа Поступление товаров и услуг в УТ 11.4.

На Инфостарте выложены более сотни разных обработок для загрузки в 1С, данных из табличных документов (Excel,OpenOffice и т.д). По моему мнению, 80% их функционала можно заменить стандартной обработкой загрузки из табличных документов с сайта 1С: 

Загрузка данных из табличного документа 8.2

Так же, появились версии данной обработки для управляемых форм. Вы их найдете на текущем сайте (см.например тут) или спросив у Яндекса.

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

Пример.  Необходимо заполнить документ - Поступление товаров и услуг по данным табличного документа:

Нам необходимо загрузить номенклатуру (колонка - наименование), штрихкод (колонка - штрихкод) в разрезе характеристик (колонка - размер и цвет) и дополнительные свойства номенклатуры (колонка - страна и производитель).

Подготовим базу:

Создадим вид номенклатуры - "Товары", укажем что у него есть характеристики и дополнительные реквизиты. Тип значения у всех: "Дополнительное значение".

Запустим обработку "Загрузка данных из табличного документа (управляемые формы)" (не забудьте предварительно скачать по ссылкам указанным выше).

Указываем,что мы будем загружать данные в табличную часть документа. Предварительно создаем документ - Поступление товаров и услуг, не заполняя в нем вкладку "Товары". После записи этот документ можно будет выбрать в текущей обработке, в окне "Ссылка". Так же указываем в текущей обработке что будем загружать данные в табличную часть - "Товары".Простым копипастом вставляем данные с электронной таблицы в табличный документ текущей обработки. И после этого нам остается перейти во вкладку "Настройка" и настроить заполнение данных:

Настраиваем данные как показано на рисунке.

Рассмотрим код использованный для заполнения следующих реквизитов:

 
 Номенклатура
 
 Характеристика
 
 Количество упаковок
 
 Количество (в единицах хранения)
 
 Цена
 
 Сумма

 

Основные обозначения:

- ТекстыЯчеек[2] - обозначает что данные находятся во второй колонке текущей строки.

- Результат - итог вычисления.

Основные операции проводятся при заполнении  реквизита "Номенклатура". В нем система проверяет по штрихкоду - есть ли номенклатура с текущим штрихкодом в данной базе - если есть выбирает его, иначе - ищет по наименованию Номенклатуры. Далее, если находит наименование - создает штрихкод иначе создает уже новую Номенклатуру и заполняет его свойства и штрихкод с характеристиками.

Непосредственно загрузка данных в базу происходит при нажатии в обработке ссылки - "Загрузить данные":

Итогом загрузки будет заполненная вкладка "Товары" документа Поступление товаров и услуг:

Соответственно можем видеть что номенклатура тоже создалась с необходимыми данными:

Итог. Использую эту универсальную обработку вы можете выполнять широкий круг задач - по загрузке из электронных таблиц данных в базу. Так же, с помощью этой обработки "Загрузка данных из табличного документа" - можно загружать данные в справочники и регистры сведении.

PS. Готовую настройку не забывайте сохранять по кнопке в настройках "Сохранить значения в файл", что бы в нужный момент быстро восстановить настройки:

 

28.05.19 Дополнительная статья - как загрузить картинки в справочник с помощью Универсальной загрузки из табличного документа

Загрузка в Эксель Excel OpenOffice Табличная часть документа

См. также

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210162    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150714    367    375    

501

Маркетплейсный загрузчик для 12-ти маркетплейсов в "БП 3", "УТ 11", "КА 2", ERP, УНФ

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", Казань-Экспресс, "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом" в документы "Отчет комиссионера (агента) о продажах" и другие, может работать в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

1800 руб.

12.08.2021    31893    226    63    

117

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    214923    925    886    

939

Загрузка данных отчета о реализации товаров из Excel файла СберМегаМаркет

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса СберМегаМаркет для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11 и Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

07.06.2022    15077    79    0    

60

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101373    296    173    

312
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Timur001 14 09.01.19 20:44 Сейчас в теме
2. Rasdag 159 09.01.19 20:51 Сейчас в теме
Файл настройки полученный в текущей публикации
Прикрепленные файлы:
НастройкаЗагрузкиИзЭксельВТабличныйДокументУТ11_4_6.mxlz
3. German_Tagil 42 10.01.19 05:48 Сейчас в теме
примерно тоже самое перед Новым годом писал - правда на обычных формах
4. 80pav 15 11.01.19 14:31 Сейчас в теме
А можно ли создавать Группы (папки) для номенклатуры помощью универсальной обработки?
5. Rasdag 159 12.01.19 03:34 Сейчас в теме
(4) Да. Код кстати присутствует в данной статье где "Номенклатура":
.......
//Для номенклатуры группу заполним
лТекст ="ВЫБРАТЬ
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ИСТИНА
| И Номенклатура.Наименование = &Наименование";
лЗапрос = Новый Запрос(лТекст);
лЗапрос.УстановитьПараметр("Наименование", СокрЛП(ГруппаНоменклатуры));
тВыборка = лЗапрос.Выполнить().Выбрать();
Если тВыборка.Следующий() тогда
//Группа существует - выберем ее
новаяНоменклатура.Родитель = тВыборка.Ссылка;
Иначе
НовЭлемент = Справочники.Номенклатура.СоздатьГруппу();
НовЭлемент.Наименование = СокрЛП(ГруппаНоменклатуры);
НовЭлемент.Записать();
новаяНоменклатура.Родитель = НовЭлемент.Ссылка;
КонецЕсли;
.......
Только надо запустить обработку и выбрать загрузку не в "Табличную часть", а в "Справочник". С экселя вставить колонку с номенклатурой и напротив колонку с группой номенклатуры.
В настройках в реквизите "Номенклатура" - разместить примерно этот код, допилив его под себя.
6. Olenevod 33 05.02.19 10:37 Сейчас в теме
По моему мнению, для такой обработки не хватает:
1. Возможности загрузки нескольких документов. Например, нужно 100 и более.
2. Кода для поиска элементов по приоритету - помечен на удаление или нет, при наличии дублей
3. Универсальных функций поиска и преобразования и вывод сообщений о невозможности преобразования в число или дату и т.п.
4. Поиска по GUID и присвоения его новой ссылке.

Ну и вообще в целом для больших задач загрузки/миграции данных она слабовата.
Но плюсик поставил) Подобным уже много маялся.
7. Rasdag 159 06.02.19 01:17 Сейчас в теме
(6)
Возможно и правы, а возможно:
1. Загрузка сотни документов - достаточная редкая задача. Для этого конечно можно придумать свой велосипед.
2. Поскольку в обработке работают те же функции - что и при программировании в конфигураторе, то при определенном труде можно реализовать поиск, проверку на удаление, на дубли, а так же проверку преобразования строки в дату и множество других необходимых вещей.
8. qwinter 671 27.05.19 08:40 Сейчас в теме
9. Rasdag 159 27.05.19 12:54 Сейчас в теме
(8) Это публикация больше для программистов, чем для обычных пользователей, а уже программисты могут готовую настройку ставить пользователям. Ну и все это бесплатно, и работает не только для управляемых форм. А функционал в основном одинаковый.
10. qwinter 671 27.05.19 13:00 Сейчас в теме
(9) Так и Olenevod программист, а не обычный пользователь) хотя код вида
справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар")
тоже сложно назвать для "обычных пользователей"))
11. Rasdag 159 27.05.19 13:08 Сейчас в теме
(10) Товариш просто не разобрался
12. 1977 2 28.05.19 14:47 Сейчас в теме
Добрый день. Скачал сайта 1с модуль ЗагрузкаДанныхИзТабличногоДокумента. По версией 1С:Комплексная автоматизация 2 (2.4.7.147).
Интерфейс Такси отключал.
13. 1977 2 28.05.19 14:49 Сейчас в теме
ЗагрузкаДанныхИзТабличногоДокумента_УФ_v2 - открывается. Спасибо.
14. German_Tagil 42 30.05.19 15:40 Сейчас в теме
Сделайте пожалуйста - прочитать из табличной части документа
чтобы потом уже разом отредактировать и записать
15. user1527020 12.11.21 10:43 Сейчас в теме
Розница 2.3 при загрузке в таблицу документа оприходование или поступление товара не ставит количество, просто пустое поле, все остальное заполняет
16. Rasdag 159 15.11.21 16:12 Сейчас в теме
(15) А поле "Количество упаковок" заполнили тем же текстом что и количество? Попробуйте в поле "Количество" и "Количество упаковок" - вставить одинакового вида текст, например:
Результат = Число(СокрЛП(ТекстыЯчеек[22]));
17. 1807 08.01.23 14:33 Сейчас в теме
18. sggs 31.01.23 12:02 Сейчас в теме
НаименованиеНоменклатуры = СокрЛП(ТекстыЯчеек[1]);
	ВидНоменклатуры = справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товар");
	ГруппаНоменклатуры = "Номеклатура";
	  

		//ищем номенклатуру по наименованию
		Текст = 
		"ВЫБРАТЬ
		|	Номенклатура.Ссылка КАК Ссылка,
		|	Номенклатура.Наименование КАК Наименование,
		|	Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
		|	Номенклатура.ЭтоГруппа КАК ЭтоГруппа
		|ИЗ
		|	Справочник.Номенклатура КАК Номенклатура
		|ГДЕ
		|	Номенклатура.ЭтоГруппа = ЛОЖЬ
		|	И Номенклатура.Наименование = &Наименование";
		Запрос = Новый Запрос(Текст);
		Запрос.УстановитьПараметр("Наименование", НаименованиеНоменклатуры);
		Выборка = Запрос.Выполнить().Выбрать();
		Если Выборка.Следующий() тогда
			Результат = Выборка.Ссылка;
		Иначе
			//Нет соответствия по наименованию номенклатуры - будем создавать Номенклатуру.
			//Создадим номенклатуру
			ЕдИзмКлассификатор = справочники.УпаковкиЕдиницыИзмерения;
			новаяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
 			новаяНоменклатура.Наименование = НаименованиеНоменклатуры;
 			новаяНоменклатура.НаименованиеПолное = НаименованиеНоменклатуры;
 			новаяНоменклатура.ЕдиницаИзмерения = ЕдИзмКлассификатор.НайтиПоНаименованию("шт");
 			новаяНоменклатура.ВидНоменклатуры = ВидНоменклатуры;
			новаяНоменклатура.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар;
			новаяНоменклатура.СтавкаНДС = перечисления.СтавкиНДС.БезНДС;
			новаяНоменклатура.Качество =  перечисления.ГрадацииКачества.Новый;
			новаяНоменклатура.ВариантОформленияПродажи =  перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг;
			новаяНоменклатура.ИспользованиеХарактеристик = перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать;
			
			//Для номенклатуры группу заполним
			лТекст ="ВЫБРАТЬ
			|	Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
			|	Номенклатура.Ссылка КАК Ссылка,
			|	Номенклатура.Наименование КАК Наименование
			|ИЗ
			|	Справочник.Номенклатура КАК Номенклатура
			|ГДЕ
			|	Номенклатура.ЭтоГруппа = ИСТИНА
			|	И Номенклатура.Наименование = &Наименование";
			лЗапрос = Новый Запрос(лТекст);
			лЗапрос.УстановитьПараметр("Наименование", СокрЛП(ГруппаНоменклатуры));
			тВыборка = лЗапрос.Выполнить().Выбрать();
			Если тВыборка.Следующий() тогда
				//Группа существует - выберем ее
				новаяНоменклатура.Родитель = тВыборка.Ссылка;
			Иначе
				НовЭлемент = Справочники.Номенклатура.СоздатьГруппу();
				НовЭлемент.Наименование = СокрЛП(ГруппаНоменклатуры);
				НовЭлемент.Записать();
				новаяНоменклатура.Родитель = НовЭлемент.Ссылка;
			КонецЕсли;
			новаяНоменклатура.Записать();
				 
			Результат = новаяНоменклатура.Ссылка;
		КонецЕсли;
Показать

Вот так создал вроде все делает но на дубли не проверяет почему-то не могу понять почему
19. Rasdag 159 17.02.23 01:22 Сейчас в теме
(18) Если название совпадает он должен его тут находить не создавая дублей:
//ищем номенклатуру по наименованию
Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
| И Номенклатура.Наименование = &Наименование";
Запрос = Новый Запрос(Текст);
Запрос.УстановитьПараметр("Наименование", НаименованиеНоменклатуры);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() тогда
Результат = Выборка.Ссылка;
Иначе
Показать

Если есть артикул - можно в этом коде по артикулу поиск сделать, а не по наименованию.
20. Светлый ум 406 09.11.23 14:59 Сейчас в теме
+1 Добротные примеры алгоритмов для обработки УниверсальнойЗагрузки
Оставьте свое сообщение