Загрузка таблицы Excel в 1С 8.3: от подготовки файла до протокола
Содержание
Подгрузить файл XLS в 1С 8.3 можно двумя путями. Первый — встроенная команда «Загрузить из файла» в списке справочника или в табличной части документа (есть в типовых конфигурациях на БСП: Бухгалтерия 3.0, УТ 11, КА, ERP). Второй — внешняя обработка «Загрузка данных из табличного документа» (ЗагрузкаДанныхИзТабличногоДокумента.epf), которая открывается через Главное меню → Файл → Открыть и грузит данные почти в любой справочник, документ или регистр сведений
.
Оба способа читают форматы .xls, .xlsx, .ods и .mxl. Excel на компьютере для этого не нужен: файл читает сама платформа. Успех загрузки на 80 % решает подготовка таблицы, поэтому начнём с неё.
Подготовка таблицы Excel перед загрузкой в 1С
1С не умеет угадывать. Она читает ячейки по строкам и колонкам и сравнивает значения с тем, что уже есть в базе. Любая «красота» в файле превращается в ошибку при загрузке.
Что сделать с файлом заранее:
- 📄 Оставьте один лист. Лишние листы, сводные таблицы и диаграммы удалите или перенесите данные на отдельный чистый файл.
- 🧱 Уберите объединённые ячейки. Шапка из двух объединённых строк сдвигает колонки, и 1С читает «Наименование» как «Артикул».
- 🔢 Одна строка — один объект. Итоговые строки, подзаголовки групп («Канцтовары», «Итого по разделу») удалите.
- ✂️ Почистите значения. Уберите пробелы в начале и конце, неразрывные пробелы, переносы строк внутри ячейки. В Excel помогает функция
СЖПРОБЕЛЫи заменаCtrl+H. - 🧮 Замените формулы значениями. Скопируйте колонку и вставьте как «Значения». Иначе в 1С может прийти не то, что вы видите на экране.
- 🏷️ Проверьте формат ячеек. Коды, артикулы, ИНН и штрихкоды держите в текстовом формате. Иначе Excel срежет ведущие нули (
00125превратится в125) или покажет штрихкод как4,6E+12. - 💰 Числа — без лишнего. В колонках цены и количества не должно быть «руб.», «шт.» и пробелов-разделителей тысяч, записанных текстом.
Ведущие нули теряются ещё при открытии CSV в Excel. Если исходник пришёл в CSV, импортируйте его через «Данные → Из текста/CSV» и задайте колонкам кода тип «Текстовый».
Какие колонки нужны
Минимальный набор зависит от того, что грузите:
| Что загружаем | Обязательные колонки | Желательные |
|---|---|---|
| Номенклатура | Наименование | Артикул, единица измерения, ставка НДС, вид номенклатуры |
| Контрагенты | Наименование | ИНН, КПП, полное наименование, адрес |
| Товары в документ | Номенклатура (или артикул), количество | Цена, сумма, ставка НДС |
| Цены | Номенклатура, цена | Единица измерения |
Значения ссылочных полей должны совпадать с тем, что есть в 1С. Если в базе единица измерения записана как «шт», а в файле «штука», сопоставления не будет.
Встроенная загрузка из файла в типовых конфигурациях
В конфигурациях на БСП есть механизм «Загрузка данных из файла». Он встроен в списки и табличные части и не требует внешних обработок.
Загрузка в справочник
- Откройте список справочника, например
Справочники → Товары и услуги → Номенклатурав Бухгалтерии 3.0. - В командной панели найдите кнопку «Загрузить» (в некоторых списках она спрятана в меню «Ещё»).
- Откроется форма с пустой таблицей-шаблоном. Колонки в ней уже названы так, как ждёт программа.
- Скопируйте данные из Excel и вставьте в шаблон через
Ctrl+V. Либо нажмите кнопку загрузки из файла и выберите.xlsили.xlsxна диске. - Нажмите «Далее». Программа покажет результат сопоставления.
Загрузка в табличную часть документа
Так удобно заполнять «Поступление (акты, накладные, УПД)» по накладной поставщика в Excel.
- Создайте документ, заполните шапку: контрагент, договор, склад.
- На вкладке «Товары» нажмите «Загрузить» над табличной частью.
- Вставьте строки в шаблон или загрузите файл, нажмите «Далее».
- Проверьте сопоставление номенклатуры и перенесите строки в документ.
Встроенная загрузка в документ заполняет только табличную часть. Шапку, договор и счёт-фактуру вы заполняете сами, как обычно.
Если кнопки «Загрузить» в нужном списке нет — значит, конфигурация не поддерживает загрузку для этого объекта. Тогда нужна внешняя обработка.
Универсальная обработка «Загрузка данных из табличного документа»
Это внешняя обработка из пакета для управляемых форм. Её распространяют с материалами ИТС. Файл называется ЗагрузкаДанныхИзТабличногоДокумента.epf. Она грузит данные в справочник, в табличную часть документа или в регистр сведений.
Как открыть
- Сохраните
.epfна диск. - В 1С откройте
Главное меню → Файл → Открытьи выберите файл. - Если появится предупреждение безопасности, подтвердите открытие. Если открыть не даёт совсем, у пользователя включена защита от опасных действий или нет права на открытие внешних обработок. Это настраивает администратор в карточке пользователя (
Администрирование → Настройки пользователей и прав).
Не открывайте .epf из непроверенных источников: внешняя обработка выполняет любой код с правами вашего пользователя.
Первые настройки формы
- Режим загрузки — «В справочник», «В табличную часть» или «В регистр сведений».
- Вид объекта — выберите конкретный справочник, например «Номенклатура».
- Табличный документ — на этой вкладке открывается сам файл: кнопка открытия или вставка из буфера.
- Первая строка данных — номер строки, с которой начинаются данные. Если в файле одна строка шапки, ставьте
2.
Сопоставление колонок файла и реквизитов 1С
Самый важный шаг. На вкладке «Настройка» обработка показывает список реквизитов объекта. Для каждого вы решаете: грузить ли его и откуда брать значение.
Как связать колонку с реквизитом
- Включите флажок у реквизитов, которые нужно заполнить.
- Укажите номер колонки файла. Если включена ручная нумерация колонок, номер вводите сами; иначе обработка берёт порядок из шаблона.
- Выберите режим для каждого реквизита:
| Режим | Что делает | Пример |
|---|---|---|
| Искать | Находит ссылку в базе по значению из колонки | Единица «шт» → элемент справочника «Классификатор единиц» |
| Устанавливать | Ставит одно значение всем строкам | Ставка НДС 20 % для всей партии |
| Вычислять | Считает значение выражением на встроенном языке | Сумма = цена × количество |
Для ссылочных реквизитов в режиме «Искать» задайте, по какому полю искать: по наименованию, коду или артикулу. Поиск по коду надёжнее — наименования в файле и в базе часто расходятся на одну букву.
Пример сопоставления для номенклатуры
Сохраните настройку в файл кнопкой сохранения настроек. Следующую партию от того же поставщика загрузите за минуту: восстановили настройки, открыли файл, нажали «Загрузить».
Пробная загрузка
Не грузите сразу 5 000 строк. Оставьте в файле 5–10 строк, загрузите их и откройте созданные элементы. Проверьте наименования, единицы, ставку НДС, группу. Только потом запускайте весь файл.
Дубли: обновлять существующие элементы или создавать новые
Без настройки обработка будет создавать новый элемент на каждую строку. Повторная загрузка того же файла удвоит справочник.
Поле поиска
Отметьте у одного-двух реквизитов флажок «Поле поиска». Обработка сначала ищет элемент с таким значением:
- нашла — обновляет его;
- не нашла — создаёт новый.
Хорошие поля поиска: артикул, код, ИНН для контрагентов. Плохое — наименование: «Бумага А4 Снегурочка» и «Бумага A4 Снегурочка» (латинская A) для 1С разные строки.
Стратегия обновления
| Задача | Что включить |
|---|---|
| Только добавить новые позиции | Поле поиска + запрет замены существующих |
| Обновить цены или реквизиты у старых | Поле поиска + флажок «Не создавать новых элементов» |
| Полная синхронизация с файлом | Поле поиска, без ограничений |
Загрузка в справочник меняет рабочие данные сразу, кнопки «Отменить» нет. Перед массовой загрузкой или обновлением сделайте резервную копию базы.
Если дубли уже появились
Найдите их через поиск дублей: в Бухгалтерии 3.0 обработка «Поиск и удаление дублей» есть в разделе Администрирование → Обслуживание. Она заменяет ссылки на дубль ссылками на оригинал во всех документах и помечает лишний элемент на удаление. Удалять дубли вручную нельзя, если на них уже есть документы.
Ошибки при загрузке XLS и как читать протокол
После нажатия «Загрузить» обработка пишет сообщения внизу формы: какая строка не загрузилась и почему. Встроенная загрузка БСП показывает отчёт о загрузке со статусами строк. Читайте их по номеру строки и сразу правьте файл.
Проверка после загрузки
- 🔍 Отфильтруйте список по дате создания или по группе и сверьте количество строк с файлом.
- 🔍 Отсортируйте по наименованию — дубли встанут рядом.
- 🔍 В документе сверьте итоговую сумму табличной части с итогом накладной в Excel.
Автоматизация регулярной загрузки файлов Excel в 1С
Если файл приходит каждый день или неделю, ручная загрузка утомляет. Варианты по нарастанию сложности:
| Способ | Когда подходит | Что нужно |
|---|---|---|
| Сохранённые настройки обработки | Раз в неделю, формат файла не меняется | Ничего, кроме дисциплины |
| Своя внешняя обработка | Сложная логика: пересчёт, проверки | Программист 1С |
| Регламентное задание в расширении | Файл кладут в папку автоматически | Серверная база, программист |
Как читает файл программный код
В платформе 8.3 табличный документ сам читает файл Excel. Основа любой своей обработки выглядит так:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1).Текст);
Наименование = СокрЛП(ТабДок.Область(НомерСтроки, 2).Текст);
Если ПустаяСтрока(Артикул) Тогда
Продолжить;
КонецЕсли;
// поиск элемента по артикулу, создание или обновление
КонецЦикла;
Цикл начинается со второй строки, потому что первая — шапка. Пустые строки пропускаются.
Что учесть при автоматической загрузке
- 🖥️ Регламентное задание выполняется на сервере 1С. Путь к файлу должен быть доступен учётной записи службы сервера, а не вашему пользователю Windows.
- 📁 После загрузки переносите файл в папку «Загружено». Иначе следующий запуск обработает его повторно.
- 🧾 Пишите результат в журнал регистрации или в отдельный регистр: сколько строк загружено, какие пропущены.
- 🚫 Не используйте COM-объект Excel на сервере. Для него нужен установленный Office, он медленный и плохо работает в службах.
Если поставщик может прислать файл в одном и том же формате, договоритесь о шаблоне: фиксированный порядок колонок, артикул в первой колонке, без шапки на две строки. Это убирает половину ручной работы.