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