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

Пишите ваши предложения здесь.
Ответить
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

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

Сообщение nikorn »

Случайно в Руководителе еще нет возможности использовать в формулах значения из глобальных списков?
Это было бы круто. Вроде бы такая очевидная возможность.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

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

Сообщение support »

Случайно есть:)
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

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

Сообщение nikorn »

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

Как из формулы обратиться к полю из глобального списка?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

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

Сообщение support »

так же как и к обычному списку

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

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

подробнее тут https://www.rukovoditel.net/blog/ru/?page_id=347
позже я расширю документацию
Аватара пользователя
nikorn
Сообщения: 252
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

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

Сообщение nikorn »

Что-то мне подсказывает, что мы не поняли друг-друга. :-(

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

Update: Кажется, я понял, что вы имели ввиду. Нужно добавить в сущность поле с выбором из глобального списка и выбрать необходимое значение. После этого можно использовать это поле в формуле. Но, видимо, только как строковое значение
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

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

Сообщение support »

Независимо от того, какой список вы используете (стандартный или глобальный), для записи сохраняется ID значения из списка которое вы можете использовать в формуле.
[11]=15
Сам тип списка поля уже влияет на отображения, но для записи это просто номер значения.
Аватара пользователя
Евгений
Сообщения: 398
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

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

Сообщение Евгений »

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

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

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

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

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

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

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

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

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