Заказ покупателя из таблицы Excel: перенос строк в документ 1С без ручного набора

· 11 мин

Содержание

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

Есть три пути, и выбирают по частоте. Разовый заказ на 30–300 строк — встроенная загрузка в табличную часть. Нетиповая конфигурация без такой команды — универсальная обработка «Загрузка данных из табличного документа». Десятки заказов в день от одних и тех же клиентов в одном и том же формате — своя внешняя обработка или электронный обмен заказами.

Какой способ загрузки заказа выбрать

СпособКогда подходитЧто загружаетОграничения
📥 Встроенная загрузка в табличную частьТиповые БП 3.0, УТ 11, КА, ERP, УНФ на свежих релизахТолько строки товаровШапку заполняют вручную, один заказ за раз
🧩 Обработка «Загрузка данных из табличного документа»Нетиповая или старая конфигурация, нет кнопки загрузкиТабличную часть выбранного документаНужны права на внешние обработки, настройка колонок каждый раз
⚙️ Своя внешняя обработкаРегулярные заказы в постоянном форматеШапку и строки, можно пачкойНужен программист, обработку дорабатывают при смене формата
🔄 Электронный обмен заказами (EDI, обмен с сайтом)Сетевые покупатели, интернет-магазинЗаказ целикомОтдельное подключение и настройка

Документ называется по-разному в зависимости от конфигурации, и это влияет на то, куда загружать:

КонфигурацияДокументГде найти список
1С:Управление торговлей 11, КА 2, ERPЗаказ клиентаПродажи → Заказы клиентов
1С:Управление торговлей 11, КА 2, ERPЗаказ поставщикуЗакупки → Заказы поставщикам
1С:УНФЗаказ покупателяПродажи → Заказы покупателей
1С:Бухгалтерия 3.0Счёт покупателю (отдельного заказа нет)Продажи → Счета покупателям

В Бухгалтерии заказ клиента обычно оформляют счётом на оплату, а при отгрузке строки переносят в реализацию через ввод на основании. Порядок загрузки строк в счёт тот же, что описан ниже.

Подготовка файла Excel к импорту в 1С

Большая часть ошибок импорта рождается в файле, а не в 1С. Клиент присылает красивый бланк с логотипом, объединёнными ячейками и итогами — такой файл программа прочитает, но сопоставит плохо. Пять минут на чистку экономят полчаса ручного исправления строк.

Как должна выглядеть таблица

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

Ключ для поиска товара

Решите заранее, по какой колонке 1С будет узнавать товар. Надёжность ключей разная:

  • 🏷️ Штрихкод — самый точный вариант, если ваши товары им размечены и коды заведены в базе.
  • 🔢 Артикул — хорош, если артикулы в базе заполнены и уникальны. Артикул поставщика и ваш артикул часто не совпадают: уточните, чей стоит в файле.
  • 📝 Наименование — худший ключ. «Саморез 4,2х16» и «Саморез 4.2*16 мм» для программы разные товары.

Форматы ячеек

  • Колонку со штрихкодами и артикулами с ведущими нулями переведите в формат «Текстовый» до вставки данных. Иначе Excel превратит 0012345 в 12345, а 13-значный штрихкод — в 4,6E+12.
  • Количество и цена должны быть числами, а не текстом. Зелёный треугольник в углу ячейки — признак числа, сохранённого как текст.
  • Уберите пробелы в начале и конце артикулов. Помогает формула =СЖПРОБЕЛЫ(A2) с последующей вставкой значений.
  • Формулы в ячейках допустимы, 1С читает рассчитанное значение. Но если формула ссылается на другой файл, перед загрузкой замените её значением.

Сохраните файл в формате .xlsx. Старый .xls тоже читается, но с ним чаще бывают проблемы с кодировкой и датами.

Загрузка строк заказа из Excel встроенными средствами 1С

Встроенная загрузка в табличные части есть в типовых конфигурациях на платформе 8.3. Это общий механизм для многих документов, поэтому выглядит он одинаково в заказе, счёте, реализации и поступлении.

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

  1. Откройте список заказов (путь — в таблице выше) и нажмите Создать.
  2. Заполните клиента, организацию, склад. В УТ 11 выберите соглашение: от него зависят вид цен и условия оплаты.
  3. Перейдите на вкладку «Товары».

Шапку стоит заполнить до загрузки строк. Склад и вид цен влияют на то, как документ дорисует строки после вставки.

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

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

Перенесите данные

Вариантов два:

  • Через буфер обмена. В Excel выделите диапазон с данными без строки заголовков, скопируйте, в форме 1С щёлкните в первую ячейку первой колонки и нажмите Ctrl+V. Порядок колонок в Excel должен совпасть с порядком в шаблоне — переставьте их в Excel заранее.
  • Из файла. Выберите команду загрузки из файла в самой форме и укажите .xlsx, .xls, .ods или .csv. Программа попытается разложить колонки по заголовкам; проверьте результат глазами.

Лишние колонки шаблона, для которых у вас нет данных, оставьте пустыми. Шаблон обычно позволяет выбрать, по чему искать номенклатуру: по наименованию, артикулу, штрихкоду или коду.

Сопоставьте позиции и завершите загрузку

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

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

Затем подтвердите загрузку. Строки попадут в документ, и останется проверить суммы и записать заказ.

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

Как настроить соответствие колонок и справочников

Самая трудоёмкая часть импорта — не вставка, а сопоставление. Ниже — типичная раскладка колонок клиентского заказа на поля табличной части.

Сопоставление полей
Артикул или штрихкод→Номенклатура (поиск по артикулу или штрихкоду)
Наименование→Номенклатура (поиск по наименованию, если артикула нет)
Характеристика (размер, цвет)→Характеристика номенклатуры
Количество→Количество
Единица (шт, упак, кор)→Упаковка или единица измерения
Цена с НДС→Цена
Ставка НДС→Ставка НДС
Желаемая дата отгрузки→Дата отгрузки строки (если используется)

Единицы измерения и упаковки

Клиент пишет «2 коробки», а в 1С товар учитывается в штуках. В УТ 11 и ERP при включённом учёте упаковок в строке есть отдельное поле упаковки: загрузите количество упаковок и укажите упаковку — штуки программа пересчитает сама. В Бухгалтерии упаковок нет, поэтому пересчитайте количество в базовую единицу прямо в Excel до загрузки.

Характеристики

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

Цены: загружать или нет

Есть два подхода:

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

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

Словарь соответствий для постоянных клиентов

Когда клиент присылает заказы регулярно, а его наименования не совпадают с вашими, заведите таблицу соответствий: колонка с его артикулом и колонка с вашим. Перед загрузкой подставляйте ваш артикул формулой ВПР (или ИНДЕКС/ПОИСКПОЗ). В УТ 11 и ERP есть учёт номенклатуры поставщиков и номенклатуры контрагентов — если он включён, сопоставление по артикулу клиента можно вести прямо в базе.

Порядок проверки заказа после импорта из Excel

Загрузка заполнила строки, но документ ещё не готов. Перед записью и проведением пройдите по списку.

  1. Сравните количество строк в документе и в файле. Разница — значит, часть строк отброшена на этапе сопоставления.
  2. Сверьте итоговую сумму документа с итогом в Excel.
  3. Отсортируйте табличную часть по колонке номенклатуры и поищите дубли: одна позиция могла попасть дважды из-за разных написаний в файле.
  4. Проверьте ставку НДС в строках, особенно у позиций, созданных при загрузке.
  5. Проверьте склад и дату отгрузки, если они задаются построчно.
  6. В УТ 11 посмотрите статус заказа и варианты обеспечения: без них резерв не встанет.
  7. Запишите документ, затем проведите.

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

Автоматизация загрузки заказов внешней обработкой

Ручная загрузка терпима для одного-двух заказов в день. Когда их десятки, нужен другой подход.

Обработка «Загрузка данных из табличного документа»

Это универсальная внешняя обработка, которую распространяет фирма 1С для управляемых форм. Она умеет загружать данные в справочник, в регистр сведений и в табличную часть документа. Для заказа выбирают режим загрузки в табличную часть, указывают ссылку на созданный заказ и табличную часть «Товары», затем настраивают колонки и способ поиска номенклатуры.

Как подключить:

  • разово — открыть файл .epf через главное меню программы: Файл → Открыть;
  • постоянно — добавить в раздел дополнительных обработок: Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки (в УТ 11 раздел называется НСИ и администрирование).

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

Своя обработка под формат клиента

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

&НаСервере
Процедура ЗаполнитьТоварыИзФайла(АдресФайла)

    ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайла);
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xlsx");
    ДвоичныеДанные.Записать(ИмяВременногоФайла);

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

    // Колонки файла: 1 - артикул, 2 - количество, 3 - цена. Строка 1 - заголовки.
    Для НомерСтроки = 2 По Таб.ВысотаТаблицы Цикл

        Артикул = СокрЛП(Таб.Область(НомерСтроки, 1, НомерСтроки, 1).Текст);
        Если ПустаяСтрока(Артикул) Тогда
            Продолжить;
        КонецЕсли;

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

        ТекстКоличества = СтрЗаменить(Таб.Область(НомерСтроки, 2, НомерСтроки, 2).Текст, " ", "");
        ТекстЦены       = СтрЗаменить(Таб.Область(НомерСтроки, 3, НомерСтроки, 3).Текст, " ", "");

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

    КонецЦикла;

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

Файл на клиенте помещают во временное хранилище через ПоместитьВоВременноеХранилище или диалог выбора файла, а адрес передают в процедуру. Метод Прочитать у табличного документа работает с .xlsx и .xls без установленного Excel на сервере.

Код — заготовка, а не готовое решение. Если в ячейке пробелы-разделители тысяч другого вида (неразрывный пробел), их тоже нужно убирать, иначе Число() вызовет ошибку. В УТ 11 и ERP у строки заказа есть свои связанные поля — ставка НДС, сумма НДС, упаковка, вариант обеспечения; их заполняют штатными процедурами конфигурации, а не прямым присвоением. Доработку типовой формы делают через расширение конфигурации, чтобы не снимать базу с поддержки.

Электронный обмен заказами

Для сетевых покупателей и маркетплейсов Excel — промежуточное звено, которое стоит убрать. Заказы от торговых сетей принимают через сервис 1С:EDI, заказы с сайта — через обмен с интернет-магазином. Тогда документ появляется в базе без участия менеджера, а Excel нужен только для разовых клиентов.

Ошибки при загрузке заказа и что с ними делать

Ниже собраны ситуации, которые встречаются при импорте. Выберите свою, чтобы увидеть причину.

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

Частые вопросы о загрузке заказов из Excel

Можно ли загрузить в 1С сразу несколько заказов из одного файла?
Встроенная загрузка заполняет один документ. Для пачки заказов нужна своя внешняя обработка, которая группирует строки по клиенту или номеру заказа и создаёт отдельный документ на каждую группу.
Нужен ли установленный Microsoft Excel на компьютере?
Нет. Платформа 8.3 читает .xlsx и .xls своими средствами. Excel или аналог нужен только для подготовки файла.
Подойдёт ли файл из Google Таблиц?
Да. Скачайте таблицу в формате .xlsx или скопируйте диапазон прямо из браузера и вставьте в форму загрузки через буфер обмена.
Как не настраивать колонки при каждой загрузке?
Держите у себя шаблон Excel с колонками в том же порядке, что и в форме загрузки, и переносите в него данные клиента. Тогда вставка через буфер обмена ложится в форму сразу, без перестановок.
Можно ли так же загрузить заказ поставщику?
Да, порядок тот же: в УТ 11 откройте Закупки → Заказы поставщикам, заполните шапку и загрузите строки в табличную часть товаров.