С помощью функции «Импорт из Excel» можно импортировать и обновлять справочники НЭП из файлов Excel. Так же с помощью импорта можно заполнять табличные части документов НЭП.
Рассмотрим работу данной функции на примере трех задач по импорту справочника «Номенклатура».
Необходимо импортировать каталог (прайс-лист) нового поставщика. Условием задачи является то, что все позиции данного каталога загружаются первый раз.
А) Откроем справочник «Номенклатура» (Окно «Склады» – закладка «Номенклатура». Сначала необходимо определить, в какую секцию будем импортировать позиции: либо в новую (необходимо создать в дереве секций), либо в существующую (т.е. просто щелкнуть мышкой по нужной секции в дереве). Чтобы не было путаницы, импортировать позиции лучше всегда в пустую (новую) секцию и только потом разносить по номенклатурному дереву. Так же с позициями в такой секции можно произвести групповые изменения.
Б) В табличной части документ в контекстном меню выберем пункт «Импорт из Excel».
Откроется окно «Импорт из Excel».
Настроим параметры импорта под нашу Задачу 1:
1) Путь к файлу Excel – указываем файл Excel. Файл может быть открыт во время импорта. Если файл редактировался, то перед стартом импорта его нужно обязательно сохранить.
2) Здесь нужно указать в какой валюте будут импортироваться цены (при условии, что далее в списке полей для импорта будет указано как минимум одно поле для хранения цен).
А) «В текущей валюте ценообразования позиции» – при первом импорте новых позиций лучше не использовать (пригодится при обновлении, например, цен).
Б) «Импортировать цены и устанавливать валюту ценообразования позиции в…» – отмечаем этот пункт и выбираем валюту (2b), в которой будут импортироваться цены. (В нашем примере это будут Рубли [РУБ]). При выборе этого пункта у импортируемых позиций также будет установлена указанная валюта ценообразования.
3a) Действие. Выбираем «Добавлять все строки области».
3b) Добавлять в… Если мы уже создали новую секцию и установили на нее курсор в дереве, то оставляем пункт «в Текущую секцию склада». Так же можно выбрать из выпадающего списка опцию «в Определенную секцию склада» и перетащить мышкой, в появившееся справа окно нужную секцию из дерева в окне «Склады».
4) Импортируемые поля
Из левого окна (4а) перетаскиваем в правое окно (4b) поля, которые будут заполнятся при вставке новых позиции в справочник. Напротив каждого поля указываем свой «столбец» Excel (буквенное Имя колонки Excel, из которой будут браться данные).
По нашей задаче в файле Excel есть следующие колонки с данными:
Заполняем колонки в соответствии c файлом Excel. Например, им будут соответствовать следующие добавленные в окно (4b) поля. Напротив каждого поля указываем соответствующий столбец «Excel».
5) Диапазон строк: Указываем с какой по какую строку таблицы Excel, будут импортироваться позиции. В нашем примере указываем со 2-й строки (т.к. первая строка в Excel это заголовок) по 100-ю.
Вместо указания диапазона строк можно присвоить именную область Excel, включающую в себя импортируемые строки. Для этого нужно выбрать второй пункт «задать область в Excel» и ввести имя области.
6) Все готово. Нажимаем кнопку «Пуск».
7) После выполнения импорта, о чем укажет строка статуса выполнения, активируются следующие кнопки:
«Результат» – выводит окно с предварительным списком позиций, которые были импортированы и ждут подтверждения записи в базу данных. В этом окне можно увидеть, как импортировались позиции, и как они будут выглядеть в базе.
«Применить» – при нажатии, импортируемые позиции запишутся в базу данных.
«Отмена» – если что-то импортировалось не так, и нужно повторить попытку, можно нажать эту кнопку.
Рассмотрим задачу посложнее. Теперь поставщик прислал новый прайс-лист с новыми ценами и нам нужно импортировать эти цены в базу, а именно – обновить старые цены.
Для этого заполним параметры окна следующим образом:
1) Путь к файлу Excel – указываем присланный файл Excel.
2) Импорт цен справочника: тут можно оставить пункт «В текущей валюте ценообразования позиции», т.к. позиции уже есть в базе, и у них стоит определенная ранее валюта ценообразования. Но если есть вероятность, что кто-то из пользователей поменял валюту ценообразования у этих позиции, то лучше выбрать пункт «Импортировать цены и устанавливать валюту ценообразования» и выбрать соответствующую валюту в окне (вв). В этом случае валюта ценообразования обновляемых позиций будут гарантировано перезаписана.
Обратный случай, когда наоборот Ваша организация специально перешла на другую валюту ценообразования для этих позиции и при обновлении цен их менять не надо. В этом случае нужно так же оставить выбранным второй пункт «Импортировать цены и устанавливать валюту ценообразования». И дополнительно установить галочку «При обновлении не менять валюту ценообразования (цену рассчитывать по курсу)». В такой конфигурации цены запишутся в базу в нужной валюте ценообразования, предварительно пересчитавшись по текущему курсу, установленному в программе.
Например, у позиции стоит валюта ценообразования Евро [EUR], а прайс-лист прислали в рублях. Следовательно, указываем пункт «Импортировать цены и устанавливать валюту ценообразования», указываем валюту импорта [РУБ]. А также отмечаем галочку «При обновлении не менять валюту ценообразования (цену рассчитывать по курсу)».
3) Действие: Выбираем «Только обновление полей из списка, отмеченных галочкой».
4) Теперь надо определить поля, которые необходимо использовать для обновления. С одной стороны, должно быть указано поле, которое будет использоваться в качестве идентификатора (ключа), по которому будет осуществляется сопоставление строк в Excel и позиции справочника «Номенклатура» в базе данных НЭП. В нашей задаче это будет поле «Артикул» (добавим его в окно (4) первым). С другой стороны, в это окно нужно добавить поля, которые нужно обновлять. В общем случае их может быть несколько, но в нашем примере только одно поле – «Цена поставщика».
Вот как будет выглядеть эти настройки.
5) «Поле для идентификации обновляемых строк (ключ)» - вот тут как раз и определяем, какое поле из списка в окне (4) будет являться «идентификатором». Выбираем для нашей задачи поле «Артикул». Как видно из логики работы модуля импорта, поле «идентификатор» также надо переносить в окно (4), хотя обновляться оно не будет. Это необходимо для формирования списка (4а) для его выбора.
6) Диапазон строк. Заполняем область импорта аналогично предыдущей задаче.
7) Все готово. Нажимаем кнопку Пуск.
Рассмотрим более сложную задачу. Пришел новый прайс-лист от поставщика с новыми ценами. Но в этом прайс-листе появились новые номенклатурные позиции, которые нужно импортировать в базу данных НЭП. Т.е. необходимо выполнить импорт по следующему алгоритму: позиции, которые есть в базе, нужно обновить, а которые не нашлись – добавить. Т.е. необходимо выполнить разом обе вышеизложенные задачи.
Для этого укажем следующие параметры импорта.
1) Путь к файлу Excel – тут все аналогично.
2) Импорт цен справочника – тут тоже лучше указать явно валюту с опцией «Импортировать цены и устанавливать валюту ценообразования» и выбрать соответствующую валюту. А также отметить галочку «При обновлении не менять валюту ценообразования (цену рассчитывать по курсу)».
3) Действие: Тут выбираем третий пункт «Обновление с добавлением (если не найдено, то добавление)».
4) Окно с полями (4) заполняется по максимуму, как при «добавлении всех позициq» из первой задачи. Т.е. мы добавили поля и определили их соответствие колонкам Excel точно так же, как в первой задаче, так как логика импорта новых позиций остается прежней. Отличие только в том, что новыми они становятся после неудачной попытки найти их в базе по «Идентификатору» и обновить. Теперь разберемся в настройках, которые определяют первый этап импорта по поиску и обновлению позиций. Сначала надо указать, какие поля нужно обновлять в случае, если позиция уже присутствует в базе НЭП. Можно указать одно или несколько полей, а можно и все, если есть подозрение, что поставщик мог вносить изменения.
Необходимые для обновления поля помечаются галочкой слева в том же окне (4). Единственное поле, которое нельзя обновлять и, следовательно, бесполезно отмечать – поле Идентификатор (ключ). Так как по нему будет происходить сопоставление обновляемых позиций. В то же время данное поле будет импортироваться при добавлении новых, отсутствующих в базе позиций.
5) Здесь так же, как и в задаче 2, указываем поле идентификатор: «Артикул».
6) Указываем Диапазон.
7) Жмем «Пуск».
«Ключ может быть составным через разделитель»
Опция может пригодится, когда одно физическое поле в базе данных, например Артикул, может содержать несколько артикулов. В этом случае можно хранить несколько Артикулов в одной строке через разделитель «/» или «;».
Такие ситуации могут возникать, когда поставщик со временем меняет артикулы у позиции, но старые продолжают использоваться. Выходом из этой ситуации может быть использование составного артикула, который позволяет хранить в одном поле старые и новый артикулы через разделитель. Т.е. если мы при импорте указываем в качестве идентификатора поле, которое в базе уже может хранится как составное, то в окне (7a) необходимо указать символ разделителя. В опции (7b) можно указать разделитель ячейки Excel с ключом. В этом случае будет осуществятся сопоставление каждой части составного значения ячейки Excel с ключом из базы данных. В опции (7с) указываются символы, которые могут присутствовать в ключе и должны подменятся на разделитель (7a).
«Исключать дублирование (записи в Excel файле) при обновлении»
Проверка на дублирование строк в Excel относительно колонки с «Идентификатором», включая составные. Если есть дубль, то значения будут браться из верхней строчки.
Отмечать цветом в документе Excel статус импорта
Будет произведённая цветовая подсветка ячеек Excel, которые обновились, добавились. Или возникла ошибка.
Включить дополнительный фильтр импорта
Указывается колонка и ее значение, которое будет явятся фильтром обрабатываемых строк. Например, нам нужно импортировать строки с определенным условием. Добавляем новую колонку, и напротив нужных строк указываем цифру «1» (можно рассчитывать формулой). Далее в установках фильтра на форме импорта указываем колонки и значение «1». Перед импортом не забыть сохранить файл!
Кнопка УСТАНОВКИ
Настройка пресетов для типовых задач импорта: Сохранение в файл и загрузка из файлов настроек импорта.