Загрузка файла в 1С 8.3: из Excel, XML и через обработку

· 9 мин

Содержание

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

Для списка номенклатуры, контрагентов или цен обычно хватает Excel и штатной загрузки. Для документов с табличной частью и связями между объектами лучше XML или готовая обработка. Ниже — как подготовить файл, пройти каждый способ и не поймать ошибку на середине импорта.

Какой способ выбрать: сравнение вариантов загрузки

Сначала определитесь с форматом и целью. Это сэкономит час, который иначе уйдёт на попытки загнать документы туда, где они не поместятся.

СпособЧто грузитКогда подходитРиски
Штатная загрузка из табличного документаСправочники, табличные частиПрайс, номенклатура, список контрагентовНужна ровная таблица без объединённых ячеек
Внешняя обработка .epfЧто угодно, зависит от кодаНестандартный формат, банковские выписки, выгрузки из чужих системЧужой код в базе, нужна проверка источника
Обмен по правилам (XML)Объекты со связями, документыПеренос между базами 1С, обмен с другой программойПравила должны совпадать с обеих сторон
Свой код (ЧтениеXML, чтение таблицы)Любой форматРегулярная загрузка, интеграцииНужен программист

Если загружаете данные в рабочую базу впервые, сделайте это на копии. Откатить импорт тысяч позиций вручную гораздо дольше, чем развернуть копию.

Как загрузить файл Excel в 1С штатной обработкой

В большинстве типовых конфигураций (Бухгалтерия, Управление торговлей, ERP) есть обработка загрузки из табличного документа. Точное место в меню зависит от конфигурации и релиза. Проще всего найти её через строку поиска по командам интерфейса: введите «загрузка данных» и выберите вариант с табличным документом.

Порядок работы одинаков везде:

  1. Откройте обработку и выберите, что загружаем: справочник или табличную часть документа.
  2. Откройте файл или вставьте данные из Excel через буфер обмена (Ctrl+V в табличную область).
  3. Сопоставьте колонки с реквизитами 1С: у каждой колонки в шапке выберите поле назначения.
  4. Выберите режим: только добавлять новые элементы или обновлять существующие. Для обновления нужно поле-идентификатор: код, артикул или ИНН.
  5. Нажмите проверку, если она есть, и только потом загрузку.

Перед загрузкой в живую базу сделайте резервную копию. Массовый импорт без бэкапа — частая причина слов «а можно всё вернуть?» от бухгалтера.

Загрузка в табличную часть документа

Если нужно подтянуть позиции в уже созданный документ (поступление, реализацию), ищите в командах документа кнопку подбора или загрузки данных. Если её нет, помогает обычный приём: скопировать колонки из Excel и вставить в табличную часть. Порядок и количество колонок в буфере должны совпасть с порядком колонок на форме.

Как подготовить Excel-файл к загрузке

Девять из десяти сбоев импорта рождаются в самом файле. Пять минут на подготовку снимают большинство проблем.

Проверьте по списку:

  • 📄 Формат .xlsx или .xls. Файлы .xlsm с макросами и .csv лучше пересохранить как обычную книгу.
  • 🔤 Одна строка шапки с понятными названиями колонок. Никаких «шапок» в три этажа.
  • 🚫 Нет объединённых ячеек. Они ломают привязку колонок к полям.
  • 🔢 Коды, ИНН, артикулы и номера с ведущими нулями — в текстовом формате, иначе 00123 превратится в 123.
  • 💰 Числа с копейками записаны одним разделителем. Не смешивайте точку и запятую в одной колонке.
  • 🧹 Нет пустых строк внутри данных и итоговых строк в конце.
  • 🔒 Файл закрыт в Excel в момент загрузки. Открытый файл часто блокируется.

Отдельно про ИНН: у юрлиц он 10 цифр, у ИП — 12. Колонка, где встречаются оба варианта, должна быть именно текстовой. Если Excel сам сделал её числовой, ведущие нули пропали ещё до 1С, и восстановить их придётся вручную.

Лишние пробелы в начале и конце названий создают дубли: «Ромашка ООО» и «Ромашка ООО » 1С считает разными элементами. Перед загрузкой пройдитесь по колонкам функцией СЖПРОБЕЛЫ в Excel.

Проверка на маленькой выборке

Не грузите сразу весь файл. Оставьте 5-10 строк, загрузите их и посмотрите результат в справочнике: правильно ли легли единицы измерения, группы, ставки НДС. Если с маленьким куском всё в порядке, грузите остальное.

Сопоставление колонок: на что смотреть

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

Сопоставление полей
Наименование→Наименование (поле поиска дублей)
Артикул→Артикул (идентификатор для обновления)
Единица→Единица измерения (справочник, должна существовать)
Цена→Цена (число, один разделитель)
Группа→Родитель (группа должна быть создана заранее)

Справочные поля (единицы, группы, виды номенклатуры, ставки НДС) 1С ищет по названию. Если в файле «шт.», а в базе «шт», строка либо не загрузится, либо создаст новый элемент. Приведите написание к тому, что уже есть в справочнике.

Ещё одна мелочь: даты. Колонка с датами должна быть в формате даты, а не текста вида «5 окт». Иначе 1С либо пропустит значение, либо запишет пустую дату. Проверьте несколько строк после пробной загрузки и убедитесь, что день и месяц не поменялись местами.

Загрузка файлов через внешние обработки и правила обмена

Когда формат нестандартный, помогает внешняя обработка — файл с расширением .epf. Она не входит в конфигурацию, поэтому подключается на лету.

Как открыть:

  1. Меню «Файл» → «Открыть».
  2. Выберите файл .epf.
  3. Форма обработки откроется в отдельном окне. Дальше работаете с ней, как с любой другой.

Для постоянной работы обработку лучше добавить в справочник дополнительных отчётов и обработок (раздел администрирования, пункт про дополнительные отчёты и обработки; названия различаются по версиям). Тогда она будет доступна пользователям по правам, а не лежать «на флешке у главбуха».

Внешняя обработка выполняет код с правами вашей учётной записи. Открывайте только файлы от разработчика, которому доверяете. Если пришло письмо с .epf от незнакомца, не открывайте его в рабочей базе.

Обмен по правилам

Когда данные нужно перенести между двумя базами 1С, используют конвертацию данных: правила описывают, какой объект источника в какой объект приёмника превращается. В типовых конфигурациях встроены готовые обмены (например, Бухгалтерия — Управление торговлей), настраиваются они в разделе администрирования, пункт «Синхронизация данных».

Если правил нет, а переносить надо, подойдёт универсальный обмен данными в формате XML. Он работает по файлу правил и выгружает в файл обмена, который затем загружается в другую базу. Правила должны подходить обеим сторонам: версия конфигурации-источника и приёмника влияет на то, будут ли загружены все реквизиты.

Загрузка данных из XML и JSON

XML удобен там, где есть структура: документ, в нём шапка и табличная часть, у позиций — ссылки на справочники. JSON встречается реже, обычно в интеграциях с интернет-сервисами.

Что проверить в XML до загрузки

  • Кодировка файла указана в первой строке: <?xml version="1.0" encoding="UTF-8"?>. Файл в windows-1251 с заголовком UTF-8 даст «кракозябры» или ошибку разбора.
  • Теги закрыты, спецсимволы экранированы: &amp; вместо &, &lt; вместо <.
  • Структура совпадает с той, которую ждёт обработка или правила обмена.

Чтение XML кодом

Если вы разрабатываете свою загрузку, базовый каркас чтения выглядит так:

Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу);

Пока Чтение.Прочитать() Цикл
    Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента 
        И Чтение.Имя = "Товар" Тогда
        // обработка элемента
    КонецЕсли;
КонецЦикла;

Чтение.Закрыть();

Для JSON есть аналогичный объект ЧтениеJSON. В обоих случаях читайте файл потоком: так вы не загрузите в память всё содержимое, и большой файл не уронит сеанс.

Типичные ошибки при загрузке и как их устранить

Короткий разбор симптомов, которые встречаются чаще всего.

Диагностика: выберите симптом

Если ни один симптом не подошёл, загрузите файл по частям: первые 10 строк, следующие 100, потом остальное. Строка, на которой импорт падает, почти всегда содержит что-то необычное: пустую ячейку в обязательном поле, спецсимвол, слишком длинное название.

Автоматизация: как загружать файлы по расписанию

Если файл приходит регулярно (прайс поставщика раз в неделю, выписка банка каждый день), ручная загрузка превращается в рутину. Есть три рабочих подхода.

  1. Обмен файлами через общий каталог. Один процесс складывает файл в папку, 1С по расписанию забирает. Настраивается там, где есть встроенный обмен с каталогом.
  2. Регламентное задание. Программист пишет процедуру, которая читает файл из заданной папки и обрабатывает его. Задание запускается по расписанию на сервере 1С. Файловый путь должен быть доступен серверу, а не только вашему компьютеру.
  3. Веб-сервис или HTTP-сервис. Внешняя система сама отправляет данные в 1С. Подходит для интеграции с сайтом и учётными системами.

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

Расписание и регламентные задания нужно настраивать с правами администратора. Для файловой базы регламентные задания работают иначе, чем для клиент-серверной, поэтому проверьте, как это устроено в вашем варианте.

Перед запуском автозагрузки
Выполнено: 0 / 5

Частые вопросы

Можно ли загрузить файл в 1С без программиста?
Да, если формат простой. Табличные данные из Excel загружаются штатной обработкой, а готовые .epf открываются через «Файл» → «Открыть». Программист нужен для нестандартных форматов и регулярной загрузки.
Почему при загрузке из Excel теряются нули в начале кода?
Excel хранит такие значения как числа. Перед загрузкой переведите колонку в текстовый формат и введите значения заново либо используйте формулу, которая добавляет недостающие нули.
Можно ли отменить загрузку, если загрузили не то?
Автоматической кнопки «отменить импорт» нет. Откатывают через резервную копию либо через поиск и пометку на удаление созданных элементов по дате создания. Поэтому первый запуск всегда делают на копии.
Какой размер файла выдержит 1С?
Жёсткого лимита нет, всё упирается в память и способ чтения. Табличный документ на десятки тысяч строк загружается долго, а XML лучше читать потоком. Крупные файлы режьте на части.
Безопасно ли открывать чужую внешнюю обработку?
Только если доверяете источнику. Обработка выполняет код под вашим пользователем и может читать и менять данные. В рабочую базу с неизвестным .epf лучше не заходить.