Ускорение работы со справочником номенклатура (товары и услуги)
Сегментация на уровне метаданных
Исключение дублей номенклатуры.
Задача
Упростить и ускорить работу со справочником номенклатуры в программе 1С, исключить причины и возможность дублирования номенклатуры.
Описание
Работая с большим перечнем номенклатуры, все типовые программы стремятся к уменьшению производительности и усложнению процесса выбора номенклатуры.
Дублирование номенклатурных позиций приводит к не пониманию остатков-запасов и не возможности анализа истории продаж по позиционно, а также усложняет текущие взаиморасчеты с контрагентами.
Отсутствие понимания остатков-запасов приводит к не возможности планирования производства и продаж.
Для различных групп товаров необходимо предусмотреть различные параметры.
Решение
Определяем группы номенклатур, среди которых обязательно должна быть группа «Прочее». Группа «Прочее» будет включать номенклатуры не подходящие под описания других групп. Заполняем справочник «Группы номенклатуры».
Для каждой группы определяем список обязательный и дополнительных параметров и сквозной список параметров.
Создаем справочник «Параметры», в котором вносим все параметры (в справочнике необходимо предусмотреть описание типов значений).
Создаем справочник «Значения параметров», который подчинен справочнику «Параметры».
Создаем справочник параметры групп, подчиненный справочнику «Группы номенклатуры» с указанием признаков «Обязательный» и «Дополнительный»
(Обязательные параметры будут обязательны для создания номенклатуры в выбранных группах, дополнительные параметры могут быть заполнены и могут быть не указаны)
После заполнения предыдущих справочников для программы будет прозрачно понимание, в какой группе какие параметры должны быть указаны обязательно, а какие лишь являются дополнительными. На основе этого добавляем в справочник номенклатура реквизит «Уникальный код» (можно воспользоваться реквизитом артикул).
Создаем алгоритм формирования уникального кода по формуле:
«Обозначение выбранной группы» + «Разделитель» + «Обозначение параметров и принятые значения через символ «Разделитель»»;
Алгоритмом обрабатываем все имеющиеся номенклатурные позиции и встраиваем алгоритм при создании новой номенклатуры.
Создаем интерфейс выбора - создания номенклатуры с указание группы, параметров и их значений (в случае отсутствия указанной номенклатуры интерфейс создает номенклатуру и выбирает её).
! Поиск номенклатуры осуществляется по реквизиту «Уникальный код».
! Запись номенклатуры запрещается при нахождении дубля номенклатуры с данным уникальным кодом.
Встраиваем новый интерфейс выбора в рабочие документы (легче всего заменить стандартные формы выбора, но на период тестирования их важно сохранить).
Вышеперечисленные действия исключат создание новых дублей номенклатуры и помогут исправить уже имеющиеся.
Для ускорения работы со справочником и его сегментации, нужно создать копии справочника номенклатура.
Количество копий должно соответствовать требуемому количеству групп номенклатуры.
В копиях добавляем ссылку на оригинальную запись общего справочника.
Далее каждой группе номенклатуры, в справочнике «Группы номенклатуры», необходимо указать соответствующий отдельный справочник.
Дополняем процедуры создания номенклатуры процедурами создания в новых справочниках и переносим уже созданную номенклатуру.
Дополняем процедуры удаления номенклатуры процедурами удаления в новых справочниках.
Изменяем процедуры выбора номенклатуры и её поиск.
Такая сегментация справочника «Номенклатура» позволит полноценно ускорить работу в разы или порядки (зависит от размера, структуры справочника и количества групп), но увеличит объем занимаемого физического размера.
Размер одного сегмента справочника «Номенклатура», для его быстрой работы, зависит от конфигурации оборудования (рекомендуется при 200 000 позиций разделять их на сегменты не превышающие 20 000 позиций в одном справочнике).