База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как загрузить номенклатуру из Excel в 1С сегментом?
- В этой теме 1 ответ, 2 участника, последнее обновление 14 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
18 мая 2026 в 10:09 #37242
как загрузить сегмент номенклатуры списком товаров из эксель
-
18 мая 2026 в 10:09 #37243
Чтобы загрузить сегмент номенклатуры списком товаров из Excel в 1С (например, в 1С:Розница, УТ или УНФ), нужно выполнить следующие шаги:
1. Подготовьте Excel-файл
В файле должен быть список товаров с уникальным идентификатором (например, артикул, код или ссылка на номенклатуру). Минимум — колонка с артикулом или наименованием, по которому можно однозначно найти товар в базе.2. Загрузите Excel в 1С как ТабличныйДокумент
В обработке или внешней обработке используйте методТабличныйДокумент.Прочитать()для загрузки файла Excel.3. Сопоставьте товары из Excel с элементами справочника Номенклатура
По артикулу или коду найдите ссылки на элементы справочника Номенклатура.4. Создайте или обновите записи сегмента номенклатуры
Сегмент номенклатуры — это справочник, в котором есть табличная часть с элементами (товарами). Нужно для каждого товара создать элемент сегмента.5. Пример кода загрузки сегмента из Excel (упрощённый):
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839Процедура ЗагрузитьСегментИзExcel(ИмяФайла, СсылкаНаСегмент)// Читаем ExcelТабДок = Новый ТабличныйДокумент;ТабДок.Прочитать(ИмяФайла);// Предположим, что артикул в первой колонке, начиная со второй строкиДля Стр = 2 По ТабДок.КоличествоСтрок ЦиклАртикул = ТабДок.ПолучитьЯчейку(Стр, 1).Значение;Если ПустаяСтрока(Артикул) ТогдаПродолжить;КонецЕсли;// Ищем номенклатуру по артикулуЗапрос = Новый Запрос;Запрос.Текст ="|ВЫБРАТЬ| Ссылка|ИЗ| Справочник.Номенклатура|ГДЕ| Артикул = &Артикул";Запрос.УстановитьПараметр("Артикул", Артикул);Результат = Запрос.Выполнить();Если Результат.Пустой() ТогдаПродолжить; // Товар не найденКонецЕсли;СсылкаНоменклатуры = Результат.Выбрать().Ссылка;// Добавляем элемент в сегментНовыйЭлемент = СсылкаНаСегмент.Элементы.СоздатьЭлемент();НовыйЭлемент.ЭлементСписка = СсылкаНоменклатуры;НовыйЭлемент.Записать();КонецЦикла;// Записываем сегментСсылкаНаСегмент.Записать();КонецПроцедуры6. Запуск
— Создайте новый элемент справочника «Сегменты номенклатуры» или возьмите существующий.
— Передайте ссылку на него в процедуру.
— Укажите путь к Excel-файлу.—
Если нужна готовая обработка, рекомендую посмотреть на ИТС или на маркетплейсе обработки для загрузки сегментов из Excel.
—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1905264/ — пример работы с сегментами номенклатуры и загрузкой данных.
https://infostart.ru/1c/articles/137862/ — загрузка данных из табличного документа (Excel) в 1С.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.