Алла, спасибо, но указанное вами справедливо не для всех разделов - в кастомных разделах и части коробочных разделов (например, Contracts) в интерфейсе отсутствует возможность добавить статическую группу.
При добавлении группы статического типа запросом к БД она не отображается в дереве групп раздела, если создание статических групп в нем отсутствует по умолчанию.
Я же ищу возможность добавить и отобразить статическую группу в дереве групп для разделов - кастомных и тех, где из коробки статические группы не доступны.
Появилась потребность формировать фильтры для динамических групп автоматически, собственно, нашел как они формируются из JS-ного кода и хранятся в таблице [раздел]Folder в виде шестнадцатеричного кода. Вопрос, как формировать и сериализовывать их для записи в таблицу?
"Шамшин Олег" написал:Вопрос, как формировать и сериализовывать их для записи в таблицу?
Для нашего "узкого" вопроса мы формировали их, копировали код в справочник, а потом использовали. То есть, в итоге получалось не совсем формирование на лету, а выбор из кучи заранее сформированных
"Алла Савельева" написал:а какую бизнес-задачу Вы хотите решить таким образом?
Мы решали следующую задачу: для подбора персонала заполняются некоторые поля в карточке вакансии. На основании этих полей хотелось построить динамический фильтр в разделе Контакты, чтобы пользователи могли его дополнить/изменить и выбрать кандидатов
Так и не решили, кстати - пришлось пользователям изучать сложные универсальные механизмы фильтрации
"Алла Савельева" написал:а какую бизнес-задачу Вы хотите решить таким образом?
Необходимо хранить структуру каталога продуктов, хотели использовать статические группы т.к. продукты никак не привязаны к папкам, но статические группы не работают в 7.10. Так же структура весьма часто меняется, и изменения необходимо интегрировать из другой системы.
Можно реализовать некий справочник, который будет хранить структуру каталога продуктов. В каждом продукте добавить поле (назовем его [Каталог]), которое будет ссылаться на этот справочник и хранить принадлежность продукта к определенному каталогу.
На основании информации в поле [Каталог] настроить структуру динамических групп, какой угодно вложенности.
Конечно, такой способ не позволяет менять саму структуру каталога, но, как возможный вариант, считаю имеет право на жизнь.
Опять таки, у пользователя при необходимости будет возможность отфильтровать какие продукты к какому каталогу относятся.
А попробуйте реализовать эту функциональность с помощью статических групп в продуктах.
Группа = каталог (название группы - это название каталога), а продукт, который принадлежит каталогу входит в группу.
Если настроить импорт записей соответственно, то получится менять структуру автоматически.
Если появляется новый каталог, то добавляется новая статическая группа, в которую добавляются нужные продукты.
Из плюсов такого подхода: возможность хранения каталога в виде иерархического списка сколько угодно уровней вложенности.
Таким образом в Bpm'online для этого уже все реализовано, остается только вопрос в реализации импорта, а это фактически запись нужных данных в нужные таблицы :wink:
Небольшая поправка, если у Вас продукт bpm'online sales enterprise 7.10.1, тогда статических групп у Вас нет (они есть только в продукте bpm'online marketing), а вместо них есть тэги, о которых писал Владимир.
Со статикой просто - запрос к таблице например AccountInFolder.
С динамикой интереснее :) в 3.х когда-то давно писал код, чтобы вытаскивал принадлежность к динамическим группам - читал параметры фильтрации из таблицы групп, применял фильтры, получал выборку записей. В 5.х и 7.х такого делать не приходилось. Посему проголосую.
"Александр Кудряшов" написал:запрос к таблице например AccountInFolder
, как ранее написал Александр.
Если речь идет и о динамических, то в данном случае обращаться следует к таблице [AccountFolder], если уже рассматривать на примере контрагентов.
Когда-то, во времена версии 3.1, когда создавали динамическую или статическую группу можно создать для всех или указать что она личная.
Теперь ситуация с 3.2: если я хочу создать динамическую группу "Сотрудники" и чтобы она была у всех, я должен каждому пользователю её создавать!
Я не могу понять, почему в 3.2 эта возможность была убрана?
Как мне создать одинаковое дерево групп для всех пользователей в системе?
В версии 3.2 исчезло понятие "личная группа", зато появилась возможность раздавать доступ на группы. Теперь Вам достаточно один раз создать, например, динамическую группу "Сотрудники" и дать на нее доступ группе пользователей.
Для создания одинакового дерева групп для всех пользователей можно выполнить:
1. Создать требуемое дерево групп под любым пользователем.
2. Выделить все записи в дереве
3. По правой кнопке выбрать пункт меню "Права доступа"
4. Дать права на чтение группе пользователей "Все пользователи"
В итоге для всех выделенных записей будут созданы права, и все пользователи увидят дерево групп.