Импорт данных в 1С 8.3: какой способ выбрать и как не испортить базу
Содержание
Импортировать данные в 1С 8.3 чаще всего можно без программиста: в списках справочников «Номенклатура» и «Контрагенты» и в табличных частях документов есть штатная загрузка из файла, банковские выписки грузятся кнопкой «Загрузить» в разделе Банк и касса → Банковские выписки. Обработки и правила обмена нужны, только когда данных много, структура сложная или загрузка повторяется каждый день.
Частая ошибка — сразу искать «универсальную обработку» в интернете и запускать её в рабочей базе. Сначала проверьте, что умеет ваша конфигурация, и подготовьте файл: половина проблем при загрузке данных в 1С возникает из-за кривых колонок, а не из-за программы.
Подготовка файла и базы перед импортом
Сначала решите, что именно загружаете. От этого зависит способ:
- 📦 Справочники — номенклатура, контрагенты, договоры, сотрудники. Здесь главное — не наплодить дублей.
- 📄 Документы — поступления, реализации, остатки. Нужны уже заполненные справочники, иначе строки не к чему привязать.
- 🏦 Банковские выписки — файл обмена из клиент-банка, отдельный штатный механизм.
- 🔁 Данные из другой базы 1С — тут Excel лишний, нужен XML или синхронизация.
Требования к таблице Excel и CSV
- Одна строка — один объект. Без объединённых ячеек, промежуточных итогов и пустых строк посередине.
- В первой строке — заголовки колонок, данные начинаются со второй.
- ИНН, КПП, коды и артикулы храните как текст. Excel превращает ИНН
0274012345в число274012345— ведущий ноль пропадает, и контрагент уже не находится. - Даты — в одном формате (
ДД.ММ.ГГГГ), без текста вроде «от 05.03». - Числа — без пробелов-разделителей тысяч и без «руб.» в ячейке. Десятичный разделитель — запятая, как в русской локали.
- Сохраните файл в
.xlsx. Для CSV проверьте кодировку и разделитель: Excel в русской Windows сохраняет CSV через точку с запятой и в кодировке Windows-1251. - Закройте файл в Excel перед загрузкой — открытый файл может быть заблокирован для чтения.
Что сделать с базой
Перед массовым импортом сделайте резервную копию базы или потренируйтесь на копии. Ошибочно загруженные 3 000 позиций номенклатуры удалять дольше, чем загружать: на них успевают сослаться документы.
Ещё до старта проверьте, по какому полю программа будет искать уже существующие элементы: у товаров — артикул или наименование, у контрагентов — ИНН. Если в базе уже есть дубли по этому полю, загрузка сопоставит строку не с тем элементом.
Как загрузить данные в 1С из Excel штатными средствами
В типовых конфигурациях на 8.3 (Бухгалтерия 3.0, Управление торговлей 11 и других на базе БСП) загрузка из табличных файлов встроена в сами формы. Отдельные обработки для этого не нужны.
Справочники: номенклатура и контрагенты
Путь в Бухгалтерии 3.0:
| Что загружаем | Где открыть список |
|---|---|
| Номенклатура | Справочники → Товары и услуги → Номенклатура |
| Контрагенты | Справочники → Покупки и продажи → Контрагенты |
Порядок:
- Откройте список и нажмите «Загрузить». В некоторых релизах команда находится в меню «Ещё» и называется «Загрузить из файла».
- Программа покажет таблицу-шаблон с колонками справочника. Скопируйте данные из Excel и вставьте в неё через
Ctrl+V— или выберите файл, если форма это предлагает. - Проверьте соответствие колонок: «Наименование» должно лечь в наименование, а не в артикул.
- На следующем шаге 1С покажет, какие строки сопоставлены с существующими элементами, а какие будут созданы новыми. Это главный момент: посмотрите на количество новых. Если вы ждали 50 новых товаров, а программа собирается создать 900 — остановитесь и проверьте поле поиска.
- Нажмите «Загрузить» и откройте пару созданных элементов, чтобы проверить реквизиты.
💡 Новым элементам часто нужны общие реквизиты, которых нет в файле: вид номенклатуры, ставка НДС, единица измерения. Удобнее загрузить их сразу в нужную группу или заполнить колонку в Excel одним значением на все строки.
Табличные части документов
В документах с большим списком товаров (поступление, реализация, инвентаризация) над табличной частью есть команда загрузки строк из файла. Она работает так же: вставляете таблицу, 1С сопоставляет товары по наименованию или артикулу, показывает несопоставленные строки.
Несопоставленные строки — сигнал, что товара нет в справочнике. Создайте его или поправьте наименование в файле, иначе строка не попадёт в документ.
Банковские выписки
Клиент-банк выгружает файл в формате 1CClientBankExchange — обычно kl_to_1c.txt. В Бухгалтерии 3.0:
- Откройте
Банк и касса → Банковские выписки. - Нажмите «Загрузить» и укажите файл.
- Проверьте банковский счёт организации и период.
- Просмотрите список операций: документы, у которых не определён контрагент или договор, подсвечиваются — их стоит разобрать до загрузки.
Если подключён прямой обмен с банком, файл не нужен: выписка приходит через сервис. Но формат 1CClientBankExchange по-прежнему работает в любом банке.
Импорт из другой базы: XML и правила обмена
Когда данные лежат в другой базе 1С, Excel — лишнее звено. Теряются ссылки, виды, связи между объектами. Здесь три варианта.
| Способ | Когда подходит | Что нужно |
|---|---|---|
| Синхронизация данных (EnterpriseData) | Обмен между типовыми: БП ↔ УТ, ЗУП → БП | Настройка в Администрирование → Синхронизация данных в обеих базах |
| «Выгрузка и загрузка данных XML» | Две базы с одинаковой конфигурацией | Внешняя обработка, одинаковые метаданные |
| «Универсальный обмен данными в формате XML» | Конфигурации разные или нетиповые | Файл правил обмена, сделанный в «Конвертации данных» 2.x |
Универсальный обмен по правилам
Обработка V8Exchan83.epf («Универсальный обмен данными в формате XML») сама ничего не знает о ваших конфигурациях. Всю логику — какой объект куда переносить, по каким полям искать — задаёт файл правил .xml.
- В базе-источнике откройте обработку через
Файл → Открыть. - На вкладке выгрузки укажите файл правил, период и нужные объекты, затем выгрузите данные в файл.
- В базе-приёмнике откройте ту же обработку, перейдите на вкладку загрузки, выберите файл данных и запустите загрузку.
- Сверьте результат: остатки по ключевым счетам, количество элементов справочников.
Правила обмена привязаны к версиям конфигураций. Правила, написанные под старый релиз, после обновления базы могут переносить данные неполно — без ошибки на экране. Проверяйте результат выборочно после каждого обновления.
Внешние обработки и расширения для загрузки
Если штатной команды нет или нужно загрузить то, что типовая форма не умеет (например, остатки с аналитикой или реквизиты, которых нет в шаблоне), используют внешнюю обработку .
Универсальная загрузка из табличного документа
Известная обработка «Загрузка данных из табличного документа» позволяет залить Excel в любой справочник, документ или регистр сведений . Вы сами указываете, какая колонка в какой реквизит идёт и по какому полю искать ссылки.
Минусы: она обходит часть логики конфигурации. Документы загружаются, но их надо проводить отдельно, а обязательные реквизиты, которые типовая форма заполняет автоматически, остаются пустыми. Для справочников это терпимо, для документов — рискованно.
При открытии любой внешней обработки платформа предупреждает об опасных действиях. Запускать её может пользователь с правом на интерактивное открытие внешних обработок — обычно администратор.
Своя обработка: чтение CSV и Excel
Для повторяющейся загрузки из одного и того же файла проще написать короткую обработку. Пример чтения CSV с разделителем «;»:
Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
Строка = Чтение.ПрочитатьСтроку(); // заголовки пропускаем
Строка = Чтение.ПрочитатьСтроку();
Пока Строка <> Неопределено Цикл
Поля = СтрРазделить(Строка, ";", Истина);
Артикул = СокрЛП(Поля[0]);
Наименование = СокрЛП(Поля[1]);
Ссылка = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
Если Ссылка.Пустая() Тогда
Объект = Справочники.Номенклатура.СоздатьЭлемент();
Объект.Артикул = Артикул;
Объект.Наименование = Наименование;
Объект.Записать();
КонецЕсли;
Строка = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();
Файл Excel платформа 8.3 читает без установленного Excel — через табличный документ:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Адрес = "R" + Формат(НомерСтроки, "ЧГ=0") + "C1";
Артикул = СокрЛП(ТабДок.Область(Адрес).Текст);
// дальше — так же, как в примере с CSV
КонецЦикла;
Если файл из Excel сохранён в Windows-1251, во втором параметре ЧтениеТекста укажите "windows-1251" — иначе вместо кириллицы получите «кракозябры».
Почему лучше расширение, а не правка конфигурации
Загрузку, которая должна жить в базе постоянно, оформляют расширением конфигурации. Типовая конфигурация остаётся на поддержке и обновляется без ручного сравнения, а ваш код переживает обновления. Внешняя обработка годится для разовых задач.
Регулярная загрузка по расписанию
Когда один и тот же файл приходит каждый день (прайс поставщика, остатки со склада, заказы с сайта), ручной импорт быстро надоедает. Варианты автоматизации:
- ⏰ Дополнительная обработка с расписанием. В конфигурациях на БСП внешнюю обработку можно зарегистрировать в
Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработкии задать расписание запуска её команды. Обработку нужно писать с поддержкой этого механизма. - 🧩 Регламентное задание в расширении. Самый надёжный вариант для клиент-серверной базы: задание выполняется на сервере 1С по расписанию, без открытых сеансов.
- 🌐 HTTP-сервис или OData. Внешняя система (сайт, WMS) сама отправляет данные в 1С. Стандартный интерфейс OData включается в разделе синхронизации данных и требует публикации базы на веб-сервере.
💡 В файловой базе регламентные задания выполняются только внутри запущенного клиентского сеанса. Если ночью никто не открыл 1С, загрузка не пройдёт. Для автоматизации по расписанию нужна клиент-серверная база или запуск 1С на отдельном компьютере, который не выключают.
При автоматической загрузке обязательно пишите журнал: сколько строк прочитано, сколько создано, какие пропущены и почему. Без него об ошибке узнают через неделю, от кладовщика.
Почему данные не загружаются в 1С
Ошибки при импорте почти всегда сводятся к нескольким причинам. Разберите свою по симптому:
Частые вопросы
Можно ли загрузить в 1С файл .xls старого формата?
.xls, и .xlsx. Если старый файл открывается с ошибкой, пересохраните его в Excel как .xlsx — это снимает большинство проблем.Как загрузить в 1С начальные остатки из старой программы?
Нужен ли установленный Excel на компьютере?
Как отменить неудачную загрузку?
Администрирование → Обслуживание → Удаление помеченных объектов.