1С загрузка в справочник из excel

В этой статье я расскажу как с помощью универсальной обработки “Загрузка данных из табличного документа” с диска ИТС загрузить данные в справочник номенклатура в конфигурацию Управление торговлей 10.3. Загрузка производится из файлов с расширением xls (формат excel 97-2003) в несколько этапов.

Если ваша конфигурация основана на управляемых формах 1С 8.3 или 8.2, рекомендуем к просмотру данное видео:

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

  1. Для начала перепишем обработку ЗагрузкаДанныхИзТабличногоДокумента.epf с диска ИТС. Если диска под рукой нет — скачайте её по ссылке. Для этого на диске заходим Технологическая поддержка =>1С Предприятие 8:

Далее Универсальные отчеты и обработки => Загрузка данных из табличного документа => Описание и установка внешней обработки “Загрузка данных из табличного документа”:

Выбираем путь для копирования кнопкой искать(в моем случае я копирую на рабочий стол) и нажимаем Копировать:

Ждем окончания копирования и нажимаем ОК:

Закрываем ИТС,больше нам диск не понадобится.

Подробнее о том как добавить внешнюю обработку, отчет или печатную форму написано здесь.

2.Запустим конфигурацию 1С Управление торговлей 10.3 в режиме Предприятие. Для начала добавим нашу обработку в состав внешних обработок базы для удобства использования и чтобы в следующий раз не искать ее на диске ИТС. Заходим Сервис => Внешние печатные формы и обработки => Внешние обработки:

Открывается список внешних обработок вашей базы. Нажимаем Добавить:

Выбираем кнопкой “Открыть” скопированный ранее с диска ИТС файл ЗагрузкаДанныхИзТабличногоДокумента.epf:

Нажимаем ОК для сохранения обработки в базе 1С Управление торговлей:

Теперь двойным щелчком мыши можем запустить обработку из списка доступных внешних обработок:

  1. Мой прайс-лист выглядит следующим образом:

Убедитесь что ваш прайс-лист сохранен в формате xls, если нет, то сохраните именно в этом формате. Чтобы элементы номенклатуры попали в нужные группы (столбец А) нам необходимо предварительно создать их в справочнике Номенклатура вручную.

Следите за тем чтобы после названия группы не было лишних пробелов, так как название группы в 1С в результате не будет соответствовать названию группы в прайс-листе Excel. Создаем группы:

Запускаем внешнюю обработку как показано выше, либо через меню Файл=>Открыть и выбрав файл ЗагрузкаДанныхИзТабличногоДокумента.epf. Выбираем Режим загрузки — Загрузка в справочник, Вид справочника — Номенклатура. Нажимаем значок Открыть:

Выбираем файл вашего прайс-листа, предварительно изменив Тип файлов на Лист Excel (*.xls) и нажимаем Открыть:

Видим загруженный в обработку прайс лист:

Если у вас очень большой прайс-лист, его открытие займет продолжительное время, следует подождать. Я рекомендую такой прайс-лист сохранить из самой обработки в формате mxl после открытия, такой файл открывается очень быстро. Для этого нажимаем значок Сохранить, пишем название файла и нажимаем Сохранить:

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

Настраиваем реквизиты для загрузки:

Наименование:

Режим загрузки — Искать

№ Колонки табличного документа — 5 (ставите свое значение)

Родитель (имеется в виду группа номенклатуры):

Режим загрузки — Искать

№ Колонки табличного документа — 1 (ставите свое значение)

Артикул:

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

Режим загрузки — Искать

№ Колонки табличного документа — 4 (ставите свое значение)

Базовая единица измерения:

Режим загрузки — Вычислять.

В поле Выражение пишем формулу:

Это выражение означает,что обработка будет сравнить наименование из 6-ой колонки прайс-листа с наименованием в справочнике Классификатор единиц измерения и при совпадение названий присваивать соответствующую единицу из справочника.

Вам необходимо убедиться что все наименования единиц измерения из прайса есть в соотвествующем справочнике 1С. Если их нет,то следует предварительно создать.

Весовой:

Режим загрузки — Устанавливать

Значение по умолчанию — Нет

Полное наименование:

Режим загрузки — Искать

№ Колонки табличного документа — 5 (ставите свое значение)

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

Ставка НДС:

Режим загрузки — Устанавливать

Значение по умолчанию — 18%

Вид номенклатуры:

Режим загрузки — Устанавливать

Значение по умолчанию — Товар

После заполнения всех настроек необходимо произвести контроль заполнения. И если ошибок нет, нажимаем Загрузить.

Ждем окончания загрузки и смотрим как загрузились элементы. Я открыл один из них:

Здесь видим что не хватает обязательных для заполнения полей: единицы хранения остатков и единицы для отчетов. Мы загрузим их следующим этапом.

Если все загрузилось в соответствии с настройками то мы можем сохранить настройки в файл, чтобы в следующий раз не производить настройку заново.Нажимаем значок сохранить во вкладке Настройка:

Пишем название файла и сохраняем. Формат файла будет *.mxlz:

Если в какой либо строке настройки стоит Режим загрузки “вычислять” или “устанавливать” то обработка не будет учитывать значение в колонке настроек “№ Колонки табличного документа” этой же строки настройки.

Если вы загрузили настройку из ранее сохраненной то вам придется заново вводить значения в колонку настроек “№ Колонки табличного документа”.

Чтобы загрузить эту настройку нажмите сюда

  1. Приступим к загрузке единиц хранения остатков и единиц для отчетов. Убираем все галочки с реквизитов кроме Артикул, Единица хранения остатков и Единица для отчетов. Ставим галочку не создавать новых элементов.

Артикул:

Ставим галочку поле поиска.

Режим загрузки — Искать

№ Колонки табличного документа — 4 (ставите свое значение)

Единица хранения остатков:

Режим загрузки — Вычислять

В поле выражение вставляем код на встроенном языке программирования 1С:

Далее Единица для отчетов аналогично Единице хранения остатков.

После заполнения настроек, нажимаем контроль заполнения и если нет ошибок нажимаем Загрузить:

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

Сохраним настройки в файл и приступим к следующему этапу.

Чтобы загрузить эту настройку нажмите сюда

  1. Загрузим 2-типа цен: Цена Розница 1 и Цена Розница 2. Заходим Справочники => Номенклатура => Типы цен номенклатуры:

Добавляем новый тип цен:

Заполняем необходимые реквизиты и сохраняем:

Аналогично добавляем еще один тип цен.

После сохранения типов цен, создадим два пустых документа Установка цен номенклатуры, так как загрузка производится с помощью заполнения обработкой табличной части документа “Установка цен номенклатуры”.

Заходим Документы => Ценообразование => Установка цен номенклатуры:

Добавляем новый документ:

В документе выбираем один из двух созданных типов цен и сохраняем его пустым:

Аналогично создаем второй документ.

В итоге должно получиться следующим образом:

Заходим в нашу обработку. В обработке выбираем Режим загрузки — Загрузка в табличную часть, Ссылка выбираем тип данных документ Установка цен номенклатуры,заново Ссылка выбираем созданный документ Установка цен номенклатуры для первой цены,Табличная часть выбираем Товары.

Переходим во вкладку табличный документ и загружаем ваш прайс. Снова перейдем во вкладку настройки для ввода настроек:

Нумерация колонок — Ручная нумерация колонок.

Номенклатура:

Режим загрузки — Искать

№ Колонки табличного документа — 5 (ставите свое значение).

Цена:

Режим загрузки — Искать

№ Колонки табличного документа — 8 (ставите свое значение для первого типа цен).

Валюта:

Режим загрузки — Устанавливать

Значение по умолчанию — руб. (ставите свое значение)

Единица измерения:

Режим загрузки — Вычислять

В поле выражение вводим код на встроенном языке программирования 1С:

Тип цен:

Режим загрузки — Устанавливать

Значение по умолчанию — Цена Розница 1 (выбираете свое значение)

После того как ввели все настройки, нажимаем контроль заполнения во вкладке табличный документ. Если все правильно нажимаем Загрузить:

После окончания загрузки заходим в заранее созданный документ Установка цен номенклатуры, проверяем все ли правильно загрузилось и нажимаем ОК:

Для второго типа цен выбираем по Ссылке второй документ Установка цен номенклатуры, меняем номер колонки реквизита цена,меняем тип цен на Цена Розница 2 и нажимаем Загрузить:

Аналогичным образом открываем второй документ Установка цен номенклатуры и нажимаем ОК для перепроведения.

Результат загрузки можно увидеть если зайти в элемент номенклатуры и во вкладку Цены номенклатуры.Там видим два созданных типа цен и по нажатию кнопки Перечитать текущие цены мы увидим загруженные нами цены:

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

Сохраняем наши настройки в файл и переходим к следующему этапу.

Чтобы загрузить эту настройку нажмите сюда

  1. Загрузим штрих-коды для нашей номенклатуры. Штрих-коды хранятся в регистре сведений, поэтому выбираем Режим загрузки — В регистр сведений, Вид регистра — Штрих-коды.Загружаем наш прайс во вкладке табличный документ.

Для реквизита Владелец заходим в описание типов и оставляем галочку только напротив номенклатура:

Для реквизита Владелец в поле Искать по выбираем Артикул:

Далее убираем галочки с тех реквизитов с которых возможно. Выбираем ручную нумерацию колонок.

Штрих-код:

Режим загрузки — Искать

№ Колонки табличного документа — 7 (ставите свое значение).

Владелец:

Режим загрузки — Искать

№ Колонки табличного документа — 4 (ставите свое значение для колонки с артикулом).

Тип штрих-кода:

Режим загрузки — Устанавливать

Значение по умолчанию — EAN13 (ставите свое значение)

Единица измерения:

Режим загрузки — Вычислять

В поле выражение вводим код на встроенном языке программирования 1С:

Качество:

Режим загрузки — Устанавливать

Значение по умолчанию — Новый

Режим загрузки — Устанавливать

Значение по умолчанию — оставляем пустым

После заполнения выполняем контроль заполнения во вкладке табличный документ и нажимаем Загрузить.

После успешной загрузки сохраняем настройки в файл.

Чтобы загрузить эту настройку нажмите сюда.

В последних версиях конфигураций на платформе 8.3 реализована замечательная возможность загрузки информации из внешнего файла через буфер обмена в документы закупок и продаж.

Типовая загрузка из внешнего файла в 1С 8.3

Например, нам необходимо загрузить определенный заказ клиента из файла Excel. Открываем файл Excel с нужными нам данными. В 1С создаем документ «Заказ клиента» или открываем старый, в который нужно внести изменения. Там переходим на вкладку «Товары», нажимаем кнопку «Заполнить-Заполнить из внешнего файла».


Рис.1 Загрузка заказа из внешнего файла

В открывшемся окне видим одноименные столбцы: штрих-код, код, артикул, номенклатура, характеристика, количество, цена – необходимый набор данных для заполнения табличной части заказа товарами.


Рис.2 Заполнение необходимых для загрузки заказа данных

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

После поиска номенклатуры открывается следующее окно для проверки найденной информации.


Рис.3 Поиск номенклатуры и заполнение необходимых полей

Можно внести изменения или дозаполнить данные. Если все верно, то переносим данные в наш документ. Загруженные строки с номенклатурой добавляются в табличную часть документа.


Рис.4 Добавление загруженной из Excel информации в заказ

Обработка для загрузки данных из Excel

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

Важно замечание: на компьютере обязательно должен быть установлен Excel «свежей» версии, а также перед загрузкой файла он должен быть закрыт.

Загружаются файлы определенного формата, так как в обработке должно быть жестко прописано, из какого столбца что грузить. Для начала необходимо определиться со структурой файла Excel. Каждый тип данных должен заполняться в отдельном столбце. Не должно быть объединенных ячеек.

Созданную внешнюю обработку можно открывать из базы двумя способами:

  • Через меню «Файл- Открыть». Выбрать файл обработки, сохраненный на компьютере.


Рис.5 Открытие внешней обработки

  • Подключить во внешние обработки.

Подключить внешнюю обработку в базу нужно следующим образом. Заходим в раздел «НСИ и администрирование», нажимаем «Печатные формы, отчеты и обработки».


Рис.6 Загрузка внешней обработки

Идем в «Дополнительные отчеты и обработки», нажимаем «Создать».


Рис.7 Дополнительные отчеты и обработки

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


Рис.8 Добавление внешней обработки

Нажимаем «Продолжить». Выбираем файл с компьютера. Автоматически заполняется наименование, дополнительная информация. Для открытия обработки потребуется нажать кнопку «Выполнить».


Рис.9 Добавление и выполнение внешней обработки

Загрузка файлов Excel

Для загрузки файлов определенного формата нужно создать внешнюю обработку: через меню «Файл-Новый» выбрать «Новая обработка».


Рис.10 Создание внешней обработки

В модуле формы обработки указывается подключение к Excel с помощью COM-соединения:


Рис.11 Ввод команд в модуле формы обработки

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

В настройках такой обработки прописываются столбцы экселя и соответствующие им столбцы обработки.

Таким образом, загрузка данных из Excel возможна как типовыми механизмами, так и через внешние обработки. Типовая загрузка информации в 1С 8.3 имеет фиксированный формат загружаемых данных, однако внешними обработками можно значительно расширить форматы и объемы загружаемой информации.

Дата публикации 21.06.2018

Использован релиз 3.0.63

Для загрузки в справочник номенклатуры из файла в формате Excel сделайте следующее:

  1. Раздел: СправочникиНоменклатура.
  2. Кнопка "Загрузить" (рис. 1).
  3. В открывшемся окне выберите файл загрузки и нажмите кнопку "Открыть".
  1. На "Шаге 1":
    • Анализируются названия колонок в файле загрузки и сопоставляются с реквизитами справочника "Номенклатура". Для колонок, наименование которых программа не смогла сопоставить с реквизитами справочника автоматически (красным шрифтом "Укажите реквизит"), укажите наименование реквизита из справочника вручную. Для этого перейдите по ссылке "Укажите реквизит" и выберите из предложенного списка необходимый. Лишние колонки или строки нужно удалить. Строку с наименованием столбцов удалять не следует, при загрузке программа игнорирует первую строку.
    • Если загружается номенклатура с ценой, то в информационной базе автоматически создается новый документ "Установка цен номенклатуры" на текущую дату. Загрузить из файла можно только один тип цен. Если требуется загрузить два и более типа цен для списка товаров, выполните поочередно загрузку одного файла, выбирая разные типы цен. При каждой загрузке будет создан новый документ "Установка цен номенклатуры" с указанным типом цен.
    • Единицы измерения программа определяет автоматически, если их сокращенное наименование соответствует "Классификатору единиц измерения". Например, чтобы автоматически загружались граммы, в таблице файла загрузки следует указывать сокращенно "г", для литров следует указать сокращенно "л". Если сокращенное наименование единицы измерения указано неверно, то автоматически загружаются штуки "шт".
    • Кнопка "Далее".
    • На "Шаге 2" (рис. 2):
      • По ссылке "Реквизиты новой номенклатуры" можно выбрать группу (папку), в которую следует сохранить новые позиции номенклатуры, вид номенклатуры, номенклатурную группу и ставку НДС. Обратите внимание: если загружаемая позиция уже находится в справочнике "Номенклатура" в определенной группе, записать ее в другую группу нельзя. Проверьте в табличной части корректность данных, при необходимости их можно вручную отредактировать, также можно изменить дату установки цен. Нажмите кнопку "Загрузить".
      • Если на этом этапе некоторые строки будут отмечены знаком "!", то это означает, что в справочнике "Номенклатура" есть несколько позиций с совпадающими значениями реквизитов. Перейдите на закладку "Дубли" и вручную выберите из справочника необходимую позицию.
      • По номенклатуре с одинаковым наименованием и разными единицами измерения следует изменить наименование (например, указать в наименовании единицы измерения) во избежание некорректной загрузки.

      [an error occurred while processing the directive]
      Карта сайта