1. Назначение и основные возможности
Обработка решает следующие задачи:
-
Чтение файлов Excel (в форматах .xls и .xlsx) без необходимости установки Microsoft Office на сервере или клиенте (используются встроенные средства работы с табличными документами 1С).
-
Автоматическое распознавание двух форматов файлов:
-
Старый (колоночный) формат: таблица, где колонками выступают «Номенклатура.Артикул» и «Номенклатура».
-
Новый (строковый) формат: таблица, содержащая колонки «Свойство» и «Значение», привязанные к артикулу.
-
-
Интеллектуальный поиск номенклатуры в базе данных по артикулу (пакетным запросом для оптимизации производительности).
-
Управление метаданными свойств (БСП):
-
Проверка наличия свойств в Плане видов характеристик (ПВХ) ДополнительныеРеквизитыИСведения.
-
Автоматическое создание недостающих свойств с типом значения «Строка» (до 1000 символов) или ссылочным типом.
-
Привязка созданных или существующих свойств к набору свойств "Основные" (в справочнике НаборыДополнительныхРеквизитовИСведений) для их корректного отображения в карточке товара.
-
Создание элементов в справочнике ЗначенияСвойствОбъектов под конкретные свойства.
-
-
Запись данных: перенос значений в независимый регистр сведений ДополнительныеСведения.
-
Дополнительный функционал:
-
Прямая загрузка свойств и маркировки из текстового формата (CSV с разделителем ;).
-
Массовая очистка всех дополнительных сведений у выбранных товаров.
-

Обработка предназначена для пакетного импорта дополнительных реквизитов (свойств) и их значений для справочника «Номенклатура» из файлов Microsoft Excel (.xls, .xlsx). Она позволяет автоматически создавать отсутствующие свойства, формировать списки дополнительных значений «на лету» без ручного заведения и записывать их в регистр сведений «Дополнительные сведения». Имеется встроенная инструкция.

2. Важные технические ограничения (Нюансы загрузки)
-
Имя рабочего листа: Самый важный технический нюанс — лист с данными в файле Excel должен называться строго _1. Если лист переименован или используется имя по умолчанию (например, Лист1), обработка выдаст ошибку отсутствия данных. Это сделано для защиты от случайной загрузки нерелевантных файлов.
-
Права доступа: У пользователя должны быть полные права на справочник «Номенклатура», ПВХ «Дополнительные реквизиты и сведения» и регистр сведений «Дополнительные сведения».
3. Поддерживаемые форматы файлов
Обработка автоматически определяет формат файла при чтении.
Формат 1: Новый строковый формат (Рекомендуемый)
Позволяет загрузить сразу несколько разнородных свойств для каждого товара.
Структура колонок:
-
Колонка A: Артикул товара (заполняется только на первой строке группы свойств товара).
-
Колонка B: Наименование товара (заполняется справочно, для визуального контроля).
-
Колонка C: Наименование загружаемого свойства (например, Тип, Длина, Крепление).
-
Колонка D: Значение этого свойства (например, Всесезонная, 33 см, HOOK).
Пример правильного заполнения файла:
| A (Артикул) | B (Наименование) | C (Свойство) | D (Значение) |
| A85775S | Щетка стеклоочистителя AVS Multi-Fit... | Тип | Всесезонная |
| (пусто) | (пусто) | Длина | 33 см (13″) |
| (пусто) | (пусто) | Крепление | HOOK (крючок) |
| (пусто) | (пусто) | Каркас щетки | Бескаркасная |
| A85776S | Щетка стеклоочистителя AVS... | Тип | Всесезонная |
| (пусто) | (пусто) | Длина | 40 см |
Обратите внимание: для одного артикула заполняется только первая строка, на последующих строках свойства этого же товара колонки A и B остаются пустыми.
Формат 2: Колоночный формат (Для загрузки одного или нескольких свойств)
Используется, когда свойства представлены в виде шапки таблицы (одна колонка — одно свойство).
Структура колонок:
-
Колонка A: Должна иметь заголовок строго Номенклатура.Артикул (артикул товара).
-
Колонка B: Должна иметь заголовок строго Номенклатура (наименование или значение свойства, если загружается одно свойство).
-
Последующие колонки (C, D и т.д.): Названия свойств, а в строках — их значения.
4. Пошаговый алгоритм работы обработки
Шаг 1. Выбор и загрузка файла (ПрочитатьДанные / ЗагрузитьВсеСвойства)
Пользователь инициирует загрузку файла на клиенте. Файл асинхронно передается во временное хранилище на сервере с помощью метода ПоместитьФайлНаСерверАсинх. На сервере двоичные данные записываются во временный файл и считываются в объект ТабличныйДокумент.
Шаг 2. Определение формата и разбор данных
Система анализирует первые 30 строк документа:
-
Если в колонке C найдено слово «свойство» (без учета регистра), включается Новый формат:
-
Метод ЗаполнитьТаблицуИзНовогоФормата обходит строки.
-
Если колонка A заполнена, запоминается текущий артикул.
-
Строки, содержащие заполненные колонки C (Свойство) и D (Значение), группируются и готовятся к обработке.
-
-
Если колонка C не содержит слово «свойство», включается Старый формат:
-
Метод ПрочитатьExcelВТаблицуЗначений проверяет наличие обязательных колонок «Номенклатура.Артикул» и «Номенклатура».
-
С помощью объекта ПостроительЗапроса лист Excel преобразуется в ТаблицуЗначений для быстрого разбора.
-
Шаг 3. Идентификация номенклатуры
Собранные из файла артикулы передаются в пакетный запрос к справочнику Номенклатура. На сервере формируется Соответствие (Артикул -> Ссылка на номенклатуру). Это позволяет избежать обращения к базе данных в цикле для каждой строки.
Шаг 4. Диагностика и подготовка метаданных свойств
Перед записью значений выполняется проверка готовности базы данных:
-
Метод ОбновитьСтатусСтрок проверяет, созданы ли свойства в ПВХ ДополнительныеРеквизитыИСведения. Поиск ведется по точному наименованию, а также по наименованию с суффиксом "(Общие)" (стандарт поведения для общих дополнительных реквизитов).
-
Метод ДиагностикаПривязки сверяет найденные свойства с составом набора "Основные". Если свойства в наборе отсутствуют, строка помечается предупреждением.
-
Команда «Создать недостающие свойства» (СоздатьНедостающиеСвойства) на сервере:
-
Находит или создает набор свойств "Основные".
-
Создает недостающие свойства в ПВХ с суффиксом "(Общие)" и типом значения «Строка» (или ссылочным типом).
-
Добавляет новые свойства в состав набора "Основные" справочника НаборыДополнительныхРеквизитовИСведений.
-
Шаг 5. Запись данных в базу (ЗагрузитьДанныеНаСервере)
-
Данные табличной части, отмеченные флагом Загрузить, группируются по номенклатуре.
-
Для каждого свойства в справочнике ЗначенияСвойствОбъектов функцией СоздатьЗначениеСвойства проверяется или создается текстовое значение (свойство выступает владельцем значения).
-
Для каждого товара создается набор записей независимого регистра сведений ДополнительныеСведения с отбором по Объекту (НоменклатураСсылка).
-
Программа считывает текущие свойства объекта, добавляет новые или заменяет существующие свойства ссылками на созданные значения и записывает набор в базу данных методом Записать(Истина).
5. Порядок работы с обработкой
Шаг 1. Чтение файла в таблицу предпросмотра
-
Нажмите кнопку «Прочитать данные» (или «Загрузить все свойства»).
-
Выберите подготовленный файл Excel (убедитесь, что рабочий лист называется _1).
-
Обработка прочитает файл, автоматически определит формат и заполнит таблицу на форме строками вида: Артикул -> Свойство -> Значение.
-
Программа автоматически выполнит диагностику:
-
Проверит наличие номенклатуры в базе по артикулу.
-
Проверит существование свойств в базе.
-
Выставит флаги «Загрузить» на корректные строки.
-
Шаг 2. Создание недостающих свойств
Если в колонке «Текущее значение» для некоторых строк выводится статус b88;A039; Свойство не найдено:
-
Нажмите кнопку «Создать недостающие свойства» (или «Создать свойства»).
-
В появившемся окне подтвердите операцию.
-
Программа автоматически создаст свойства в ПВХ «Дополнительные реквизиты и сведения» с типом «Дополнительное значение» и привяжет их к набору «Основные».
Важно: Новые свойства создаются с суффиксом "(Общие)" (например, "Длина (Общие)"), что необходимо для корректной работы логики Комплексной автоматизации 2.5.
Шаг 3. Загрузка данных в базу
-
При необходимости скорректируйте пометки в колонке «Загрузить» вручную или используйте кнопки «Отметить все» / «Снять все отметки».
-
Нажмите кнопку «Загрузить».
-
На этом этапе программа автоматически:
-
Проверит наличие каждого значения в справочнике «Значения свойств объектов» для соответствующего свойства.
-
Если значение не найдено — создаст его «на лету» (подчиненным элементом к свойству-владельцу).
-
Запишет ссылку на созданное/найденное значение в регистр сведений «Дополнительные сведения».
-
6. Очистка свойств у товаров (При необходимости)
Если требуется полностью удалить все свойства у определенных товаров для последующей чистой загрузки:
-
Загрузите файл Excel, чтобы заполнить таблицу.
-
Отметьте флажками «Загрузить» те товары, по которым требуется выполнить очистку.
-
Нажмите кнопку «Очистить свойства у выбранных» (в меню «Еще»).
-
Подтвердите действие.
Предупреждение: Будут удалены ВСЕ дополнительные сведения у выбранной номенклатуры (не только загруженные через эту обработку). Операция необратима.
7. Логика и особенности обработки данных
Чувствительность к регистру букв
Значения свойств в справочнике создаются с точным соблюдением регистра из файла. Значения:
-
Hybrid и HYBRID
-
Черный и черный
будут распознаны как разные элементы справочника дополнительных значений. Следите за единообразием написания в файлах Excel.
Игнорирование пустых полей
-
Строки с пустыми значениями свойств игнорируются.
-
Значения, состоящие только из пробелов, не обрабатываются. Запись в базу по таким строкам не производится.
Предотвращение дублирования
При повторном запуске загрузки свойства не зацикливаются и не дублируются. Программа ищет уже созданные значения в справочнике по наименованию и регистру. Если значение уже заведено, используется существующая ссылка.
Проблема сопоставления (маппинга) имен
Важно помнить, что свойства с названиями "Длина" и "Длина щетки (Общие)" воспринимаются системой как разные свойства.
-
Рекомендация: Называйте свойства в файле Excel точно так же, как они заведены в базе 1С. В противном случае программа создаст новые дублирующие свойства (например, появится новое свойство "Длина", хотя в базе уже существовало "Длина щетки (Общие)"), что приведет к путанице в отчетах.
8. Статусы строк и ошибки при загрузке
| Статус / Сообщение | Значение | Действие пользователя |
| Найдено как: ... | Товар и свойство успешно найдены в базе. | Готово к загрузке, галочка «Загрузить» ставится автоматически. |
| Номенклатура не найдена | Артикул из файла отсутствует в базе 1С. | Проверьте артикул в файле Excel и карточке товара в базе. |
| Свойство не найдено | Такое свойство отсутствует в ПВХ. | Нажмите кнопку «Создать недостающие свойства». |
| Не заполнено свойство | Ячейка в колонке C пуста. | Исправьте файл Excel. |
| Не заполнено значение | Ячейка в колонке D пуста. | Строка будет пропущена при загрузке. |
9. Описание ключевых процедур и функций
-
ПрочитатьExcelВТаблицуЗначений — основная точка входа для чтения файлов. Выполняет первичный разбор структуры файлов, инициализирует объект чтения табличных документов и распределяет логику обработки в зависимости от обнаруженного формата.
-
ЗаполнитьТаблицуИзНовогоФормата — разбирает структуру «один ко многим» (когда для одного артикула в строках ниже перечислено несколько разных свойств).
-
СоздатьИПривязатьСвойство — отвечает за создание элементов ПВХ ДополнительныеРеквизитыИСведения и их программную регистрацию в составе набора "Основные". Назначает тип значения реквизита.
-
СоздатьЗначениеСвойства — выполняет поиск существующего значения по наименованию среди подчиненных элементов справочника ЗначенияСвойствОбъектов. Если значение не найдено, создает новый элемент с заполнением реквизита Владелец.
-
ОбновитьСтатусСтрок — выполняет диагностическую функцию. Визуализирует состояние строк в форме: зелеными маркерами отмечает готовые к загрузке позиции, желтыми — свойства, требующие создания или привязки, красными — ненайденную номенклатуру.
-
ОчиститьСвойстваНаСервере — осуществляет выборочную очистку данных. Находит все записи в регистре ДополнительныеСведения по отмеченным товарам и очищает их наборы записей.
10. Особенности архитектуры решения
-
Пакетная обработка данных: Поиск номенклатуры по артикулам и проверка существования свойств выполняются через запросы ко всему массиву данных. Это минимизирует количество транзакций и обращений к СУБД.
-
Использование временных файлов: Файлы Excel не хранятся в базе данных постоянно. Они загружаются во временную папку операционной системы сервера через ПолучитьИмяВременногоФайла, считываются и сразу удаляются методом УдалитьФайлы, что предотвращает засорение дискового пространства сервера.
-
Безопасность метаданных БСП: Обработка корректно работает со справочником НаборыДополнительныхРеквизитовИСведений, соблюдая логику типовых конфигураций 1С. Это гарантирует, что загруженные свойства сразу станут доступны для просмотра и редактирования в стандартных формах карточки номенклатуры без дополнительной ручной настройки.
Инструкция по работе с инструментом исправления и слияния свойств номенклатуры
Данный инструмент (дополнительная команда «Выполнить исправление свойств») предназначен для автоматической очистки базы данных от дублирующихся дополнительных реквизитов и сведений, содержащих символ двоеточия на конце (например, "Цвет:", "Длина:", "IP-защита:").
11. Назначение инструмента
При некорректном импорте характеристик из внешних файлов в базе данных часто создаются дублирующиеся свойства с двоеточием на конце. Это затрудняет поиск, замусоривает отчеты и делает невозможным правильное отображение характеристик в карточке товара.
Инструмент решает эту проблему, переводя свойства с двоеточиями в стандартный («чистый») формат без потери накопленных данных у товаров.
12. Порядок работы (Пошагово)
Шаг 1. Подготовка и безопасность
Перед запуском исправления обязательно:
-
Выполните резервное копирование (бэкап) базы данных. Инструмент вносит необратимые изменения в справочники и регистры сведений.
-
Убедитесь, что в данный момент в базе нет активных пользователей, редактирующих свойства или номенклатуру (для исключения блокировок таблиц СУБД).
-
Шаг 2. Запуск исправления
-
Откройте форму обработки.
-
Нажмите кнопку «Исправить двоеточия в свойствах» (команда ВыполнитьИсправлениеСвойств).
-
В появившемся диалоговом окне подтвердите запуск операции, нажав кнопку «Да».
-
Шаг 3. Контроль результатов
-
Программа начнет обработку свойств в фоновом режиме. Подробный лог выполнения (какие объекты были переименованы, объединены или пропущены) будет выводиться в окно сообщений 1С.
-
По окончании процесса появится предупреждение: «Обработка завершена. Подробный отчет выведен в окно сообщений».
-
Статусы строк в табличной части на форме автоматически обновятся.
-
13. Как это работает (Техническая логика «под капотом»)
Скрипт автоматически анализирует каждое найденное свойство с двоеточием и разделяет обработку на два безопасных сценария:
Сценарий А: Чистого свойства еще нет в базе
Пример: в базе есть "Виброустойчивость:", но нет "Виброустойчивость".
-
Действие: Программа просто переименовывает существующий элемент в ПВХ (удаляет двоеточие из наименования и заголовка).
-
Результат: Все связи товаров с этим свойством и их значения сохраняются в исходном виде, так как внутренний идентификатор (UUID) свойства не меняется.
-
Сценарий Б: Чистое свойство уже существует (Слияние дубликатов)
Пример: в базе одновременно существуют "Цвет:" и "Цвет".
В этом случае выполняется процедура безопасного слияния: -
Проверка совместимости: Программа сверяет типы значений старого и нового свойств. Если типы различаются (например, одно свойство — строка, другое — ссылка), слияние прерывается во избежание порчи структуры данных.
-
Перенос значений товаров: Все записи по товарам из регистра сведений ДополнительныеСведения переносятся со старого свойства (с двоеточием) на чистое.
-
Защита от перезаписи: Если у товара уже было заполнено чистое свойство, значение из «грязного» свойства не перезаписывает его. Программа пропускает этот объект, сообщая об этом в лог, сохраняя более актуальные данные.
-
Синхронизация значений: Если свойства имеют тип «Дополнительное значение», программа находит или создает аналогичные текстовые значения (например, "Красный") в подчинении у нового чистого свойства-владельца.
-
Очистка наборов свойств: Старое свойство с двоеточием удаляется из табличных частей всех наборов (например, из набора "Основные"), чтобы исключить появление пустых строк в интерфейсе.
-
Пометка на удаление: На старое свойство и все его подчиненные значения устанавливается пометка удаления. Они больше не мешают пользователям и могут быть окончательно удалены стандартной обработкой «Удаление помеченных объектов».
-
14. Возможные ситуации и результаты обработки
Ситуация Как отреагирует программа Результат для пользователя Свойство "Тип:" не имело чистого аналога. Переименует его в "Тип". Свойство очищено, все значения у товаров сохранены. Существовали "Длина:" и "Длина". У товара А было заполнено только "Длина:" (значение "53 см"). Перенесет значение в свойство "Длина". Старое свойство пометит на удаление. Товар теперь привязан к корректному свойству "Длина". Существовали "Цвет:" (значение "Черный") и "Цвет" (значение "Красный"). Оставит значение "Красный", пропустит замену и выведет предупреждение в лог. Исключена перезапись и потеря актуального значения. У свойств "Размер:" и "Размер" отличаются типы данных (строка и число). Прервет транзакцию слияния и сообщит об ошибке. База данных защищена от записи неверных типов.
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.5.22.186
Вступайте в нашу телеграмм-группу Инфостарт