Формулировка проблемы: необходима возможность формирования перечня всех подразделений, которые должны иметь доступ к записи реестра, в зависимости от автора записи и тех подразделений, которые были указаны на форме пользователем вручную.
Связанные задачи:
Решение:
При сохранении данных по форме необходимо обновлять значение
поля "Доступно" crm_all_accessible
в зависимости от данных, указанных в полях "Владелец"
crm_owner
и "Для кого"
crm_has_access
.
Поле должно содержать:
подразделение, указанное в поле "Владелец"
crm_owner
, и все его родительские
подразделения (включая корневое подразделение оргстуктуры);
подразделения, указанные в поле "Для кого"
crm_has_access
, и все дочерние
подразделения каждого из них.
При удалении подразделения из поля "Для кого"
crm_has_access
оно само и все его дочерние
подразделения исключаются из поля "Доступно"
crm_all_accessible
.
Необходимо учитывать, что поле "Для кого"
crm_has_access
не обязательно для заполнения
и может отсутствовать на форме.
Автозаполнение поля "Доступно"
crm_all_accessible
необходимо применять в формах: