Загрузка файла в 1С 8.3: из Excel, XML и через обработку
Содержание
Подгрузить файл в 1С можно тремя путями: командой «Загрузить» в списке справочника или обработкой «Загрузка данных из табличного документа» (она поставляется на диске ИТС и подключается как внешняя; подходит для Excel и таблиц), внешней обработкой .epf (для нестандартных форматов) или обменом через XML. Выбор зависит от одного: что лежит в файле и куда это нужно положить в базе.
Для списка номенклатуры, контрагентов или цен обычно хватает Excel и штатной загрузки. Для документов с табличной частью и связями между объектами лучше XML или готовая обработка. Ниже — как подготовить файл, пройти каждый способ и не поймать ошибку на середине импорта.
Какой способ выбрать: сравнение вариантов загрузки
Сначала определитесь с форматом и целью. Это сэкономит час, который иначе уйдёт на попытки загнать документы туда, где они не поместятся.
| Способ | Что грузит | Когда подходит | Риски |
|---|---|---|---|
| Штатная загрузка из табличного документа | Справочники, табличные части | Прайс, номенклатура, список контрагентов | Нужна ровная таблица без объединённых ячеек |
Внешняя обработка .epf | Что угодно, зависит от кода | Нестандартный формат, банковские выписки, выгрузки из чужих систем | Чужой код в базе, нужна проверка источника |
| Обмен по правилам (XML) | Объекты со связями, документы | Перенос между базами 1С, обмен с другой программой | Правила должны совпадать с обеих сторон |
Свой код (ЧтениеXML, чтение таблицы) | Любой формат | Регулярная загрузка, интеграции | Нужен программист |
Если загружаете данные в рабочую базу впервые, сделайте это на копии. Откатить импорт тысяч позиций вручную гораздо дольше, чем развернуть копию.
Как загрузить файл Excel в 1С штатной обработкой
В большинстве типовых конфигураций (Бухгалтерия, Управление торговлей, ERP) есть обработка загрузки из табличного документа. Точное место в меню зависит от конфигурации и релиза. Проще всего найти её через строку поиска по командам интерфейса: введите «загрузка данных» и выберите вариант с табличным документом.
Порядок работы одинаков везде:
- Откройте обработку и выберите, что загружаем: справочник или табличную часть документа.
- Откройте файл или вставьте данные из Excel через буфер обмена (Ctrl+V в табличную область).
- Сопоставьте колонки с реквизитами 1С: у каждой колонки в шапке выберите поле назначения.
- Выберите режим: только добавлять новые элементы или обновлять существующие. Для обновления нужно поле-идентификатор: код, артикул или ИНН.
- Нажмите проверку, если она есть, и только потом загрузку.
Перед загрузкой в живую базу сделайте резервную копию. Массовый импорт без бэкапа — частая причина слов «а можно всё вернуть?» от бухгалтера.
Загрузка в табличную часть документа
Если нужно подтянуть позиции в уже созданный документ (поступление, реализацию), ищите в командах документа кнопку подбора или загрузки данных. Если её нет, помогает обычный приём: скопировать колонки из Excel и вставить в табличную часть. Порядок и количество колонок в буфере должны совпасть с порядком колонок на форме.
Как подготовить Excel-файл к загрузке
Девять из десяти сбоев импорта рождаются в самом файле. Пять минут на подготовку снимают большинство проблем.
Проверьте по списку:
- 📄 Формат
.xlsxили.xls. Файлы.xlsmс макросами и.csvлучше пересохранить как обычную книгу. - 🔤 Одна строка шапки с понятными названиями колонок. Никаких «шапок» в три этажа.
- 🚫 Нет объединённых ячеек. Они ломают привязку колонок к полям.
- 🔢 Коды, ИНН, артикулы и номера с ведущими нулями — в текстовом формате, иначе
00123превратится в123. - 💰 Числа с копейками записаны одним разделителем. Не смешивайте точку и запятую в одной колонке.
- 🧹 Нет пустых строк внутри данных и итоговых строк в конце.
- 🔒 Файл закрыт в Excel в момент загрузки. Открытый файл часто блокируется.
Отдельно про ИНН: у юрлиц он 10 цифр, у ИП — 12. Колонка, где встречаются оба варианта, должна быть именно текстовой. Если Excel сам сделал её числовой, ведущие нули пропали ещё до 1С, и восстановить их придётся вручную.
Лишние пробелы в начале и конце названий создают дубли: «Ромашка ООО» и «Ромашка ООО » 1С считает разными элементами. Перед загрузкой пройдитесь по колонкам функцией СЖПРОБЕЛЫ в Excel.
Проверка на маленькой выборке
Не грузите сразу весь файл. Оставьте 5-10 строк, загрузите их и посмотрите результат в справочнике: правильно ли легли единицы измерения, группы, ставки НДС. Если с маленьким куском всё в порядке, грузите остальное.
Сопоставление колонок: на что смотреть
Прежде чем жать «Загрузить», пройдитесь по соответствию колонок и реквизитов. Ошибка здесь тихая: данные лягут, но не туда.
Справочные поля (единицы, группы, виды номенклатуры, ставки НДС) 1С ищет по названию. Если в файле «шт.», а в базе «шт», строка либо не загрузится, либо создаст новый элемент. Приведите написание к тому, что уже есть в справочнике.
Ещё одна мелочь: даты. Колонка с датами должна быть в формате даты, а не текста вида «5 окт». Иначе 1С либо пропустит значение, либо запишет пустую дату. Проверьте несколько строк после пробной загрузки и убедитесь, что день и месяц не поменялись местами.
Загрузка файлов через внешние обработки и правила обмена
Когда формат нестандартный, помогает внешняя обработка — файл с расширением .epf. Она не входит в конфигурацию, поэтому подключается на лету.
Как открыть:
- Меню «Файл» → «Открыть».
- Выберите файл
.epf. - Форма обработки откроется в отдельном окне. Дальше работаете с ней, как с любой другой.
Для постоянной работы обработку лучше добавить в справочник дополнительных отчётов и обработок (раздел администрирования, пункт про дополнительные отчёты и обработки; названия различаются по версиям). Тогда она будет доступна пользователям по правам, а не лежать «на флешке у главбуха».
Внешняя обработка выполняет код с правами вашей учётной записи. Открывайте только файлы от разработчика, которому доверяете. Если пришло письмо с .epf от незнакомца, не открывайте его в рабочей базе.
Обмен по правилам
Когда данные нужно перенести между двумя базами 1С, используют конвертацию данных: правила описывают, какой объект источника в какой объект приёмника превращается. В типовых конфигурациях встроены готовые обмены (например, Бухгалтерия — Управление торговлей), настраиваются они в разделе администрирования, пункт «Синхронизация данных».
Если правил нет, а переносить надо, подойдёт универсальный обмен данными в формате XML. Он работает по файлу правил и выгружает в файл обмена, который затем загружается в другую базу. Правила должны подходить обеим сторонам: версия конфигурации-источника и приёмника влияет на то, будут ли загружены все реквизиты.
Загрузка данных из XML и JSON
XML удобен там, где есть структура: документ, в нём шапка и табличная часть, у позиций — ссылки на справочники. JSON встречается реже, обычно в интеграциях с интернет-сервисами.
Что проверить в XML до загрузки
- Кодировка файла указана в первой строке:
<?xml version="1.0" encoding="UTF-8"?>. Файл в windows-1251 с заголовком UTF-8 даст «кракозябры» или ошибку разбора. - Теги закрыты, спецсимволы экранированы:
&вместо&,<вместо<. - Структура совпадает с той, которую ждёт обработка или правила обмена.
Чтение XML кодом
Если вы разрабатываете свою загрузку, базовый каркас чтения выглядит так:
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу);
Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента
И Чтение.Имя = "Товар" Тогда
// обработка элемента
КонецЕсли;
КонецЦикла;
Чтение.Закрыть();
Для JSON есть аналогичный объект ЧтениеJSON. В обоих случаях читайте файл потоком: так вы не загрузите в память всё содержимое, и большой файл не уронит сеанс.
Типичные ошибки при загрузке и как их устранить
Короткий разбор симптомов, которые встречаются чаще всего.
.xlsx и используйте чтение табличного документа средствами платформы или установите офис на нужный компьютер.Если ни один симптом не подошёл, загрузите файл по частям: первые 10 строк, следующие 100, потом остальное. Строка, на которой импорт падает, почти всегда содержит что-то необычное: пустую ячейку в обязательном поле, спецсимвол, слишком длинное название.
Автоматизация: как загружать файлы по расписанию
Если файл приходит регулярно (прайс поставщика раз в неделю, выписка банка каждый день), ручная загрузка превращается в рутину. Есть три рабочих подхода.
- Обмен файлами через общий каталог. Один процесс складывает файл в папку, 1С по расписанию забирает. Настраивается там, где есть встроенный обмен с каталогом.
- Регламентное задание. Программист пишет процедуру, которая читает файл из заданной папки и обрабатывает его. Задание запускается по расписанию на сервере 1С. Файловый путь должен быть доступен серверу, а не только вашему компьютеру.
- Веб-сервис или HTTP-сервис. Внешняя система сама отправляет данные в 1С. Подходит для интеграции с сайтом и учётными системами.
При автоматической загрузке добавьте обязательный журнал: сколько строк прочитано, сколько создано, сколько отклонено и почему. Иначе молчаливая ошибка проживёт в базе месяц, пока кто-то не заметит нехватку позиций.
Расписание и регламентные задания нужно настраивать с правами администратора. Для файловой базы регламентные задания работают иначе, чем для клиент-серверной, поэтому проверьте, как это устроено в вашем варианте.
Частые вопросы
Можно ли загрузить файл в 1С без программиста?
.epf открываются через «Файл» → «Открыть». Программист нужен для нестандартных форматов и регулярной загрузки.Почему при загрузке из Excel теряются нули в начале кода?
Можно ли отменить загрузку, если загрузили не то?
Какой размер файла выдержит 1С?
Безопасно ли открывать чужую внешнюю обработку?
.epf лучше не заходить.