Урок 9 — Функции «Текущий пользователь», «Текущая дата» и «Значение родителя»

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

Функция «Текущий пользователь»

Когда вы авторизируетесь в нашу программу — вы и являетесь текущим пользователем. Текущего пользователя удобно указывать автоматически при создании некоторых новых карточек. Например, при добавлении новой компании. Логичнее всего, что куратором новой компании будет текущий пользователь. Добавьте поле-ссылку Куратор (внешний объект — Пользователь) в объект Компания.

Можете сразу установить формулу.

Добавьте его и на карточку.

Проверьте как работает функция — добавьте новую компанию.

Поле Куратор заполнилось автоматически при добавлении компании.

Функция «Текущая дата»

Нам скорее всего понадобиться отмечать, когда именно была добавлена компания в базу. Для этого нам нужно добавить в объект Компания поле типа Дата.

Добавьте поле в объект и укажите для него нужную формулу.

Добавьте поле на карточку и проверьте работу формулы.

Поле Дата автоматически заполнилось текущей датой при добавлении новой компании.

Функция «Значение родителя»

Эта функция устанавливает значения в полях-ссылках взятые у текущего родительского объекта. Поясним на примере этой структуры объектов.

У одной компании могут быть несколько контактных лиц и несколько сделок. История — является дочерним объектом у всех трех объектов. Когда идет какая-то сделка, логичнее всего все контакты (звонки, встречи) которые в рамках этой сделки происходят фиксировать именно на карточке сделки. Когда сделки нет и общение идет с контактным лицом — то добавлять историю на карточку контактного лица. В остальных случаях историю можно «вешать» на компанию. Было бы очень удобно, если бы на компании можно было видеть всю историю, в том числе и ту, что на сделках и и ту, что на контактных лицах этой компании. Для этого нужно, чтобы у объекта История поле Компания было всегда заполнено нужным значением. Давайте посмотрим в чем тут проблема.

При добавлении истории на карточку компании поле Компания у объекта История заполняется автоматически, т.к. Компания в данном случае является родительским объектом.

При добавлении истории на карточку контактного лица автоматически заполняется поле Контактное лицо. Теперь оно является родительским объектом. Но кто заполнит поле Компания у истории? Можно конечно явно указать в формуле что поле Компания в истории = Контактое лицо>Компания. При добавлении истории в контактное лицо это спасет, но при добавлении истории в сделку — нет, т.к. сделка — это другой объект.

В этом случает поможет функция «Значение родителя». Не зависимо от того, кто родитель, функция будет искать нужное значение в родительском объекте. Нам нужно в объекте История для поля Компания указать формулу состоящую из одной функции — «Значение родителя». И теперь при добавлении истории в контактное лицо поле компания будет заполнено аналогичным значением у контактного лица. А при добавлении истории в сделку — значение возьмется из сделки.

На этом всем. Следующий урок.