gifts2017

Загрузка данных в 1С из Excel. Часть 1. Загрузка справочника номенклатуры в 1С:Бухгалтерия 8 из прайс-листа в Excel

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

Довольно часто в практике возникают ситуации, когда необходимо загрузить данные в программу 1С из таблицы Excel, например, загрузить справочник номенклатуры из прайс-листа или Приходную накладную из Расходной накладной поставщика в электронном виде присланной по e-mail.
Необходимость автоматического обмена особенно актуально, когда число элементов, которые необходимо вводить составляет десятки, сотни или даже тысячи, и ручной ввод такого объема данных является довольно трудоемкой работой. Одним необходимо загрузить данные один раз только при начале работы с программой, другим требуется ввод больших объемов данных постоянно в силу технологии своей работы.

Естественно нам хотелось бы избежать этих напрасных потерь сил и драгоценного времени в наш век электронного документооборота.

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

Как быть, если по различным причинам такой возможности нет?

У каждого пользователя профессиональной версии 1С:Предприятие 8 подобная обработка уже есть! На диске ИТС!

Типовая обработка «ЗагрузкаДанныхИзТабличногоДокумента.epf», находится в разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа». 
D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument .
Обратите внимание, что начиная с Февраля 2010 г. на диске ИТС данная обработка для конфигураций на платформе 8.1 находится в другом разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Платформа 1С:Предприятие 8.1» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа». 
D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument

Обработка от самой фирмы 1С, является универсальной и позволяет загружать данные в любые конфигурации на платформе 1С:Предприятие 8, в любые справочники, документы и реестры сведений из файлов формата *.xls (Excel), *.mxl, *.txt, *.dbf.

Загрузка справочника номенклатуры в 1С:Бухгалтерию из Excel

Имеются исходные данные:

  • Прайс-лист в Excel «ПрайсОнлайнХимСнаб.xls» — Microsoft Office Excel 97-2003 (.xls)
  • Типовая конфигурация Бухгалтерия предприятия Редакция 2.0, релиз 2.0.12.2, платформа 8.2 (8.2.10.77)
  • Необходимо загрузить в 1С из Excel наименования товаров и цены.

Из Прайс-листа необходимо загрузить справочник номенклатуры в 1С:Бухгалтерию 8.

  1. Запускаем программу 1С
  2. Для запуска обработки выбираем пункт меню «Файл»>«Открыть».
  3. В отрывшемся окне находим файл обработки, который располагается на диске ИТС в каталоге \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument
  4. Обратите внимание, что загрузка данных будет осуществляться в два этапа:

    • Этап 1 — загрузка наименований и установка значений реквизитов новых элементов справочников необходимых для начала работы (единица измерения, ставка НДС, признак товар/услуга).

    • Этап 2 — загрузка цен.

 

  1. В закладке «Табличный документ» нажимаем кнопку ex1_b01.jpg«Открыть файл», в появившемся окне выбора находим каталог, в котором у нас находиться прайс-лист в Excel из которого мы планируем загружать данные в 1С. (Первоначально файл может не отобразиться. Установите тип файла «Лист Excel (*.xls)»)

  2. Выбираем наш файл

Файл успешно прочитался

  1. Далее выбираем закладку «Настройка»

Отражаются реквизиты карточки номенклатуры

 

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

 Для удобства установим «Ручную нумерацию колонок»

 На данном этапе интересует только «Наименование», поэтому снимаем галочки с полей, которые нас пока не интересуют

 «Первая строка данных табличного документа» — смотрим наш прайс-лист, отбрасываем шапку, данные для загрузки начитаются с девятой строки — ставим «9»

 «Не создавать новых элементов» — галочку НЕ ставим, опция нужна, если планируем изменять уже имеющиеся элементы

Строки «Наименование» и «Полное наименование» — устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе наименование в третьей колонке — ставим «3»

В строке «Наименование» ставим галку в колонке «Поле поиска» (вторая колонка) — программа проверит наличие элемента с таким наименованием, и если таковой уже существует, то новый элемент с таким наименованием создаваться не будет.

 Обратите внимание, что в программе 1С:Бухгалтерия 8 идентификация элементов справочников происходит по наименованию. Если осуществляется загрузка в уже не пустую базу данных, необходим визуальный контроль вводимых позиций, чтобы исключить повторный ввод и дублирование элементов.

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

При частом использовании и больших объемах загружаемых данных рекомендуем использование других программных продуктов 1С из линейки 1С:Предприятие 8: «1С:Управление торговлей 8», «1С:Управление небольшой фирмой 8», «1С:Комплексная автоматизация 8», в которых используется реквизит «Артикул» позволяющий многократно повысить надежность идентификации загружаемой номенклатуры и исключить появление дублирующих элементов справочника.

 Строка «Родитель» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем папку (группу номенклатуры), в которую будем загружать данные из прайс-листа (в нашем случае «Бытовая химия»).

Строка «Базовая единица измерения» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем единицу измерения (в нашем случае — шт.)

Строка «Услуга» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Нет» (в нашем случае все позиции это товары).

Мы задали минимальные значения новых элементов справочника номенклатуры, которые позволят начать работать.

Для закрытия месяца, распределения затрат, формирования бухгалтерской и налоговой отчетности необходимо будет задать значения «Номенклатурная группа» и «Статья затрат», для импортных товаров задать «Страна происхождения» и «Номер ГТД», но это можно будет сделать позже используя групповую обработку.

Если вы готовы задать значения данных реквизитов сейчас, то укажите.

Нажимаем «Загрузить» в правом нижнем углу, на вопрос нажимаем «Да»

Если в будущем планируется использовать данную процедуру загрузки данных с такими же настройками параметров загрузки, то рекомендуем сохранить текущие настройки. Для этого нажмите кнопочку ex1_b03.jpg «Сохранить настройки» и понятно назовите текущую настройку, например, «Загрузка наименований товаров из прайс-листа Excel».

Желаю успеха!

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Wumka (wumka) 03.08.12 15:58
Вот за что я люблю Инфострат, так это за то, что тут фсё-фсё расскажут.
Типа, дёрни девочка за верёвочку - дверь и откроется.

Лично я дёрнула... ;-)
Спасибо, мне Вы время съэкономили.
2. Данила Елистратов (CagoBHuK) 08.08.12 09:40
Чем отличается от типового импорта из XLS?
3. fhntv911 (tbfc) 08.08.12 11:44
(1) wumka, а дверка то открылась?))
4. Максим Ковалев (maxsoft83) 08.08.12 11:55
Ну слава богу хоть кто-то перестал изобретать велосипед и пользует типовым инструментом.
5. Елена (@Лена) 08.08.12 18:06
Очень полезная информация для тех, кто еще только начал работать с 8 ( типа меня). Спасибо!
Confucius; +1 Ответить
6. Wumka (wumka) 15.08.12 13:54
(3)
ха! а ни то, стала бы я без нУжды дёргать...
и, главное, всё по-честному: никаких волков, никаких съеденных бабушек. ))
7. Кира Борисова (bkn_oktava) 22.08.12 01:00
8. Игорь Грибинник (slavich) 28.11.12 10:53
Плюс, устал показывать и рассказывать как работает эта обработка, немного оформлю и можно отдавать пользователям...
9. Наталия Мастербатова (zzz_natali) 15.03.13 18:32
Ребята, может подскажете, что писать в форму, если у меня в экселе есть единица измерения отличная от базовой(коробка, упаковка) и колонка с коэфф. пересчета (если такое возможно при загрузке)? Имеется в виду, чтобы появились записи в кладочке Единицы.

Спасибо.
10. dndw dndw (dndw) 12.04.13 19:42
каким образом можно загрузить в табличную часть документа "оприходование товаров" из xls, xml или напрямую из базы. Возникла проблема с переносом остатков.
11. Mark Genuine (markgenuine) 06.06.13 12:15
а если нужно загрузить в иерархии? т.е. со структурой? как определить то что жирным в прайс листе -это группа?
12. Игорь Лисицкий (lisrws) 22.01.14 00:26
(11) markgenuine, используйте:
ExcelЛист.Rows(i).OutlineLevel
где i - номер строки. OutlineLevel - свойство строки, которое содержит ее уровень в иерархии.
подробнее здесь:
http://msdn.microsoft.com/ru-ru/library/microsoft.office.tools.excel.namedrange.outlinelevel.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
13. Lena Lesnik (lelusha) 09.02.14 16:43
+1. Очень подробное описание и много картинок. Автору спасибо.
14. Мария Миронова (marijamir) 27.02.14 16:29
Хорошая обработка. Давно искала)
15. Михаил Кукаев (mike2009) 02.04.15 10:12
Одна проблема только - не сохраняются настройки колонок, а без этого пользование обработкой превращается в муку.
16. nikser Serov (nikser) 03.04.15 09:44
Спасибо . Но не всё грузиться . мне например нужно прогрузить комментарии -. результат нулевой .
17. Валера Веревкин (MAGA1981) 11.05.15 09:01
Подскажите выдает вот такие ошибки, что делать?
Прикрепленные файлы:
18. андрей иванов (mtandre) 02.03.16 15:14
добрый день.
подскажите пожалуйста в чем может быть проблема при загрузке реквизита родитель в загружаемые номенклатурные позиции?
Пишет вот такую ошибку: ячейка (Родитель): Не найден.

Кто-нибудь знает что с этим делать? Родитель с загружаемым наименованием создан.
19. андрей иванов (mtandre) 11.03.16 15:25
после копания в отладчике нашел что в модуле: Общий модуль ор_загрузкаИзЭлектронныхДокументоовСервер в строке 3553 формируется запрос к справочнику благодаря вот этой строчке:
|	Врем_Таблица.ЭтоГруппа = ЛОЖЬ И "

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

обходное решение - вычисление поля (вместо поиска) вот таким кодом:
запрос = новый запрос("выбрать номенклатура.ссылка из справочник.номенклатура как номенклатура где номенклатура.этогруппа = истина и номенклатура.наименование = &Родитель");
запрос.установитьпараметр("Родитель",ТекстыЯчеек[4]);
результатзапроса = запрос.выполнить();
выборка1 = результатзапроса.выбрать();
выборка1.следующий();
результат = выборка1.ссылка;
...Показать Скрыть

Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа