Загрузка данных из Exel в 1С
С помощью обработки можно загрузить любую информацию из exel в 1С. Обработка универсальная и находиться в папке «Обработки» на рабочем столе. Рассмотрим как загрузить прайс поставщика из exel в 1С.
Загрузка прайса из EXEL в 1С Управление торговля 10
Задача: загрузить товаров из файда exel в справочник номенклатуры 1С с распределением товаров по производителям, с загрузкой артикулов, цен, штрих-кодов
Подготовка файла exel для загрузки в 1С
В файле exel должны быть указаны следующие колонки: наименование, артикул, производитель, цены, штрих-код, единицы измерения. При этом наименование производителя в прайс-листе должно соответствовать наименованию группы в справочнике номенклатуры программы 1С:Управление торговли 8
Файл Exel с прайс-листом нужно выложить на диск М, чтобы он был виден из 1С в облаке.
Обработка для загрузки данных из Exel в 1С
Запускаем 1С Управление торговлей и открываем обработку через пункт меню “Файл-Открыть”. Обработка находиться в Папке
«Обработки» на рабочем столе, называется
«ЗагрузкаДанныхИзТабличногоДокумента.epf»
Загрузка прайс-листа в 1С происходит в три этапа:
Этап 1. Загрузка наименований из Exel в 1С
В окне обработки устанавливаем «Режим загрузки» — «Загрузка в справочник», «Вид справочника» — «Номенклатура».
В закладке «Табличный документ» нажимаем кнопку
«Открыть файл», в появившемся окне выбора открываем диск М, в котором у нас находиться прайс-лист в Excel из которого мы планируем загружать данные в 1С. Первоначально файл может не отобразиться. Установите Тип файла «Лист Excel (*.xls)» После загрузки файла должна быть следующая картина:
Переходим на вкладку «Настройка» на которой отражаются реквизиты карточки номенклатуры и устанавливаем «Ручную нумерацию колонок»
Указываем номер строки с которой в прайс-листе начинаются данные, пропуская шапку. В нашем примере это 9-ая строка.
Опция «Не создавать новых элементов» нужна в том случае, если мы загружаем обновление прас-листа и планируем изменять уже существующие элементы. При первоначалной загрузки прайс-листа в 1С галочку НЕ ставим.
Галочки полей карточки номенклатуры снимаем и оставляем только на тех полях, которые нас интересуют.
Строки «Наименование» и «Полное наименование» — устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе наименование в третьей колонке — ставим 3.
Строка «Родитель» – раздел справочника номенклатуры. В нашем случае – производитель товара.
Строка «Родитель» — в колонке «Режим загрузки» выбираем «Искать», в колонке «№ Колонки табличного документа» — в нашем прайс-листе производители в четвертой колонке — ставим 4.
Если необходимости распределения по производителям нет и загрузить все новые элементы требуется в одну папку, тогда в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем группу номенклатуры, в которую будем загружать данные из прайс-листа.
Строка «Артикул» — ставим галку в колонке «Поле поиска» (вторая колонка) — программа проверит наличие в базе данных 1С элемента с таким артикулом, и если таковой уже существует, то новый элемент с таким наименованием создаваться не будет. Устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — в нашем прайс-листе артикул во второй колонке — ставим 2
Строка «Базовая единица измерения» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем единицу измерения (в нашем случае — шт.)
Строка «Весовой» — в нашем случае товар НЕ весовой, поэтому «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Нет»
Строка «Ставка НДС» — в нашем случае для всех загружаемых элементов устанавливаем НДС 18%, для этого в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «18%».
Если товары идут с разным НДС, который указывается в отдельной колонке загружаемого прайс-листа, то в колонке «Режим загрузки» установите «Искать» и номер соответствующей колонки прайс-листа в «№ Колонки табличного документа».
Строка «Услуга» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Нет» (в нашем случае все позиции это товары).
Строка «Вид номенклатуры» — в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Товар».
Мы задали минимальные значения новых элементов справочника номенклатуры, которые позволят начать работать.
Если вы готовы задать значения недостающих реквизитов сейчас, то укажите и их.
Нажимаем «Загрузить» в правом нижнем углу. На вопрос подтверждения нажимаем «Да»
После загрузки прайс-листа в 1С будет выдано сообщение об успешной загрузке. На текущий момент из Exel загружены наименования товаров в справочник номенклатуры 1С. Теперь можно проверить результат загрузки, открыв справочник «Номенклатура» из верхнего меню «Справочники».
Обратите внимание, что «Единица для отчетов» и «Единица хранения остатков» остались не заполненными. Данные реквизиты необходимо установить, так как они понадобятся для дальнейшей работы. Возможны два режима загрузки: ручной и автоматический.
Ручной режим загрузки реквизитов
Данные реквизиты создаются программой 1С автоматически, при первом открытии и сохранении карточки номенклатуры. Если не планируется загрузка штрих-кодов, то можно сейчас данный шаг пропустить, и при первом использовании элемента номенклатуры необходимо будет отрыть и сохранить карточку товара. При большом объеме товаров такой метод будет очень трудоемким.
Автоматический режим загрузки реквизитов
Возвращаемся в окно обработки загрузки прайс-листа из Exel в 1С. На вкладке «Настройки» ставим галку в поле «Не создавать новых элементов» и снимаем «галки» со всех строк.
Идентификация позиций справочника возможно по артикулу или наименованию. Идентификация по Артикулу предпочтительна, однако в прайс-листе колонки с артикулами может и не быть.
При идентификации по артикулу
В строке «Артикул» ставим галку в колонке «Поле поиска» (вторая колонка). Устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — номер колонки с артикулами в прайс-листе (в нашем прайс-листе артикул во второй колонке, поэтому ставим 2)
В строках «Единица для отчетов» и «Единица хранения остатков» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С.
СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекущиеДанные["Артикул"]); БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(796); ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры); Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения); НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения; НайденнаяЕдиницаОбъект.Коэффициент = 1; НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры; Попытка НайденнаяЕдиницаОбъект.Записать(); Результат = НайденнаяЕдиницаОбъект.Ссылка; Исключение Сообщить("Не удалось записать"); КонецПопытки; Иначе Результат =ТекСпр.Ссылка; КонецЕсли;
При идентификации по наименованию
В строке «Наименование» ставим галку в колонке «Поле поиска» (вторая колонка). Устанавливаем Режим загрузки «Искать», «№ Колонки табличного документа» — номер колонки с наименованием в прайс-листе (в нашем прайс-листе наименование в третьей колонке, поэтому ставим 3)
В строках «Единица для отчетов» и «Единица хранения остатков» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С:
СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Наименование"]); БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(796); ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры); Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения); НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения; НайденнаяЕдиницаОбъект.Коэффициент = 1; НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры; Попытка НайденнаяЕдиницаОбъект.Записать(); Результат = НайденнаяЕдиницаОбъект.Ссылка; Исключение Сообщить("Не удалось записать"); КонецПопытки; Иначе Результат =ТекСпр.Ссылка; КонецЕсли;
Нажимаем кнопку «Загрузить» в правом нижнем углу. После загрузки открываем справочник «Номенклатура» и проверяем результат.
Этап 2. Загрузка цен из прайс листа Exel в 1С
В окне обработки для загрузки данных из Exel в 1С выбираем режим загрузки «Загрузка в табличную часть». В поле «Ссылка» выбираем «Установка цен номенклатуры».
После этого в том же самом поле «Ссылка» снова нажимаем на кнопку выбора. Откроется журнал документов «Установка цен номенклатуры», в котором мы можем выбрать тип цен, который будем загружать или создать новый тип цен. В нашем случае загружаем цены типа «Розничная». Нажимаем «Ок» и сохраняем пока пустой документ. Теперь выбираем этот новый сохранённый документ из журнала в строке «Ссылка». В поле «Табличная часть» выбираем «Товары».
Переходим на вкладку «Табличная часть» и загружаем наш прайс exel, из которого загружали наименования.
Устанавливаем «Первая строка данных табличного документа» номер первой строки с данными в документе exel (в нашем случае строка 9). Выбираем «Ручную нумерацию колонок».
Переходим на вкладку «Настройка»
В строке «Номенклатура» устанавливаем режим загрузки «Искать», «№ Колонки табличного документа» устанавливаем номер столбца с наименованием (в нашем случае 3). Если необходима идентификация по артикулу, то в колонке “Искать по” выбираем “Артикул”, а в «№ Колонки табличного документа» ставим номер колонки с артикулами (в нашем случае 2).
В строке «Цена» устанавливаем режим загрузки «Искать», «№ Колонки табличного документа» — ставим номер колонки с ценами, которые хотим загрузить (мы будем загружать розничную цену, поэтому ставим 5).
В строке «Валюта» устанавливаем Режим загрузки «Устанавливать», выбираем валюту (у нас «руб.»)
В строке «Единица измерения» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С.
СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Номенклатура"]); Результат=СсылкаНоменклатуры.ЕдиницаХраненияОстатков;
В строке «Тип цен» устанавливаем Режим загрузки «Устанавливать», выбираем цену, которую будем загружать «Розничная».
Если в вашем прайс-листе цены товаров приведены в разных валютах, которая указывается в отдельной колонке загружаемого прайс-листа, то в колонке «Режим загрузки» установите «Искать» и номер соответствующей колонки прайс-листа в «№ Колонки табличного документа».
В строке «Способ расчета цены» устанавливаем Режим загрузки «Устанавливать», выбираем «По процентной наценке на базовый тип».
В правом нижнем углу нажимаем кнопку «Загрузить». После загрузки будет выдано сообщение об успешной загрузки. Теперь нужно проверить результат. Открываем документ «Установка цен номенклатуры», в который загружали данные (нажав кнопочку с изображением лупы в строке «Ссылка») Проверяем документ, если всё в порядке нажимаем «Ок». Цены должны установиться.
Открываем справочник номенклатуры, проверяем закладку «Цены» в карточке загруженных элементов, нажимаем кнопку «Перечитать текущие цены». Если всё в порядке, то можно приступать к загрузке остальных цен (оптовые, закупочные и т.д.). Процедура аналогична.
Обратите внимание, что 1С:Управление торговлей 8 поддерживает расчет одних цен на основании других. Поэтому загружать, возможно, будет достаточно только одну базовую цену, например Розничную или наоборот Закупочную, а для других цен указать алгоритмы формирования (скидка %, наценка %, округление до знака и т.д.)
Этап 3. Загрузка штрих-кодов из Exel в 1С
В обработке для загрузки данных из Exel в 1С выбираем «Режим загрузки» «Загрузка в регистр сведений». “Вид регистра” выбираем “Штрихкоды”.
Опять устанавливаем параметр «Первая строка данных табличного документа» – ставим номер первой строки с данными и «Ручную нумерацию колонок».
На вкладке «Настройка» настраиваем параметры загрузки. Снимаем галки со всех строк, с которых их можно снять. В оставшихся строках устанавливаем параметры:
В строке «Штрихкод» устанавливаем Режим загрузки «Искать», в колонке «№ Колонки табличного документа» пишем как в нашем прайс-листе 9.
В строке «Владелец» в колонке «Описание типов» открываем окно «Редактирование типа данных» устанавливаем (оставляем) галку только в поле «Номенклатура». Режим загрузки устанавливаем «Искать». Для идентификации по Артикулу, в колонке «№ Колонки табличного документа» пишем номер колонки, в которой в нашем прайс-листе указаны артикулы. В нашем случае 2. В колонке «Искать по», устанавливаем «Артикул».
В случае, если в прайс-листе нет колонки с артикулами, то в колонке «Искать по» необходимо выбрать «Наименование», а в ячейке «№ Колонки табличного документа» указать номер колонки прайс-листа с наименованиями.
В строке «Тип штрихкода» в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «EAN13».
В строке «Единица измерения» в поле «Режим загрузки» выбираем «Вычислять». В поле «Выражение» пишем алгоритм на встроенном языке программирования 1С.
CсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Владелец"]); Результат=СсылкаНоменклатуры.ЕдиницаХраненияОстатков;
В строке «Качество» в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» выбираем «Новый».
В строках «Характеристика номенклатуры», «Серия номенклатуры», «Удалить код» в колонке «Режим загрузки» выбираем «Устанавливать», в колонке «Значение по умолчанию» оставляем пустые ячейки.
Нажимаем «Загрузить» в правом нижнем углу.
После окончания загрузки, открываем карточку товара, проверяем наличие штрих-кода.