Загрузка номенклатуры в 1С 8.3 из Excel или dbf
Как загрузить табличный документ в программу 1С 8.3 Бухгалтерия?
В 1С 8.3 есть возможность массово загрузить список номенклатуры из табличного документа, например из файла Excel.
Для загрузки мы используем внешнюю обработку ЗагрузкаДанныхИзТабличногоДокумента.epf для управляемых форм (8.2 и 8.3). Она универсальная и должна подходить для любой конфигурации, написанной под управляемое приложение.
Что бы запустить внешнюю обработку, нужно зайти в меню «Файл», далее «Открыть» и выбрать эту обработку из каталога, в которую она была сохранена:
Обработка Загрузка данных из табличного документа 1С 8.3 (управляемые формы)
После того, как обработка открылась в 1С, можно приступать к работе с ней. В первую очередь нам нужно определиться, куда и что мы будем загружать:
Приведем пример на справочнике «Номенклатура«. Создаем некий файл с данными в формате xls.
Обращаем внимание, что файл нужно сохранить в формате «Книга Excel 97 – 2003, то есть расширение должно быть именно xls (если мы загружаем из Excel-я). Другие обработка не видит.
Обработка умеет загружать также файлы формата:
- mxl
- xls
- txt
- dbf
- любой другой формат, откуда можно скопировать данные
Вот так выглядит файл Excel с исходными данными, который мы будем загружать в справочник «Номенклатура»:
Мы не стали прописывать все поля справочника, так как этого будет достаточно, что бы понять принцип загрузки. Кроме того, этих данных достаточно, чтобы начать работать с данными позициями.
Данных позиций сейчас нет в информационной базе 1С, и мы сейчас туда их загрузим.
Нажимаем на значок «Открыть» (на рисунке обозначен как «Выбор источника») и выбираем файл с данными. Можно использовать простое копирование информации. Данные загрузятся в обработку автоматически. Теперь проверим, правильно ли мы заполнили наши данные. Для этого нажимаем кнопку «Контроль заполнения».
Как видно, у нас появились ошибки! Будем устранять. Заходим на закладку «Настройка»:
Прежде, чем исправлять ошибки, обратим внимание на одну важную деталь. Программа изначально не знает, по какому полю ей искать элемент справочника на случай, если он там уже есть. Поэтому ей его нужно указать. Например, ищем по коду, так как он, как правило, уникален. В колонке «Поле поиска» в строке «Код» ставим галочку. Теперь, если запись с таким кодом будет найдена, она будет заменена, иначе создана.
Важно! Если не указать поле поиска, то могут появиться дубли номенклатуры. Особенно после второй загрузки похожего файла!
Теперь посмотрим, почему ругается на поле «Единица». Дело в том, что единицы измерения в 1С 8.3 хранятся в отдельном справочнике и обработка по умолчанию ищет эту единицу по наименованию. А на самом деле словом единица прописана в поле «Полное наименование».
К сожалению, обработка может вести поиск только по «Наименованию» и «Коду» (для программиста возможности шире). Если обратите внимание на рисунки выше, то увидите, что в колонке «Единица» стоит код. И в обработке нужно указать, что поиск нужно вести по коду. Щелкаем два раза по колонке «Условие связи» напротив «Единицы» и меняем на «Код».
Теперь смотрим, что нам что то там про «Услугу» говорят в списке ошибок. Еще одно важное замечание. Колонки в файле должны располагаться строго в том же порядке, как и строки полей справочника. А у нас «Вид номенклатуры» находится в самом низу, а в файле после колонки «Комментарий».
Для того, что бы поднять строку «Вид номенклатуры» вверх, существуют синие стрелочки вверху формы. С помощью стрелки «Вверх» поднимаем нужную строку и ставим под «Комментарием».
Жмем «Загрузить данные» и на этот раз все проходит без ошибок:
По материалам: programmist1s.ru