Запрет выбора и использования помеченной на удаление номенклатуры в УНФ 3.0, УТ 11.5, КА 2.5/2.6, ERP 2.5/2.6, БП 3.0
Учетные задачи - Логистика, склад и ТМЦ
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Запрет выбора и использования помеченной на удаление номенклатуры
Назначение разработки
При длительной работе в 1С справочник «Номенклатура» постепенно заполняется устаревшими товарами, материалами и услугами.
Часть позиций больше не используется, но удалить их физически невозможно, поскольку они уже присутствуют в документах прошлых периодов, регистрах и других объектах информационной базы.
В результате справочник может содержать тысячи неактуальных элементов, которые продолжают отображаться пользователям при подборе товаров.
Типичная ситуация: в базе накопилось более 6 000 устаревших позиций, распределённых по папкам и подпапкам. Они помечены на удаление, но пользователи по-прежнему могут случайно выбрать их при оформлении новых документов.
Расширение «ЗапретПомеченнойНоменклатуры» решает эту проблему без физического удаления карточек и без изменения типовой конфигурации.
Основные возможности
1. Скрытие помеченной номенклатуры при выборе
При выборе и подборе номенклатуры из документов позиции с установленной пометкой удаления исключаются из соответствующих стандартных списков.
Пользователю не приходится каждый раз проверять, актуальна ли выбранная карточка.
Это помогает избежать случайного использования старых товаров, материалов и услуг.
2. Контроль специализированного подбора
Помимо стандартных форм выбора, расширение учитывает механизмы подбора товаров, используемые в различных конфигурациях.
Для УТ/КА/ЕРП/УНФ предусмотрена фильтрация в штатном подборе товаров для продаж и закупок.
Для БП реализован отдельный механизм фильтрации в обработке «Подбор номенклатуры», включая работу с режимом «Только остатки».
3. Запрет записи документов с запрещённой номенклатурой
Одного скрытия элементов при выборе недостаточно.
Номенклатура может попасть в документ другими способами: при копировании строк, заполнении по основанию, программном заполнении или загрузке данных.
Поэтому расширение дополнительно проверяет ссылки на номенклатуру на сервере перед записью документов и справочников.
Если в новом объекте обнаружена запрещённая номенклатура, запись блокируется, а пользователь получает сообщение о причине отказа.
Таким образом, ограничение не зависит исключительно от пользовательского интерфейса.
4. Контроль вложенных папок
Расширение учитывает не только собственную пометку удаления элемента, но и состояние его родительских групп.
Например:
-
Архивная номенклатура (папка помечена на удаление).
-
Товары 2024 года (вложенная папка без пометки).
-
Материал № 125 (элемент без собственной пометки).
Несмотря на отсутствие собственной пометки у материала, серверная проверка определит, что он находится внутри запрещённой группы.
Результат: добавление новой ссылки на такой материал будет запрещено.
Важно: в отдельных формах выбора элементы без собственной пометки могут оставаться видимыми. Запрет для них обеспечивается серверной проверкой при записи.
5. Сохранение работы с историческими документами
Одна из главных особенностей расширения.
Если номенклатура уже использовалась в ранее записанном документе, расширение не требует удалять её из документа.
Можно открыть старую реализацию, поступление, заказ или другой документ, изменить комментарий либо другие данные и сохранить изменения.
Существующие ссылки на запрещённую номенклатуру разрешены, если их количество не увеличивается.
При этом добавить ещё одну строку с такой номенклатурой уже нельзя.
Это позволяет работать с историей учёта без необходимости массовой замены старых карточек.
6. Контроль копирования документов
Если пользователь копирует старый документ, содержащий помеченную на удаление номенклатуру, полученная копия считается новым документом.
При попытке записи расширение обнаружит запрещённые ссылки и заблокирует сохранение.
Таким образом, копирование старой реализации или поступления не становится способом повторно использовать устаревшие позиции.
7. Контроль документов и справочников
Проверка реализована централизованно через подписки на события.
Она применяется к записи документов и справочников, содержащих ссылки на справочник «Номенклатура».
В том числе проверяются реквизиты объектов и реквизиты их табличных частей.
Не требуется вручную изменять каждый документ, где используется номенклатура.
8. Возможность администрирования справочника
Запрещённые позиции не исчезают из информационной базы.
При обычном открытии справочника «Номенклатура» они остаются доступны для просмотра и администрирования.
При необходимости ответственный пользователь может найти устаревшую карточку, проверить её историю и снять пометку удаления.
Ограничения на отображение применяются к соответствующим режимам выбора и подбора, а не ко всему справочнику без исключения.
9. Оптимизированная проверка
Разработка рассчитана в том числе на базы с большим количеством номенклатуры.
При записи не выполняется полный обход справочника.
Алгоритм:
-
Определяет ссылки на номенклатуру, присутствующие в записываемом объекте.
-
Проверяет их на наличие пометки удаления.
-
Анализирует родительские группы.
-
Если обнаружены запрещённые ссылки, сравнивает их количество с ранее записанным объектом.
Проверки выполняются пакетными запросами. Если запрещённая номенклатура отсутствует, дополнительное чтение старой версии документа не требуется.
Такой подход позволяет уменьшить нагрузку при обычной записи документов.
10. Минимальное вмешательство в типовую конфигурацию
Решение выполнено в виде расширения.
Используются:
-
Единый серверный модуль проверки.
-
Подписки на события записи документов и справочников.
-
Минимально необходимые заимствованные формы для изменения поведения выбора и подбора.
Большие типовые общие модули не копируются.
Основная конфигурация остаётся на поддержке. При обновлении релиза рекомендуется проверять совместимость расширения, особенно заимствованных форм.
Пример работы
Ситуация 1. Пользователь оформляет новый документ и открывает стандартный выбор номенклатуры.
Результат: позиции с собственной пометкой удаления исключаются из соответствующих списков выбора.
Ситуация 2. Пользователь пытается добавить запрещённую номенклатуру в новый документ другим способом.
Результат: при записи документа отображается сообщение о запрете использования номенклатуры.
Ситуация 3. Пользователь открывает старый документ, в котором уже имеется помеченный товар, изменяет комментарий и сохраняет документ.
Результат: запись разрешается, если новые ссылки на запрещённую номенклатуру не добавлялись.
Ситуация 4. Пользователь копирует старый документ с помеченным товаром.
Результат: запись нового документа блокируется.
Ситуация 5. Номенклатура находится внутри папки, помеченной на удаление, но сама не имеет пометки.
Результат: серверная проверка определяет запрещённую родительскую группу и не позволяет добавить новую ссылку на этот элемент.
Совместимость
Разработка проверялась в следующих конфигурациях:
-
1С:Управление нашей фирмой 3.0
-
1С:Управление торговлей 11.5
-
1С:Комплексная автоматизация 2.5 и 2.6.
-
1С Управление предприятием 2.5 и 2.6.
-
1С:Бухгалтерия предприятия 3.0 КОРП
-
1С:Бухгалтерия предприятия 3.0 ПРОФ
Для разных семейств конфигураций используются соответствующие варианты расширения.
Установка
Разработка подключается как расширение конфигурации.
Изменение типовых объектов основной конфигурации не требуется.
Порядок подключения:
-
Создать резервную копию информационной базы.
-
Открыть Конфигуратор и раздел «Расширения конфигурации».
-
Добавить или загрузить подходящий вариант расширения.
-
Проверить применимость расширения к текущему релизу.
-
Обновить конфигурацию базы данных.
-
Проверить выбор номенклатуры и запись документов.
Если расширение поставляется в виде выгрузки XML/BSL, его необходимо загрузить через команду «Конфигурация → Загрузить конфигурацию из файлов» внутри конфигурации расширения.
Важные особенности
-
Запрет основан на стандартной пометке удаления номенклатуры.
-
В БП отдельный признак «В архиве» не является основанием для запрета, если пометка удаления не установлена.
-
Исторические документы сохраняются с ранее существовавшими запрещёнными ссылками.
-
Новые документы с такими ссылками записать нельзя.
-
Расширение не удаляет элементы справочника и не изменяет исторические данные.
-
Проверка записи распространяется на документы и справочники. Самостоятельная запись наборов регистров данным механизмом не контролируется.
-
Нестандартные внешние обработки, интеграции, специализированные формы подбора и РМК могут потребовать отдельной проверки. При обменах создание новых документов с запрещённой номенклатурой также может блокироваться.
Главное преимущество: устаревшая номенклатура остаётся в истории учёта, но её повторное использование в новых документах блокируется.
Решение не требует массовой обработки тысяч карточек и позволяет сохранить привычный порядок работы пользователей.
Разработка будет поддерживаться и дорабатываться по мере обнаружения нестандартных сценариев работы в разных конфигурациях.
Если на вашем релизе используется особый механизм выбора или подбора номенклатуры, оставляйте в комментариях описание ситуации и скриншоты. При наличии воспроизводимого примера можно будет рассмотреть расширение функциональности.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.168, 3.0.14.143
- Розница, редакция 3.0, релизы 3.0.14.168, 3.0.14.143
- 1С:Комплексная автоматизация 2, релизы 2.6.1.70, 2.5.27.98
- Управление торговлей, редакция 11, релизы 11.6.1.70, 11.5.27.98
- 1С:ERP Управление предприятием 2, релизы 2.6.1.70, 2.5.27.98
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.208.14, 3.0.203.24
Вступайте в нашу телеграмм-группу Инфостарт