Простой универсальный (относительно конфигурации) фильтр объектов (справочников и документов).
Осуществляет фильтрацию массива ссылок по заданным в справочнике правилам.
Может применяться как в чистом виде, например, при организации выборочного обмена данными, так и в качестве каркаса для создания сложных механизмов, позволяющих осуществлять обработку документов в зависимости от их содержания (например, определять состав печатных форм для формирования пакета ЭДО в зависимости от типа договора, или определять настройки рассылки уведомлений сотрудникам в зависимости от контрагента - все зависит от потребностей и способностей), обходясь без хардкодинга.
Подсистема состоит из трех общих модулей (один интерфейсный и два служебных), справочника правил и обработки для тестирования правил.
Работает с конфигурациями с установленным режимом совместимости 8.3.7 и выше, в режиме управляемого приложения.
Интерфейсный модуль:
Пример правила:
Результат проверки правила:
Пример разработки на основе УФО.
Предположим, что организация обменивается с контрагентами электронными документами (в простом случае - посредством электронной почты, в более сложном - с помощью системы ЭДО). В зависимости от потребностей контрагента состав отправляемого пакета документов может быть различным как по набору документов, так и по формату отправляемых файлов.
Доработав справочник правил отбора путем добавления табличной части, можно получить набор правил, прогоняя массив ссылок на документы через которые можно получить настройки рассылки, хранящиеся в добавленной ТЧ, на основании которых будут формироваться необходимые документы в нужном формате в зависимости от заданных настроек. При этом правила отбора легко модифицируются и не требуют вмешательства в код.
Так, например, для работы с подключаемым модулем обработки Диадок Про в качестве альтернативы примеру, приведенному в документации, можно использовать набор правил, дополнительно настраивая его при этом и под требования контрагентов без редактирования кода подключаемого модуля.
Например, альтернативой первой части примера из приведенной выше документации:
может служить правило вида:
созданное на основе правила УФО.
Набор таких правил позволяет покрыть множество "хотелок" пользователей, которые могли бы привести (и привели: пример реален, хоть и отредактирован для анонимизации клиента) к возникновению в конфигурации кода типа:
и при добавлении нового контрагента в этот список создали необходимость править код (использование правил на основе УФО потребовало бы всего лишь добавить еще один элемент в настройки отбора).