Страница 1 из 1

Использование в формулах значений из глобальных списков

Добавлено: 01 фев 2017, 11:13
nikorn
Случайно в Руководителе еще нет возможности использовать в формулах значения из глобальных списков?
Это было бы круто. Вроде бы такая очевидная возможность.

Re: Использование в формулах значений из глобальных списков

Добавлено: 01 фев 2017, 11:19
support
Случайно есть:)

Re: Использование в формулах значений из глобальных списков

Добавлено: 01 фев 2017, 11:27
nikorn
Таким образом, в глобальном списке можно хранить различные параметры, чтобы при случае разом поменять все задействованные формулы. Это фантастически удобно!

Как из формулы обратиться к полю из глобального списка?

Re: Использование в формулах значений из глобальных списков

Добавлено: 01 фев 2017, 11:57
support
так же как и к обычному списку

Код: Выделить всё

if([11]=15,([36]+[54])/2,0)
где 11 — идентификатор поля «Статус», а 15 — это идентификатор значения «Закрыт».

подробнее тут https://www.rukovoditel.net/blog/ru/?page_id=347
позже я расширю документацию

Re: Использование в формулах значений из глобальных списков

Добавлено: 01 фев 2017, 12:11
nikorn
Что-то мне подсказывает, что мы не поняли друг-друга. :-(

У меня был вопрос, как использовать в формулах сущностей значения полей из глобальных списков. Для этого, как минимум, нужно где-то в формуле указать, что используется поле не из текущей сущности, а из глобального списка. Кроме того, в глобальных списках сейчас только строки, а в формуле требуется число... Будет ли это работать, как вы написали?

Update: Кажется, я понял, что вы имели ввиду. Нужно добавить в сущность поле с выбором из глобального списка и выбрать необходимое значение. После этого можно использовать это поле в формуле. Но, видимо, только как строковое значение

Re: Использование в формулах значений из глобальных списков

Добавлено: 01 фев 2017, 13:29
support
Независимо от того, какой список вы используете (стандартный или глобальный), для записи сохраняется ID значения из списка которое вы можете использовать в формуле.
[11]=15
Сам тип списка поля уже влияет на отображения, но для записи это просто номер значения.

Re: Использование в формулах значений из глобальных списков

Добавлено: 02 фев 2017, 00:09
Евгений
У меня одно поле "Производительность" типа Выпадающий список как раз получает значения из Глобального списка. В базе пришлось прописать триггер, который на каждое добавление/изменение записи в сущности Задача напрямую прописывает значение в поле Производительность, в зависимости от целого ряда условий.

Получается что в поле, ассоциированное с Глобальным списком, можно прописать вообще любое значение. Например, ИД элемента из другого глобального списка, не связанного с этим полем, что будет явной ошибкой. Либо можно прописать строковое значение, а это уже очень полезная возможность. Например, вместо значения 0 записать пустую строку.

И самое главное ограничение текущей версии Руководителя - значения в поля типа Список невозможно установить в зависимости от какого-либо условия штатными средствами, только используя сторонние трюки.

Хотелось бы узнать у Сергея - позволяет ли архитектура Руководителя убрать поля типа Формула как отдельный тип, и внести поле "формула" в состав формы редактирования других полей? Думаю, что это возможно для всех типов кроме групп полей Загрузка и Сущность (связи). Нечто вроде вот такого -
Формула.jpg
Либо вынести настройку формулы на отдельную вкладку формы, чтобы не переусложнять интерфейс.

Логику работы я представляю такой. Если флажок "Использовать формулу" не установлен, то это обычное поле. Если флажок установлен, то это поле работает как нынешнее поле Формула. Ввод в поле блокируется, значения подставляются в поле по результатам вычисления формулы.

Возможно ли реализовать такую логику?

П.С.
Если возможно будет реализовать такую архитектуру, тогда сразу одновременно решается ещё одна проблема Руководителя - отсутствие разделения доступа разных пользователей к различным значениям полей.

Например, сейчас поле Статус содержит список этапов исполнения задачи - Открыт/Готов/Завершен/Отменен. Если у пользователя есть право менять это поле, то он может установить его в любое значение из списка. Даже если по логике он не должен этого делать. Сейчас невозможно разделить пользователей по ролям или рабочим потокам, когда например Сотрудник может только переводить задачу из Открытой в Готово. Устанавливать статус Оплачено может только бухгалтер. А проверять исполнение и Закрывать/Отменять задачу разрешается только Менеждеру.

Если значение поля Статус можно будет устанавливать по формуле, тогда можно будет прописать в формуле проверку на право переходить к выбранному статусу.