Товары из таблицы поставщика — в документ поступления без ручного ввода

· 10 мин

Содержание

Накладную из Excel в 1С загружают не целиком, а табличной частью. В 1С:Бухгалтерии 3.0 откройте Покупки → Поступление (акты, накладные, УПД), создайте документ вида «Товары», заполните шапку (контрагент, договор, номер и дата накладной), а над таблицей «Товары» нажмите Загрузить. Откроется форма, куда строки из Excel вставляются через Ctrl+V, затем программа сопоставит колонки и найдёт номенклатуру.

Шапку документа стандартный загрузчик не заполняет: поставщика, склад и номер входящей накладной вы указываете руками. Зато 50 или 500 строк товаров с количеством, ценой и НДС попадают в документ за пару минут, и ошибок перепечатки нет.

Подготовка файла Excel к загрузке накладной в 1С

Большая часть сбоев импорта рождается в самом файле. Накладная поставщика обычно сверстана «для печати»: с шапкой, объединёнными ячейками, итогами и подписями. Загрузчику нужна чистая таблица.

Что сделать с файлом до загрузки:

  1. Сохраните копию файла поставщика и работайте с копией.
  2. Удалите всё, что выше заголовков колонок: реквизиты продавца, номер, адреса.
  3. Удалите строки после товаров: «Итого», «Всего к оплате», подписи, печать.
  4. Снимите объединение ячеек: Главная → Объединить и поместить в центре (повторное нажатие разъединяет).
  5. Оставьте одну строку заголовков: «Наименование», «Артикул», «Количество», «Цена», «Сумма», «Ставка НДС».
  6. Проверьте, что в каждой строке товара заполнено наименование или артикул.

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

Колонка в ExcelКуда попадёт в 1СОбязательна
Наименование или артикулНоменклатурада
КоличествоКоличествода
ЦенаЦенажелательно
СуммаСуммажелательно
Ставка НДС% НДСпри работе с НДС
Единица измеренияЕдиница (если в конфигурации есть такой реквизит строки)нет

Если у одного товара есть и артикул, и наименование, оставьте обе колонки. Поиск по артикулу точнее: наименования у поставщика и у вас почти всегда пишутся по-разному.

Формулы удалять не обязательно: 1С берёт из ячейки отображаемое значение. Но если колонка «Сумма» считается формулой со ссылкой на удалённую строку, Excel покажет #ССЫЛКА!, и эта ошибка уедет в 1С текстом. Надёжнее перед загрузкой скопировать таблицу и вставить её как значения: Специальная вставка → Значения.

Загрузка накладной из Excel в 1С командой «Загрузить»

В актуальных релизах БП 3.0 и УТ 11 загрузка в табличную часть встроена. Внешние обработки для разовой накладной не нужны.

Шаг 1. Создайте документ и заполните шапку

В БП 3.0: Покупки → Поступление (акты, накладные, УПД) → Поступление → Товары (накладная, УПД). Укажите:

  • 🏢 контрагента и договор;
  • 🏬 склад;
  • 🧾 номер и дату входящего документа;
  • 💰 тип цен и признак «Цена включает НДС», если он у вас настраивается в документе.

Признак включения НДС в цену задайте ДО загрузки. От него зависит, как программа разложит сумму и НДС по строкам.

Шаг 2. Откройте форму загрузки

Над табличной частью Товары нажмите Загрузить. В УТ 11 команда тоже расположена в командной панели табличной части; если её не видно на панели, она есть в меню Еще.

Откроется форма с пустой таблицей. Её колонки — поля строки документа: номенклатура, количество, цена, сумма, ставка НДС.

Шаг 3. Вставьте данные из Excel

Есть два варианта:

  • 📋 выделить строки в Excel (без заголовков или с ними), скопировать Ctrl+C, щёлкнуть в первую ячейку таблицы формы и вставить Ctrl+V;
  • 📂 загрузить файл целиком командой загрузки из файла на этой же форме.

Вставка через буфер обмена удобнее. Вы сразу видите, что попало в каждую колонку, а проблемы с форматом файла не возникают вовсе.

Шаг 4. Перейдите к сопоставлению

Нажмите Далее. Программа ищет каждую позицию в справочнике «Номенклатура» и показывает результат: найденные строки и строки без соответствия.

Шаг 5. Завершите загрузку и проверьте документ

После загрузки строки появятся в документе. Сверьте итог документа с итогом накладной поставщика до копейки. Только потом проводите.

Расхождение в 1–2 копейки на сотнях строк — обычное дело: поставщик округлял НДС по-другому. Исправьте сумму НДС в последней строке вручную, чтобы итог совпал с бумажной накладной, иначе счёт-фактура не сойдётся с документом продавца.

Сопоставление колонок и номенклатуры при импорте накладной

Это самый ответственный этап. Колонки Excel и строки товаров нужно связать с объектами 1С.

Колонки

Если вставляли данные копированием, следите за порядком колонок: они встают в таблицу формы слева направо. Колонка «Цена» из Excel, попавшая в «Количество», — частая и неприятная ошибка. Перед вставкой переставьте колонки в Excel под порядок формы или вставляйте каждую колонку отдельно.

Номенклатура

Для каждой строки программа ищет товар в справочнике. Где найти не удалось, строка помечается как несопоставленная. Варианты действий:

  • 🔍 выбрать товар вручную из справочника;
  • ➕ создать новые элементы номенклатуры для всех несопоставленных строк;
  • ⏭ пропустить строку и добавить товар в документ позже.

Автосоздание удобно, но опасно. Если поставщик пишет «Бумага А4 Снегурочка 500л», а у вас уже есть «Бумага офисная Снегурочка А4, 500 листов», появится дубль. Через полгода остатки одного товара разъедутся по двум карточкам.

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

Как сделать сопоставление постоянным

Чтобы следующие накладные того же поставщика находились сразу, заведите в карточках номенклатуры артикулы поставщика или храните его наименование в отдельном поле. Набор полей для поиска зависит от конфигурации: в БП это код, наименование и артикул, в УТ 11 к ним добавляются номенклатура поставщиков и штрихкоды.

Перед нажатием «Загрузить»
Выполнено: 0 / 5

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

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

Порядок работы:

  1. Создайте и запишите документ поступления с заполненной шапкой.
  2. Откройте обработку: Файл → Открыть, выберите файл .epf.
  3. Режим загрузки — загрузка в табличную часть.
  4. Выберите ссылку на ваш документ и табличную часть «Товары».
  5. На вкладке табличного документа вставьте данные из Excel или откройте файл.
  6. В настройке колонок для каждого реквизита укажите номер колонки и способ поиска.
  7. Запустите проверку заполнения, исправьте отмеченные строки и выполните загрузку.

Сила обработки — в настройке колонок:

НастройкаЧто даёт
Номер колонкиКакая колонка Excel идёт в реквизит
Искать поКод, наименование или артикул для ссылочных полей
Значение по умолчаниюОдна ставка НДС или склад для всех строк
ВыражениеВычисление на встроенном языке, например сумма = цена × количество

Настройку колонок можно сохранить в файл и подставлять для каждой новой накладной того же поставщика. Это экономит главное время — повторное сопоставление.

Внешние обработки запускаются только у пользователей с правом открывать внешние отчёты и обработки. Берите обработку из проверенного источника: внешний файл исполняет код с вашими правами в базе.

Кодировка, числа-текст и спецсимволы при загрузке накладной

Если загрузка «прошла», но количество пустое, цены нулевые или товары не находятся, виноват почти всегда формат значений.

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

Ещё три источника мусора:

  • 🔣 кавычки разных видов в наименовании (", «», „“) — товар с «ёлочками» и товар с прямыми кавычками для 1С разные строки;
  • 🔤 латинские буквы вместо похожих русских («А», «С», «Е», «О», «Р»), часто в артикулах;
  • 🧮 символ × или x в размерах — для поиска по наименованию это тоже разные строки.

Для файлов .xlsx кодировка не проблема: Unicode внутри формата. Сложности бывают только с CSV и старыми выгрузками из других программ.

Автоматическая загрузка накладных из Excel: внешние источники данных и код

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

Внешние источники данных

В конфигураторе есть ветка метаданных Внешние источники данных. Через неё 1С читает таблицу Excel по ODBC как таблицу базы данных и строит по ней запросы.

Что нужно:

  1. ODBC-драйвер Microsoft Excel на компьютере, где выполняется серверный код. Разрядность драйвера должна совпадать с разрядностью сервера 1С или клиента в файловом режиме.
  2. Внешний источник с таблицей и полями под колонки накладной.
  3. Строка подключения с путём к файлу, например Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\Обмен\nakladnaya.xlsx;.
  4. Обработка, которая читает таблицу запросом и создаёт документы.

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

Обработка на встроенном языке

Проще и переносимее — внешняя обработка, которая читает файл в табличный документ. Платформа 8.3 открывает .xlsx методом Прочитать() без установленного Excel. Пример чтения строк с артикулом во второй колонке и количеством в третьей:

&НаСервере
Процедура ЗагрузитьСтроки(ИмяФайла, Документ)

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ИмяФайла);

    Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл

        Строка = Формат(НомерСтроки, "ЧГ=0");
        Артикул = СокрЛП(ТабДок.Область("R" + Строка + "C2").Текст);
        Если ПустаяСтрока(Артикул) Тогда
            Продолжить;
        КонецЕсли;

        ТекстКоличества = ТабДок.Область("R" + Строка + "C3").Текст;
        ТекстКоличества = СтрЗаменить(ТекстКоличества, Символы.НПП, "");
        ТекстКоличества = СтрЗаменить(ТекстКоличества, " ", "");
        ТекстКоличества = СтрЗаменить(ТекстКоличества, ",", ".");

        Попытка
            Количество = Число(ТекстКоличества);
        Исключение
            Сообщить("Строка " + Строка + ": не число в колонке количества");
            Продолжить;
        КонецПопытки;

        Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
        Если Номенклатура.Пустая() Тогда
            Сообщить("Строка " + Строка + ": не найден артикул " + Артикул);
            Продолжить;
        КонецЕсли;

        НоваяСтрока = Документ.Товары.Добавить();
        НоваяСтрока.Номенклатура = Номенклатура;
        НоваяСтрока.Количество = Количество;

    КонецЦикла;

КонецПроцедуры

Здесь Документ — объект документа поступления, полученный через ПолучитьОбъект(). После заполнения строк вызовите у него Записать(). Цены, суммы и НДС добавляются так же; суммы лучше пересчитать типовыми процедурами документа, а не считать вручную.

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

Другие способы: ЭДО, XML-файлы и сторонние обработки

Excel — не лучший носитель накладной. Если поставщик готов, договоритесь о другом формате.

СпособКогда подходитРиски
ЭДО (1С-ЭДО или другой оператор)Поставщик работает с электронными УПДНужна настройка ЭДО и КЭП
XML-файл УПД по формату ФНСПоставщик может выгрузить файл, но ЭДО нетБез подписи это не юридически значимый документ
Встроенная загрузка из ExcelРазовые накладные, разные поставщикиРучное сопоставление номенклатуры
Внешняя обработка под поставщикаЕжедневный поток в одном форматеОбработку нужно поддерживать при смене формата
Сторонние сервисы распознаванияНакладные приходят сканами и PDFПлатно, нужна проверка результата

При ЭДО документ поступления создаётся из входящего УПД, номенклатура сопоставляется один раз и дальше подставляется автоматически. Шапка — контрагент, номер, дата — заполняется тоже. Для регулярного поставщика это надёжнее любого Excel.

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

  • ✅ поддерживает ли обработка ваш релиз конфигурации;
  • ✅ работает ли она в веб-клиенте, если вы в облаке;
  • ✅ умеет ли сохранять сопоставление номенклатуры поставщика;
  • ✅ есть ли тестовый период на копии базы.

Первичный учётный документ должен содержать обязательные реквизиты и подписи. Загрузка строк из Excel не делает файл поставщика первичным документом: основание для учёта — подписанная накладная или УПД, а Excel лишь ускоряет ввод.

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

Можно ли загрузить из Excel сразу несколько накладных?
Встроенная команда заполняет одну табличную часть одного документа. Для пакета накладных нужна обработка, которая создаёт документы по группировке строк, например по номеру накладной в отдельной колонке.
Почему после загрузки сумма НДС не совпадает с накладной?
Программа пересчитывает НДС от суммы строки и признака «Цена включает НДС». Если поставщик считал иначе, поправьте НДС в строках вручную, чтобы итог совпал с документом продавца.
Загружается ли номер ГТД и страна происхождения?
Через встроенную загрузку — только если эти поля есть в колонках формы загрузки вашей конфигурации. Если их нет, заполните реквизиты в строках после загрузки или используйте обработку с выбором любых реквизитов табличной части.
Работает ли загрузка накладной из Excel в 1С через веб-клиент и в облаке?
Да. Вставка через буфер обмена работает в браузере так же, как в тонком клиенте. При загрузке файлом он передаётся на сервер, установленный Excel не нужен.
Что делать, если в справочнике уже есть дубли номенклатуры?
Сначала объедините дубли типовым механизмом поиска и удаления дублей в разделе администрирования, потом грузите. Иначе при каждой загрузке строки будут попадать то в одну, то в другую карточку.

Источники

  • Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учете», ст. 9