Справочник товаров из таблицы: перенос номенклатуры в 1С:Управление торговлей 11 без дублей
Содержание
Чтобы загрузить номенклатуру в 1С из Excel, откройте НСИ и администрирование → НСИ → Номенклатура, вызовите в списке команду загрузки из файла, вставьте или откройте таблицу, сопоставьте колонки с реквизитами и выберите поле для поиска существующих позиций — лучше артикул. Внешние обработки и программист для этого не нужны: механизм «Загрузка данных из файла» встроен в 1С:Управление торговлей 11 и 1С:Бухгалтерию 3.0.
Результат почти целиком зависит от файла. Чистая таблица с одной строкой на товар и заполненным видом номенклатуры загружается за пару минут. Таблица с объединёнными ячейками, формулами и артикулами, которые Excel превратил в числа, даёт сотню дублей и вечер ручной чистки.
1. Подготовка таблицы Excel перед загрузкой номенклатуры
Загрузчик читает таблицу построчно: первая строка — заголовки, каждая следующая — один товар. Всё, что мешает такой схеме, убирайте заранее.
Какие колонки нужны
| Колонка в Excel | Обязательность | Комментарий |
|---|---|---|
| Наименование | обязательно | Как товар будет называться в списке |
| Артикул | очень желательно | Главный ключ для поиска дублей |
| Вид номенклатуры | обязательно для УТ 11 | Должен совпадать с видом, уже созданным в программе |
| Единица измерения | желательно | «шт», «кг», «м» — как в классификаторе единиц |
| Ставка НДС | по ситуации | «20%», «10%», «Без НДС» |
| Штрихкод | по ситуации | Только как текст |
| Полное наименование, производитель, описание | по желанию | Загрузятся, если в шаблоне есть такие поля |
В УТ 11 вид номенклатуры определяет почти всё: товар это или услуга, ведётся ли учёт по характеристикам и сериям, какая единица ставится по умолчанию. Без него карточка не запишется. Если все позиции одного вида, достаточно колонки с одинаковым значением во всех строках.
Форматы ячеек
Три ловушки, на которых спотыкаются чаще всего:
- 🔢 Артикулы с ведущими нулями. Excel превращает
00125в125. Задайте колонке текстовый формат до вставки данных, а не после. - 📏 Штрихкоды. Тринадцатизначное число Excel показывает как
4,6E+12и теряет последние цифры. Формат — «Текстовый». - 🧮 Формулы. Если наименование собрано формулой из нескольких ячеек, скопируйте колонку и вставьте как значения.
Чистка данных
- Уберите объединённые ячейки, пустые строки внутри таблицы и итоговые строки внизу.
- Удалите лишние пробелы в начале и конце текста: функция
=СЖПРОБЕЛЫ(A2), затем вставка значениями. Для 1С «Болт М8» и «Болт М8 » — разные строки. - Найдите дубли артикулов:
Данные → Удалить дубликатына копии листа или условное форматирование «Повторяющиеся значения». - Проверьте, что единицы записаны одинаково: не «шт», «шт.» и «штук» вперемешку.
- Сохраните файл в
.xlsxи закройте его в Excel. Открытый файл заблокирован, и 1С может не прочитать его.
На листе оставьте только таблицу. Шапку с логотипом поставщика и примечаниями удалите — загрузчик примет их за товары.
2. Где в 1С запускается загрузка номенклатуры из Excel
Механизм один и тот же в двух конфигурациях, отличается только путь к списку:
| Конфигурация | Путь к списку номенклатуры | Где команда |
|---|---|---|
| 1С:Управление торговлей 11 | НСИ и администрирование → НСИ → Номенклатура | Командная панель списка или меню «Ещё» |
| 1С:Бухгалтерия 3.0 | Справочники → Товары и услуги → Номенклатура | Кнопка «Загрузить» над списком |
Порядок действий в УТ 11:
- Откройте список номенклатуры и перейдите в группу, куда должны попасть товары. Если групп нет, работайте от корня.
- Найдите команду загрузки из файла. В разных релизах она стоит на панели или спрятана в меню «Ещё» — ищите по слову «Загрузить».
- Откроется форма с пустой таблицей-шаблоном. Колонки шаблона — это реквизиты номенклатуры, которые можно загрузить.
- Заполните шаблон одним из двух способов: скопируйте диапазон в Excel (
Ctrl+C) и вставьте в таблицу 1С (Ctrl+V) или откройте файл командой загрузки из файла в этой же форме. Поддерживаются.xlsx,.xls,.ods,.csvи.mxl. - Нажмите «Далее» — программа перейдёт к сопоставлению данных.
Перед первой загрузкой в рабочую базу сделайте резервную копию или выгрузку .dt. Отменить загрузку одной кнопкой нельзя: созданные элементы придётся помечать на удаление вручную.
Если позиций больше тысячи, загружайте частями по 300–500 строк. Ошибку в первой партии исправить проще, чем разбирать протокол на 5000 строк.
3. Сопоставление колонок файла с реквизитами номенклатуры
Когда данные вставлены через буфер, они ложатся в колонки шаблона по порядку. Если порядок колонок в Excel другой, наименования окажутся в поле артикула. Поэтому перед вставкой либо переставьте колонки в Excel под шаблон, либо используйте загрузку из файла: в этом режиме программа сопоставляет колонки по заголовкам.
Типичная схема соответствия выглядит так:
На что смотреть при сопоставлении:
- 🏷 Ссылочные поля — вид номенклатуры, единица, ставка НДС. 1С ищет значение из ячейки среди уже существующих элементов. Если в базе вид называется «Товары», а в файле «Товар», связь не найдётся.
- 🔤 Лишний символ в ссылочном поле ломает связь: «шт.» с точкой не равно «шт», «НДС 20%» не равно «20%».
- 📦 Колонки, которых нет в шаблоне, загрузчик просто не возьмёт. Цены, остатки и склады через этот механизм не попадают в программу — о них в разделе 6.
Перед загрузкой откройте в 1С справочник видов номенклатуры и единиц измерения и выпишите точные названия. Затем замените значения в Excel через Ctrl+H. Это пять минут работы вместо ручного исправления сотни карточек.
4. Поиск существующих товаров и обновление записей
Это самый важный шаг. На втором экране загрузчик показывает, какие строки файла он нашёл в базе, а какие считает новыми. Здесь же выбирается реквизит, по которому идёт поиск.
По какому полю искать
| Поле поиска | Когда подходит | Риск |
|---|---|---|
| Артикул | Почти всегда | Нет, если артикулы уникальны и заполнены |
| Штрихкод | Розница, товары с заводскими кодами | Товары без штрихкода создадутся заново |
| Наименование | Только для пустой базы | Любое расхождение в букве даёт дубль |
Если в базе уже есть товары, а в файле те же позиции с уточнёнными данными, поиск по наименованию почти гарантирует дубли. «Кабель ВВГ 3х2,5» и «Кабель ВВГнг 3x2.5» для программы — два разных товара.
Что делать с найденными и новыми строками
Для каждой группы строк есть своё поведение:
- ✅ Найдена одна позиция — строка сопоставлена. Если включено обновление существующих элементов, реквизиты карточки перезапишутся значениями из файла.
- ➕ Ничего не найдено — программа создаст новый элемент или пропустит строку, в зависимости от выбранного режима.
- ❓ Найдено несколько — строка помечается как неоднозначная. Выберите нужный элемент вручную или исправьте дубль в базе до загрузки.
Обновление перезаписывает данные. Если в файле поставщика наименования короче ваших, после загрузки «Шуруповёрт аккумуляторный Makita DF333DWYE 12 В» превратится в «Шуруповерт DF333». Включайте обновление только для тех колонок, которые действительно хотите поменять, а лишние удалите из таблицы.
Перед полной загрузкой прогоните пробную партию из 5–10 строк, где есть и новые, и существующие товары. Откройте пару карточек и убедитесь, что поведение вас устраивает, — особенно в части пустых ячеек.
5. Протокол загрузки: где смотреть ошибки и как их исправить
После нажатия «Загрузить» программа показывает отчёт по каждой строке: создана, обновлена, пропущена или не загружена с описанием причины. Отфильтруйте отчёт по проблемным строкам и исправляйте их в Excel, а не в 1С: так исправленный файл пригодится для следующей партии.
Частые сообщения и что за ними стоит:
Если дубли всё-таки появились, удаляйте их через пометку на удаление, а потом запускайте «Удаление помеченных объектов» в разделе администрирования, в группе «Обслуживание». Перед удалением программа проверит, не используются ли элементы в документах. Дубль, на который уже ссылается накладная, сначала нужно заменить в документах на правильный товар.
6. Цены, остатки и характеристики: что загружается отдельно
Механизм загрузки в справочник создаёт карточки, но не цены и не остатки. Это частая причина вопроса «загрузил, а цен нет».
- 💰 Цены. В УТ 11 их устанавливает документ «Установка цен номенклатуры». В его табличной части тоже есть загрузка из файла: те же колонки артикула и цены, поиск товара по артикулу. Сначала загрузите справочник, потом цены — иначе документу не к чему будет привязать строки.
- 📦 Начальные остатки. Вводятся документом ввода начальных остатков по товарам с указанием склада. Количество и стоимость берутся из той же таблицы, загрузка в табличную часть работает аналогично.
- 🎨 Характеристики — размеры, цвета. Если вид номенклатуры учитывается по характеристикам, загрузка создаст только саму номенклатуру. Характеристики заводятся отдельно, по правилам этого вида.
- 🖼 Картинки через табличную загрузку не переносятся. Для сотен фото нужна внешняя обработка или обмен с сайтом.
Порядок для нового магазина такой: виды номенклатуры и единицы → справочник номенклатуры → цены → остатки. Если поменять местами, придётся повторять загрузку.
7. Другие способы загрузить номенклатуру из эксель в 1С
Для разовой загрузки встроенного механизма обычно хватает. Остальные способы нужны, когда данные идут регулярно или из другой системы.
| Способ | Когда выбирать | Ограничения |
|---|---|---|
| Встроенная загрузка из файла | Разовая загрузка, прайс поставщика | Только реквизиты из шаблона |
| Внешняя обработка «Загрузка данных из табличного документа» | Нужно загрузить нестандартные реквизиты, дополнительные свойства | Требует навыка, обработку берут под свою версию платформы |
| Обмен через EnterpriseData | Перенос из другой базы 1С, например из БП в УТ | Excel не нужен вовсе |
| Обмен с сайтом (CommerceML) | Каталог интернет-магазина | Настройка с обеих сторон |
| Своя обработка или расширение | Ежедневный прайс от поставщика в одном и том же формате | Нужен программист 1С |
Если номенклатура уже есть в другой базе 1С, Excel — худший вариант. Стандартный обмен переносит товары вместе с видами, единицами и связями, а таблица теряет половину этого по дороге.
Для регулярной загрузки программист обычно делает небольшую внешнюю обработку
. Её основа — чтение файла в табличный документ и поиск каждой позиции по артикулу. Пример проверки файла перед загрузкой: процедура читает .xlsx и сообщает, какие артикулы уже есть в базе.
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 2).Текст);
Если ПустаяСтрока(Артикул) Тогда
Продолжить;
КонецЕсли;
Найденный = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
Если ЗначениеЗаполнено(Найденный) Тогда
Сообщить(СтрШаблон("Строка %1: артикул %2 уже есть — %3",
Формат(НомерСтроки, "ЧГ=0"), Артикул, Найденный));
КонецЕсли;
КонецЦикла;
Здесь артикул лежит во второй колонке файла, первая строка — заголовки. Код выполняется на сервере: файл нужно предварительно передать туда, если база клиент-серверная.