Как загрузить данные в 1С 8.3: от Excel до Конвертации данных

· 10 мин

Содержание

Перенести остатки из старой базы, разом завести тысячу позиций номенклатуры из прайса поставщика, подтянуть выписку из банка — всё это в 1С 8.3 решается импортом данных, и для каждой задачи есть свой инструмент. Самый частый путь — загрузка из файла Excel; для более сложных случаев берут универсальную обработку «Загрузка данных из табличного документа», внешнюю обработку под свой формат или Конвертацию данных для переноса между разными конфигурациями.

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

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

Какие форматы файлов читает платформа

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

ФорматЧем открываетсяКогда применяют
.xls, .xlsx (Excel)Встроенная загрузка, табличный документПрайсы, остатки, справочники от контрагентов
.mxl (табличный документ 1С)Напрямую в 1СВыгрузки из другой базы 1С
.csv, .txtЧтение текста построчноВыгрузки из банков, CRM, интернет-магазинов
.dbf (dBase)XBase или COMСтарые учётные программы, кассы
.xmlУниверсальный обмен, Конвертация данныхСтруктурированный обмен между системами
.jsonЧтение JSON средствами платформыAPI интернет-магазинов, маркетплейсов

💡 Excel-файл перед загрузкой лучше сохранить в формате .xlsx без объединённых ячеек и с одной строкой заголовка. Объединённые ячейки и несколько «шапок» — главная причина сдвига колонок при чтении.

Текстовые файлы (.csv, .txt) платформа читает построчно объектом ЧтениеТекста, разбивая строку на поля функцией СтрРазделить. Это самый предсказуемый формат: нет скрытого форматирования, которое ломает разбор.

Встроенная загрузка из Excel: когда её хватает

Для типовых справочников в 1С:Бухгалтерии 8.3 уже есть готовая загрузка — отдельную обработку писать не нужно.

Самый востребованный случай — номенклатура и цены. Откройте список Справочники → Номенклатура и найдите в командной панели списка команду загрузки из внешнего файла. Механизм открывает окно, куда вставляют данные из Excel, затем показывает таблицу сопоставления: какой столбец файла соответствует какому реквизиту (наименование, артикул, единица измерения, ставка НДС).

Порядок работы со встроенной загрузкой номенклатуры:

  1. Подготовьте файл: первая строка — заголовки, дальше данные без пустых строк внутри.
  2. Откройте список Справочники → Номенклатура, вызовите команду загрузки.
  3. Скопируйте диапазон из Excel и вставьте в форму загрузки.
  4. Сопоставьте столбцы файла с реквизитами номенклатуры.
  5. Проверьте колонку с результатом сопоставления — новые позиции платформа создаст, существующие найдёт по наименованию или артикулу.
  6. Запустите загрузку и сверьте итог со списком.

Банковскую выписку загружают иначе: в разделе Банк и касса → Банковские выписки есть команда Загрузить. Она принимает файл обмена в формате «1С:Клиент-Банк» (текстовый 1c_to_kl.txt), который формирует банковское приложение. Для прямого обмена без файла используют сервис ДиректБанк.

Сопоставление полей
Наименование товара→Номенклатура (реквизит Наименование)
Артикул поставщика→Номенклатура (реквизит Артикул)
Цена закупки→Регистр сведений «Цены номенклатуры»
Ставка НДС→Справочник «Ставки НДС»
ИНН контрагента→Контрагенты (поиск по ИНН)

Встроенной загрузки достаточно, пока вы заводите стандартные справочники и один файл — одному справочнику. Как только нужно разложить данные сразу по нескольким объектам или заполнить документ — переходите к универсальной обработке.

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

Это бесплатная внешняя обработка от фирмы 1С (ЗагрузкаДанныхИзТабличногоДокумента.epf), которая умеет грузить данные в любой справочник, документ или регистр сведений — по настраиваемым правилам. Её используют, когда встроенного механизма для нужного объекта нет.

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

Работа с обработкой идёт в три приёма:

  1. Режим загрузки — выбираете, куда грузим: справочник, документ (табличная часть) или регистр сведений.
  2. Источник — указываете файл Excel или вставляете табличный документ; обработка покажет его как таблицу.
  3. Настройка колонок — для каждого реквизита объекта задаёте номер колонки-источника, значение по умолчанию и правило поиска (создавать новый элемент или искать существующий).

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

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

Своя внешняя обработка под нестандартный формат

Когда формат нетривиальный — вложенный JSON, выгрузка из чужой CRM, файл с хитрой логикой разнесения строк — проще написать небольшую внешнюю обработку. Это файл .epf, который открывается в пользовательском режиме и выполняет ваш код чтения и записи.

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

Текст = Новый ЧтениеТекста("C:\import\price.csv", КодировкаТекста.UTF8);
Строка = Текст.ПрочитатьСтроку();
Пока Строка <> Неопределено Цикл
    Поля = СтрРазделить(Строка, ";", Ложь);
    Наименование = Поля[0];
    Цена = Число(Поля[1]);
    // здесь — поиск или создание элемента справочника и запись
    Строка = Текст.ПрочитатьСтроку();
КонецЦикла;
Текст.Закрыть();

Для файлов .dbf платформа читает данные объектом XBase; признак конца файла проверяют методом ВКонце(). Excel без установленного Office читают через COM-объект Excel.Application либо средствами библиотеки стандартных подсистем, если она есть в конфигурации.

💡 Любую запись в справочники и документы оборачивайте в транзакцию и обрабатывайте ошибки через Попытка … Исключение. Тогда сбой на одной строке не оставит базу в полузагруженном состоянии, а в журнал регистрации попадёт понятное сообщение.

Свою обработку стоит писать на копии и тестировать на небольшой выборке строк, прежде чем запускать на всём объёме.

Конвертация данных для переноса между конфигурациями

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

Конвертация данных 2.0 — это отдельная конфигурация, в которой описывают правила выгрузки и загрузки: какой объект источника во что превращается в приёмнике, как сопоставляются реквизиты и ссылки. Результат — файл правил в формате XML, который исполняет универсальная обработка «Универсальный обмен данными в формате XML». Подход подходит для произвольных структур, но требует навыков разработчика.

Конвертация данных 3.0 работает с форматом EnterpriseData и используется в типовых конфигурациях как механизм синхронизации. Если обе базы — современные типовые решения, часто быстрее настроить штатную синхронизацию через Администрирование → Синхронизация данных, не прибегая к ручным правилам.

Коротко, как выбрать между способами:

  • данные ложатся в один справочник как есть — встроенная загрузка или универсальная обработка;
  • формат нестандартный, логика разнесения своя — внешняя обработка;
  • переносите целую базу с несовпадающей структурой — Конвертация данных 2.0;
  • обе стороны типовые и современные — штатная синхронизация (EnterpriseData).

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

Сбои при импорте почти всегда упираются в формат файла или в сопоставление полей, а не в саму 1С.

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

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

Ещё одна частая ситуация — загрузка молча «проходит», но часть строк не попадает в базу. Причина обычно в пустых обязательных реквизитах: платформа пропускает такие строки. Проверяйте итог по количеству: сколько строк в файле и сколько элементов появилось.

Как ускорить загрузку больших файлов

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

  • Отключите лишние проверки на время загрузки. Проведение документов и пересчёт итогов тормозят процесс — для первичного наполнения грузите без проведения, проводите отдельным этапом.
  • Пишите пакетами в транзакции. Не открывать транзакцию на каждую строку, а фиксировать блоками по несколько сотен — так меньше обращений к диску.
  • Загружайте в монопольном режиме или в нерабочее время. Параллельная работа пользователей и блокировки записей замедляют массовую запись.
  • Ищите существующие элементы по индексированному полю. Поиск по коду или артикулу (эти поля индексируются) намного быстрее поиска по наименованию.
  • Не держите весь файл в памяти. Текстовые файлы читайте построчно, а не целиком — это экономит оперативную память на больших объёмах.

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

Автоматизация регулярного импорта

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

В клиент-серверной базе за это отвечают регламентные задания. Настроенную обработку импорта оформляют как процедуру, которую запускает регламентное задание по расписанию — например, каждое утро забирает файл из сетевой папки и грузит его. Расписание задаётся в разделе Администрирование → Обслуживание (пункт с регламентными и фоновыми заданиями) либо через консоль администрирования сервера.

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

Источником файла может быть сетевая папка, FTP или веб-сервис. Платформа умеет обращаться к HTTP-сервисам (HTTPСоединение), поэтому заказы с маркетплейса или из CRM можно забирать по API и раскладывать по документам тем же фоновым заданием.

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

Контроль данных и резервное копирование

Импорт — операция, которая изменяет базу массово, поэтому к контролю относятся серьёзнее, чем к ручному вводу.

Минимальный порядок безопасной загрузки:

Перед импортом в рабочую базу
Выполнено: 0 / 6

После загрузки обязательно сверьте контрольные показатели: количество элементов, суммы остатков, итоги по ключевым счетам. Для остатков удобно сравнить оборотно-сальдовую ведомость до и после — расхождение сразу покажет, что часть данных встала не туда.

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

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

Можно ли импортировать данные без программиста?
Да, если формат типовой. Загрузка номенклатуры и цен из Excel и выписок из банка настраивается пользователем без кода. Своя обработка или Конвертация данных нужны только для нестандартных форматов и переноса между конфигурациями.
Чем отличается импорт от синхронизации данных?
Импорт — разовая или периодическая загрузка файла в одну сторону. Синхронизация — постоянный двусторонний обмен между базами с отслеживанием изменений. Для регулярного обмена между типовыми базами настраивают именно синхронизацию.
Как загрузить остатки при переходе на новую базу?
Остатки заводят документами ввода начальных остатков, а их табличные части наполняют загрузкой из Excel через универсальную обработку. После загрузки сверяют оборотно-сальдовую ведомость с прежней базой.
Почему после загрузки появились дубли справочников?
Правило поиска не нашло существующие элементы и создало новые. Нужно искать по уникальному индексированному полю (код, артикул, ИНН), а не по наименованию, которое может отличаться пробелами или регистром.
В каком формате просить файл у поставщика?
Проще всего работать с .xlsx без объединённых ячеек и с одной строкой заголовка, либо с .csv в кодировке UTF-8 с точкой с запятой в качестве разделителя. Эти форматы читаются предсказуемо.