Разработаны новые функции :
- Формула recalc является простой оберткой, сама по себе никаких действий не выполняет. Однако, внутри нее можно указать любую другую формулу, она, в свою очередь, выполнится.
Recalc помечает свой объект: если изменится один из его потомков, то при сохранении этого потомка, пересохранится и текущий объект. - Формула comment позволяет создавать дочерние объекты, если в текущем объекте заполнено отслеживаемое поле.
- Формула sumwhere Используется для вычисления суммы по определенному полю у детей текущего объекта по условию.
- Формула autoincriment([Поле]) - устанавливает автоинкримент по каждому значению указанного поля.
- Выражение ifchange2 копирует значение в поле только если производились изменения с объектом.
Разработаны новые функции :
1) Формула recalc является простой оберткой, сама по себе никаких действий не выполняет. Однако, внутри нее можно указать любую другую формулу, она, в свою очередь, выполнится.
Recalc помечает свой объект: если изменится один из его потомков, то при сохранении этого потомка, пересохранится и текущий объект.
Пример:
В контрагенте есть поля Сумма приход, Сумма расход, Баланс со следующими формулами.
Сумма приход - сумма всех приходов по движениям денег этого контрагента
Сумма расход - сумма всех расходов по движениям денег этого контрагента
Баланс - разница Сумма приход - Сумма расход
Формула recalc([Сумма приход]-[Сумма расход]) на поле Баланс позволит при любом изменении движения денег пересчитать баланс контрагента.
2) Формула comment позволяет создавать дочерние объекты, если в текущем объекте заполнено отслеживаемое поле.
Например: В задачах создается поле «Комментарий в действие». На него формула comment(…). Теперь при сохранении задачи, если в поле «Комментарий в действие» есть какое-то значение, то в эту задачу будет создано действие с текстом из поля «Комментарий в действие».
Синтаксис: comment(Link;BrwSettingId;FieldA1 = [FieldB1]; FieldA2 = [FieldB2]…)
Link - связь между текущим и дочерним объектами. В примере выше это ссылка из действий на задачи.
BrwSettingId - настройка форму для дочерней таблицы. Из нее берутся предустановки для заполнения полей.
FieldA - поле дочерней таблицы, в которое запишется значение. В примере выше это было бы поле «Что сделано» в действиях.
FieldB - поля в родительской таблице.
Пример использования: В задачах на поле «Комментарий в действие» создана формула comment(WorkTask;2261327734000;WorkDescription = [Kommentarij_v_dejstvie2261290127000]; Duration = 0,2). На форме задач создана кнопка, которая открывает простое окно задачи для оценки
В текстовое поле действия «Что сделано» (WorkDescription ) запишется комментарий(который на скрине в поле «Комментарий»(Kommentarij_v_dejstvie2261290127000)), в числовое поле «Затрачено, час»(Duration) - время 0,2 часа. В настройке с идентификатором 2261327734000 указаны все необходимые к заполнению поля для действий(Автор, Дата и т.д.).
Результатом будет действие с комментарием в оцениваемой задаче.
3) Формула sumwhere Используется для вычисления суммы по определенному полю у детей текущего объекта по условию. Например,в задачи из таблицы Действия взять значение поля Часы, только если Автор = Петров.
Синтаксис:
sumwhere ([Имя линка на таблицу потомка];[Поле в таблице потомке];Фильтруемое поле = OId)
4) Формула autoincriment([Поле]) - устанавливает автоинкримент по каждому значению указанного поля
autoincriment([Nasha_kompanija4166195000])- Автономер внутри каждой Нашей компании
5) Выражение ifchange2 копирует значение в поле только если производились изменения с объектом.
Синтаксис: ifchange2([Поле со значением], Наблюдаемое поле 1, Наблюдаемое поле 2, Наблюдаемое поле 3…)
Поле со значением - именно из этого поля будет копироваться значение, если изменилось значение хотя бы одного из наблюдаемых полей - Наблюдаемое поле 1, Наблюдаемое поле 2, Наблюдаемое поле 3.
Количество наблюдаемых полей может быть 1 или больше.
ifchange2(format({0} {1}/{2:yyyy} {3});([Наша компания].[Шифр],[Автономер НК],[Дата документа],[Тип документа].[Шифр]),[Автономер НК])
format({0} {1}/{2:yyyy} {3});([Наша компания].[Шифр],[Автономер НК],[Дата документа],[Тип документа].[Шифр])- поле значение
[Автономер НК]) – наблюдаемое поле