Как сделать импорт в 1с из excel в?

как сделать импорт в 1с из excel в

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

Перенос данных из Эксель в 1С

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

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

  • Список номенклатуры;
  • Список контрагентов;
  • Список прайсов;
  • Перечень заказов;
  • Информация о покупках или продажах и т.д.

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

Подготовка данных

Нам нужно будет подготовить данные в самой таблице Excel.

  1. Любой список, загружаемый в 1С, должен быть однородно структурирован. Нельзя выполнять загрузку при наличии в одном столбце или ячейке данных нескольких типов, например, имя человека и его телефонный номер. В этом случае, такие двойные записи обязательно следует разделять в разные столбцы.
  2. Не допускается наличия объединенных ячеек даже в заголовках. Это может привести к некорректным результатам при переносе данных. Поэтому, если объединенные ячейки имеются, их нужно разделить.
  3. Если исходную таблицу сделать максимально простой и понятной, без применения относительно сложных технологий (макросы, формулы, комментарии, сноски, лишние элементы форматирования и т.д.), то это поможет максимально предотвратить проблемы на дальнейших шагах переноса.
  4. Обязательно следует привести наименование всех величин к единому формату. Не допускается наличие обозначения, например, килограмм, отображаемого разными записями: «кг», «килограмм», «кг.». Программа будет их понимать как разные величины, поэтому нужно выбрать один вариант записи, а остальные исправить под этот шаблон.
  5. Обязательно наличие уникальных идентификаторов. В их роли может выступать содержимое любого столбца, которое не повторяется в других строках: индивидуальный налоговый номер, артикул и т.д. Если в существующей таблице нет столбца с подобным значением, то можно добавить дополнительную колонку и произвести там простую нумерацию. Это нужно для того, чтобы программа смогла идентифицировать данные в каждой строке отдельно, а не «сливала» их вместе.
  6. Большинство обработчиков файлов Эксель не работает с форматом xlsx, а только с форматом xls. Поэтому, если наш документ имеет расширение xlsx, то нужно его конвертировать. Для этого переходим во вкладку «Файл» и жмем на кнопку «Сохранить как».

    как сделать импорт в 1с из excel в

    Открывается окно сохранения. В поле «Тип файла» по умолчанию будет указан формат xlsx. Меняем его на «Книга Excel 97-2003» и жмем на кнопку «Сохранить».

    как сделать импорт в 1с из excel в

    После этого документ будет сохранен в нужном формате.

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

Подключение внешнего загрузчика

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

Существует несколько внешних загрузчиков таблиц Эксель для 1С, которые созданы различными разработчиками. Рассматривать мы будем пример с использованием инструмента для обработки информации «Загрузка данных из табличного документа» для версии 1С 8.3.

  1. После того, как файл в формате epf скачан и сохранен на жестком диске компьютера, запускаем программу 1С. Если файл epf упакован в архив, то его предварительно нужно извлечь оттуда. На верхней горизонтальной панели приложения жмем на кнопку, запускающую меню. В версии 1С 8.3 она представлена в виде вписанного в оранжевую окружность треугольника, перевернутого углом вниз. В появившемся списке последовательно переходим по пунктам «Файл» и «Открыть».
  2. Запускается окно открытия файла. Переходим в директорию его расположения, выделяем тот объект и жмем на кнопку «Открыть».
  3. После этого загрузчик запустится в 1С.

как сделать импорт в 1с из excel в

Скачать обработку «Загрузка данных из табличного документа»

Загрузка данных

Одной из основных баз данных, с которыми работает 1C, является список номенклатуры товаров и услуг. Поэтому для описания процедуры загрузки из Excel остановимся на примере переноса именно этого типа данных.

  1. Возвращаемся к окну обработки. Так как мы будем загружать номенклатуру товаров, то в параметре «Загрузка в» переключатель должен стоять в позиции «Справочник». Впрочем, он так установлен по умолчанию. Переключать его следует только тогда, когда вы собрались переносить другой тип данных: табличную часть или регистр сведений. Далее в поле «Вид справочника» кликаем по кнопке, на которой изображено многоточие. Открывается выпадающий список. В нем нам следует выбрать пункт «Номенклатура».
  2. После этого обработчик автоматически расставляет те поля, которые программа использует в этом виде справочника. Нужно сразу отметить, что совсем не обязательно заполнять все поля.
  3. Теперь опять открываем переносимый документ Excel. Если наименование его колонок отличается от наименования полей справочника 1С, которые содержат соответствующие, то нужно переименовать эти столбцы в Экселе так, чтобы названия полностью совпадали. Если в таблице имеются столбцы, для которых в справочнике нет аналогов, то их следует удалить. В нашем случае такими столбцами являются «Количество» и «Цена». Также следует добавить, что порядок расстановки столбцов в документе должен строго совпадать с тем, который представлен в обработке. Если для некоторых столбцов, которые отображены в загрузчике, у вас нет данных, то эти колонки можно оставлять пустыми, но нумерация тех столбцов, где имеются данные, должна совпадать. Для удобства и быстроты редактирования можно применять специальную возможность Эксель для быстрого перемещения колонок местами.

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

  4. Возвращаемся в окно обработки 1С. Жмем на кнопку «Открыть», которая изображена в виде папки желтого цвета.
  5. Запускается окно открытия файла. Переходим в директорию, где расположен документ Эксель, который нам нужен. Переключатель отображения файлов по умолчанию установлен для расширения mxl. Для того чтобы показать нужный нам файл, его требуется переставить в позицию «Лист Excel». После этого выделяем переносимый документ и жмем на кнопку «Открыть».
  6. После этого содержимое открывается в обработчике. Чтобы проверить корректность заполнения данными, жмем на кнопку «Контроль заполнения».
  7. Как видим, инструмент контроля заполнения сообщает нам, что ошибки не найдены.
  8. Теперь перемещаемся во вкладку «Настройка». В «Поле поиска» ставим галочку в той строке, которая у всех наименований, заносимых в справочник номенклатуры, будет уникальная. Чаще всего для этого используют поля «Артикул» или «Наименование». Это нужно делать для того, чтобы при добавлении новых позиций в список, данные не задваивались.
  9. После того, как все данные внесены и настройки выполнены, можно переходить к непосредственной загрузке информации в справочник. Для этого кликаем по надписи «Загрузить данные».
  10. Выполняется процесс загрузки. После её завершения можно перейти в справочник номенклатуры и убедиться, что все нужные данные туда добавлены.

как сделать импорт в 1с из excel в

Урок: Как поменять столбцы местами в Excel

Мы проследили процедуру добавления данных в справочник номенклатуры в программе 1C 8.3. Для других справочников и документов загрузка будет проводиться по тому же принципу, но с некоторыми нюансами, с которыми пользователь сможет разобраться самостоятельно. Также нужно заметить, что у различных сторонних загрузчиков процедура может отличаться, но общий подход остается у всех одинаковый: сначала обработчик загружает из файла информацию в окно, где производится её редактирование, а уже потом она добавляется непосредственно в базу данных 1С.

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

Импорт из Excel в 1С — импорт таблицы Excel в 1С (любого формата при помощи OLE DB)

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

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

Для понимания материала рекомендую прочесть предыдущую статью Из Excel в 1С, получение списка листов (имен листов) из файла Excel.

В предыдущей статье есть ссылка на скачивание свежей версии драйверов MDAC, которые вы можете бесплатно установить на любой компьютер, чтобы импорт таблиц из Excel в 1С поддерживался для формата последней версии Microsoft Office (в состав которого входит и Excel).

Итак, вот перед вами код функции ФайлExcel_ИмпортироватьЛист()

// Функция импортирует (загружает данные) из указанного листа файла в формате Microsoft Excel в таблицу значений 1С // Возвращается таблица значений, содержащая импортированные данные, либо Неопределено, если импорт данных не удался. // Входные параметры: //    - строка, полный путь и имя файла рабочей книги Excel, с расширением xls, xlsx //    - строка или число, имя листа в рабочей книге (должно заканчиваться символом "$"), либо порядковый номер листа //                        в книге Excel. Нумерация листов начинается с 1. //    - тип булево, "Истина" или "Ложь". //                                Если "Истина", тогда в качестве имен колонок таблицы значений (таблицы результата) //                             будут использованы заголовки столбцов в исходном листе Excel. В этом случае первая строка импортируемого листа //                             обязательно должна содержать заголовки в каждом столбце, и текст заголовка должен соответствовать правилам //                             наименования идентификаторов в языке 1С (последовательность букв, цифр и знаков подчеркивания, //                             начинающаяся только с букв или знака подчеркивания) //                                Если "Ложь", тогда имена колонок результирующей таблицы значений будут сформированы автоматически, по принципу //                             F1, F2...Fn В этом случае первая строка импортируемого листа может быть любой, к ней не предъявляется никаких //                             требований. //  Возвращаемая таблица значений будет содержать в себе строки и колонки, заполненные данными, в том же порядке, соответствующем строкам //  и колонкам в исходном листе Excel Функция ФайлExcel_ИмпортироватьЛист(ИмяФайла, ИмяИлиНомерЛиста = 1, ИспользоватьЗаголовок = Ложь)   adFalse = 0;   // формируем строку подключения к OLE DB источнику данных с именем "Microsoft.ACE.OLEDB.12.0"   HDR = ?(ИспользоватьЗаголовок, "Yes", "No");   СтрокаСоединения = ФорматСтроки("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%1; Extended Properties=""Excel 12.0;HDR=%2""", ИмяФайла, HDR);   // если лист задан не именем, а номером, требуется сначала найти имя листа   Если ТипЗнч(ИмяИлиНомерЛиста) = Тип("Число") Тогда     // проверяем, чтобы номер листа был не меньше единицы     Если ИмяИлиНомерЛиста  МассивИменЛистов.Количество() Тогда         Сообщить("Ошибка. Номер запрошенного листа больше, чем общее число листов в книге Excel");         Возврат Неопределено;       КонецЕсли;       ИмяЛиста_ = МассивИменЛистов; // запоминаем имя листа для дальнейшего чтения данных     Иначе       Сообщить("Ошибка. Не удалось получить имя листа в книге Excel по его номеру");       Возврат Неопределено;     КонецЕсли;     Иначе     // проверяем, чтобы последним символом в имени листа был знак $     Если Прав(ИмяИлиНомерЛиста, 1)  "$" Тогда       Сообщить("Ошибка в параметре. Имя листа должно оканчиваться знаком доллара '$'");       Возврат Неопределено;     КонецЕсли;       ИмяЛиста_ = ИмяИлиНомерЛиста; // запоминаем имя листа для дальнейшего чтения данных   КонецЕсли;     // формируем текст запроса к источнику данных книги Excel. По-сути это SQL запрос с выборкой всех столбцов и строк указанной таблицы (листа)   // В языке SQL такой запрос не гарантирует никакой порядок следования записей, но на практике, в нашем случае,   // из листа Excel строки будут выбраны в правильном, последовательном порядке, от 1-ой строки к последней   ТекстКоманды = ФорматСтроки("SELECT * FROM ", ИмяЛиста_);   // создаем специальный com-объект ADODB.Recordset, который будет содержать выбранные данные (некий аналог таблицы значений 1С)   Recordset = Новый COMОбъект("ADODB.Recordset");   Попытка     // заставляем Recordset выполнить запрос к данным. Текст запроса в переменной ,     // а параметры соединения указаны в строке , сформированной в начале функции     // После успешного выполнения запроса объект Recordset содержит в себе копию данных из листа Excel     // т.е. имеет внутри себя строки и колонки с данными.     Recordset.Open(ТекстКоманды, СтрокаСоединения);   Исключение     Сообщить(ОписаниеОшибки());     Возврат Неопределено;   КонецПопытки;   ТЗ = Новый ТаблицаЗначений;   КоличествоКолонок = Recordset.Fields.Count; // получаем количество колонок с данными, после выполнения запроса   // Создаем колонки результирующей таблицы значений, копируя имена колонок из объекта Recordset   // Имена колонок либо автоматически сформированы системой, либо взяты из имен столбцов листа Excel   // Это зависит от вх.параметра    Для НомерКолонки = 0 По КоличествоКолонок - 1 Цикл     ТЗ.Колонки.Добавить(Recordset.Fields(НомерКолонки).Name);   КонецЦикла;   // перебираем записи(строки) объекта Recordset   Пока Recordset.EOF() = adFalse Цикл     НоваяСтрока = ТЗ.Добавить();     //  копируем данные каждого столбца (поля) в новую строку таблицы значений     Для НомерКолонки = 0 По КоличествоКолонок - 1 Цикл       НоваяСтрока = Recordset.Fields(НомерКолонки).Value;     КонецЦикла;     Recordset.MoveNext(); // переходим на следующую запись(строку) объекта Recordset   КонецЦикла;     Возврат ТЗ; КонецФункции

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

Наша функция ФайлExcel_ИмпортироватьЛист() извлекает информацию для импорта из Excel в 1С с одного конкретного листа. Поэтому, кроме имени файла-таблицы Excel , мы должны передать в функцию еще и имя нужного нам листа. Имя листа в Excel всегда заканчивается знаком «$«, например «Лист1$«, когда это имя используется для ссылки на нужный лист.

Чаще всего бывает так, что нужная нам информация находится на первом, по счету, листе файла Excel, поэтому вместо имени в функцию можно передать порядковый номер листа — 1. Ну или любой другой номер, если вам известно, на каком, по-порядку, листе находится интересующие данные. (Важно! Иногда нумерация листов в книге Excel не соответствует видимому порядку отображения листов при открытии книги. Например, лист, который вы видите первым по-счету, может иметь номер 4 или другой, не равный единице. Вам надо проверять это уже в процессе работы с конкретным файлом, или вместо номера использовать имя листа)

Мы имеем, таким образом, некую универсальность, при выборе нужного листа с данными для импорта из Excel в 1С. Это достигается тем, что изнутри функции ФайлExcel_ИмпортироватьЛист() вызывается другая функция, ФайлExcel_ПолучитьСписокЛистов() (описанная в прошлой статье), благодаря которой извлекается имя листа, соответствующее переданному номеру листа. А далее, запрос на чтение выстраивается с использованием заранее полученного имени листа Excel.

Функция ФайлExcel_ИмпортироватьЛист() имеет еще и третий параметр. Дело в том, что возвращаемая после импорта из Excel в 1С таблица значений имеет колонки. Разумеется, эти колонки должны иметь какие-то имена. Для управления наименованием колонок и нужен третий параметр, который я назвал ИспользоватьЗаголовок.

Если мы присвоим этому параметру значение Истина то для именования колонок в результирующей таблицы значений — будут использованы значения ячеек из первой строки импортируемого листа Excel. Разумеется, сами данные, как таковые, в этом случае будут «начинаться» со второй строки. По-другому, вторая строка исходного листа будет являться первой строкой таблицы значений 1С, а первая строка исходного листа будет использована как заголовок столбцов таблицы значений 1С.

Надеюсь, что не запутал Вас. В случае, если мы присвоим параметру ИспользоватьЗаголовок = Ложь, результирующая таблица значений получить стандартные имена колонок, по порядку: «F1, F2 .. Fn» и первая строка исходного листа будет импортирована в первую строку таблицы значений.

Исходный файл-пример, чтобы показать импорт из Excel в 1С

Такой способ представляется мне более естественным, поэтому по умолчанию я и назначил ИспользоватьЗаголовок = Ложь. Следует еще и учесть, что имена колонок в таблице значений 1С должны строго соответствовать правилам именования идентификаторов 1С (не содержать пробелы и т.д.)

И если мы выберем режим использования заголовков (ИспользоватьЗаголовок = Истина), а содержимое ячеек первой строки исходного листа Excel не будет соответствовать правилам 1С, то функция вызовет исключение и аварийно завершится при попытке создания колонок таблицы значений, с «кривыми» именами.

Выше был размещен исходный текст отдельно взятой функции ФайлExcel_ИмпортироватьЛист().

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

Тестовая обработка по импорту из Excel в 1С

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

Если комментариев внутри исходного кода недостаточно, то пишите вопросы в комментариях к этой статье. Хотя, функцию можно с успехом использовать и без понимания принципов ее работы. Бывает, зачастую, просто некогда детально разбираться в вопросе, лишь бы «быстрее заработало». Тоже вариант! 🙂

Скачать тестовую обработку по импорту таблиц из Excel в 1С

В этой статье я расскажу как с помощью универсальной обработки “Загрузка данных из табличного документа” с диска ИТС загрузить данные в справочник номенклатура в конфигурацию Управление торговлей 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;  НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;  Попытка НайденнаяЕдиницаОбъект.Записать();  Результат = НайденнаяЕдиницаОбъект.Ссылка;  Исключение Сообщить("Не удалось записать");  КонецПопытки; Иначе Результат =ТекСпр.Ссылка;  КонецЕсли;  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вводим настройки:

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

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

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

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

Цена:

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

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

Валюта:

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

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

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

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

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

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные);    Результат=СсылкаНоменклатуры.ЕдиницаХраненияОстатков;  

Тип цен:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вводим настройки:

Штрих-код:

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

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

Владелец:

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

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

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

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

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

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

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

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

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекстыЯчеек);    БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек);    ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры);  Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();  НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения);  НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;  НайденнаяЕдиницаОбъект.Коэффициент = 1;  НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;  Попытка НайденнаяЕдиницаОбъект.Записать();  Результат = НайденнаяЕдиницаОбъект.Ссылка;  Исключение Сообщить("Не удалось записать");  КонецПопытки; Иначе Результат =ТекСпр.Ссылка;  КонецЕсли;  

Качество:

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

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

Остальные реквизиты:

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

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

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

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

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