Операция задать значение для поля

Ирина

Продвинутый
Здравствуйте.
Объясните, пожалуйста, как работает операция задать значение для поля.
В описании указано "присвоение полю фиксированного значения или значения из другого поля данного объекта".

Есть поле дата. Нужно значение этого поля при соблюдении определенных условий, вставить в другое поле объекта (Дата 1).
В исходных данных я выбираю поле, которому хочу присвоить значение из другого поля. Тип поля Дата 1 – дата. В операции в значении указываю ссылку на поле, из которого нужно вставить значение, т.е. [Дата]. В итоге поле Дата 1 пустое.

Попробовала вместо типа поля дата, создать новое поле строка. Теперь поле строка не пустое, но значение из другого поля не присваивается, а пишется формула [Дата].
Условие пока не использую, т.к. не пойму принцип операции.

Спасибо.
 

Ирина

Продвинутый
Через функцию String все отлично работает.
А как работает операция задать значение для поля, что-то не пойму...…
 

Vladimir

Администратор
Команда форума
Добрый день, Ирина.
Основное назначение операции "Задать значение для поля" - это присвоить указанному полю значение, которое должно зависеть от комбинации условий. Можно сказать, что операция служит для более сложных условий, нежели функция составного поля String с условием, при котором делается проверка только на равенство или не равенство с каким-либо значением.
Например, надо установить признак выполнения заказа при нескольких условиях: не ранее указанной даты и при наличии клиента.
В свойстве условия указывается перечень условий, при выполнении которых нужному полю задаётся значение. При этом можно выводить сообщения при успешном выполнении или если условия не позволяют задать такое значение.
Все эти операции выполняются (обычно) в ручном режиме, по кнопке операции, а не в автоматическом, как это работает с функцией String.
Если требуется выполнение этой операции в автоматическом режиме (при изменении какого-то поля), то это можно сделать в связке с операцией "Выполнить другую операцию". Также при помощи этой дополнительной операции можно выполнить цепочку присвоения различных значений в разных полях, например: если устанавливается признак выполнения заказа, то сбрасывается значение даты со сроком выполнения (для прекращения его подсчёта) и все промежуточные флаги переводятся в режим "завершено", и т.п.
Может быть удобно выполнение при создании или изменении записи, например, когда надо зафиксировать дату последнего изменения.

Но в работе операции действительно есть ошибки: если использовать её в таком простом варианте, как у Вас. Операция прямого присвоения значения из одного поля в другое работает, если использовать поле ссылочного объекта. А просто скопировать значение из одного поля в другое - такое очевидное применение мы не проверили :)) Исправим в следующем обновлении.
 

Ирина

Продвинутый
Спасибо большое за разъяснения.

например, когда надо зафиксировать дату последнего изменения
Вот именно для этого я и собиралась использовать операцию. Но так как у меня вообще ничего не получалось, стала пробовать на очевидном :)
 

Vladimir

Администратор
Команда форума
У Вас получилось это сделать?
Свойству "Выполнение" надо задать значение "автоматическое при открытии на изменение", указать какому полю задаётся значение, а для "Значение" указывается [~today]:
Операция для задания даты последнего изменения записи.PNG
Свойство поля даты последнего изменения "Вид" должно иметь значение "строка". Тогда при создании записи оно будет оставаться пустым, а при первом же изменении - заполняться значением.
 

Ирина

Продвинутый
Еще я при добавлении условия выбирала свойство Выполнение "автоматически при создании записи". А нужно было
Свойству "Выполнение" надо задать значение "автоматическое при открытии на изменение"
или "ручное при редактировании".

Теперь все получилось, разобралась. Спасибо.
 

Vladimir

Администратор
Команда форума
"ручное при редактировании" можно, если именно так и нужно.
Для сетевой работы зачастую бывает необходимо знать, изменялась ли запись каким-либо пользователем или нет. Вот тут и приходит на помощь автоматическое задание, которое не позволит сотруднику поправить данные бесконтрольно. Причём сотрудник может и не знать, что его действия контролируются.
 
Сверху Снизу