Споделяне чрез


Създаване на изчисляеми полета за автоматизиране на ръчни изчисления

Тази тема се прилага към Dynamics 365 Customer Engagement (on-premises). За версията на Power Apps на тази тема вижте: Дефиниране на изчисляеми полета за автоматизиране на ръчни изчисления

Изчисляемите полета ви позволяват да автоматизирате ръчните изчисления, използвани във вашите бизнес процеси. Например един специалист по продажбите може да иска да знае претегления приход за дадена възможност, който се основава на очаквания приход от дадена възможност, умножен по вероятността. Или искат автоматично да приложат отстъпка, ако поръчката е по-голяма от 500 щ.д. Изчисляемите полета могат да съдържат стойностите, получени от прости математически оператори, както и условни операции, като например „по-голям-от“ или „ако-то“, както и много други. Можете да постигнете всичко това чрез функцията за изчисляеми полета и няма нужда да пишете код.

Възможностите на изчисляемото поле:

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

  • Поддръжката на изрази е налична в текущия обект и свързаните полета на родителския обект в разделите Условие и Действие . Вградените функции включват:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT и TRIMRIGHT.

  • Богатата условна поддръжка осигурява разклоняване и множество условия. Логическите операции включват оператори AND и OR .

  • Възможностите за визуално редактиране включват модерен потребителски интерфейс и intellisense в секцията ACTION .

  • Можете да ползвате безпроблемно интегриране на изчисляемите полета с формуляри, изгледи, диаграми и отчети, налични в реално време.

  • Ако сте актуализирали вашата онлайн организация до декември 2016 г. Актуализация за Dynamics 365 (online), можете да конфигурирате изчисляеми полета да използват потребителски контроли.

Няколко примера за изчисляемите полета

  • Претеглен приход: Изчислен приход, умножен по вероятността

  • Нетната стойност: Активи, извадени от задълженията за даден клиент

  • Разходи за труд: базова ставка до 40 часа плюс допълнителни за извънреден труд

  • Номер за контакт: Телефонен номер за възможност на базата на клиент или контакт

  • Резултат за потенциален клиент: Единично поле, която предоставя данни за качеството на даден потенциален клиент

  • Последващо действие след: Последващо действие след определен брой дни въз основа на приоритета

Важно

За да създадете изчисляемо поле трябва да имате привилегии за запис в обекта „Профил за защита на поле“. Ако изчисляемото поле използва защитени полета в дадено изчисление, трябва също така да се помисли за защита на изчисляемото поле, за да нямат достъп потребителите до данни, за които нямат достатъчно разрешения. Редакторът на изчисляемото поле ви изпраща предупреждение, ако създавате изчисляемо поле, което използва защитени полета в дадено изчисление, и ви предлага да защитите изчисляемото поле. Повече информация: Сигурност на ниво поле.

Примери за изчисляеми полета

Нека да разгледаме по-подробно примерите за изчисляеми полета. Ние ще дефинираме изчисляемите полета с редактора на поле. За да отворите редактора на полета:

  1. Отворете мениджъра на решения.

  2. Разгъване на обекти> на компоненти.

  3. Изберете желания обект и изберете Полета. Изберете Нова.

    В редактора предоставете необходимата информация за полето, включително типа на полето и типа данни. Типът на полето се изчислява. Налични типове данни за изчисляемото поле:

  • Единичен ред от текст

  • Набор от опции

  • Две опции

  • Цяло число

  • Десетично число

  • Валута

  • Дата и час

    Бутонът Редактиране до Тип поле ви отвежда до редактора за дефиниране на изчисляемо поле, където е създадено новото изчисляемо поле, но не е зададена формула. Дефиницията на изчисляемото поле се състои от два раздела: УСЛОВИЕ и ДЕЙСТВИЕ.

  • В секцията Условие можете да зададете обект, поле, оператор, тип и стойност. В падащото поле за обекта можете да изберете текущ обект или свързан обект. В падащото поле Поле имате селекция от всички налични полета за обекта. В зависимост от оператора, който изберете, може да се наложи да предоставите тип и стойност. Можете да зададете няколко условия, AND като използвате операторите или OR .

  • В раздела Действие предоставяте формулата за изчисляемото поле.

Бележка

Можете да използвате данни от записите на търсене в рамките на вашето „Действие“. Първо трябва да изберете полето за търсене и след това въведете период. След това можете да изберете едно от наличните полета в свързания обект. Например, в случай на <LookupFieldName>.<RelatedFieldName>, можете да изберете: ParentAccountId.AccountNumber.

Имайте предвид, че нивото на защитата на поле ще бъде игнорирано в свързания обект, така че, ако в полето има поверителни данни, предлагаме също да защитите изчисляемото поле.

Претеглен приход от възможност

В този пример използваме полетата на обекта с възможността, за да изчислим претегления приход, въз основа на вероятността на възможността. В редактора на полета за обект на възможност създаваме поле, наречено "Претеглени приходи" и задаваме типа на полето като Изчислено , а типът данни е Валута. В редактора за дефиниране на изчисляемо поле, в секцията Условие задаваме възможността със Състояние = Отворено. В ДЕЙСТВИЕТО формулата изчислява претегления приход на базата на очакваните приходи от възможността, умножени по вероятността за възможността. Следните екранни снимки показват стъпка по стъпка как да дефинирате изчисляемото поле „Претеглени приходи“.

Създайте изчисляемото поле, наречено "Претеглени приходи":

Претеглен приход на възможност в Dynamics 365 for Customer Engagement.

Задайте условието за възможностите:

Задайте претеглени приходи в Dynamics 365 for Customer Engagement.

Посочете формулата за претегления приход:

Задаване на прогнозна стойност на претеглените приходи Dynamics 365 за ангажираност на клиентите.

Напълно:

Претеглен приход към приход в Dynamics 365 for Customer Engagement.

Дата на последващи действия на възможността

В този пример ние използваме полетата на произхожда преднина от дадена възможност, да се изчисли подходяща дата за проследяване на възможност. В редактора на полета за обект на възможност създаваме поле, наречено "Дата на изпълнение" и задаваме типа като Изчислено , а типът на данните е Дата и час. В редактора за дефиниране на изчисляемо поле, в секцията Условие задаваме две условия: времевата рамка на покупката и оценената стойност на потенциалния клиент. В ДЕЙСТВИЕТО , ние предлагаме две формули, една, за да последващо действие в една седмица на непосредствената възможност, друга, за да последващо действие в един месец, ако възможността не е вероятно да се случи веднага. Следните екранни снимки показват стъпка по стъпка как да дефинирате изчисляемото поле „Дата на последващо действие“.

Създайте изчисляемото поле, наречено "Дата на проследяване":

Създайте изчисляемото поле, наречено последващо действие дата.

Задайте двете условия на първоначалния потенциален клиент:

Задаване на първото условие за изчисляемото поле.

Задаване на второто условие за изчисляемото поле.

Осигурете формулата, за да последващо действие в една седмица:

Въведете формулата за изчисляемото поле.

Осигурете формулата, за да последващо действие в един месец:

Осигурете втората формула.

Напълно:

Задаване последващо действие дата If-Then & Else в Dynamics 365 for Customer Engagement.

Дни от създаване на запис

В този пример използваме функцията DIFFINDAYS , за да изчислим разликата в дни от времето, когато е създаден запис, до текущата дата.

Създайте изчисляемото поле, наречено "Изчислена разлика в дни":

Създаване на изчисляемо поле в Dynamics 365 for Customer Engagement.

Осигурете формулата за изчисляване на разликата в дни

Изчисляемо поле, функция DIFFINDAYS.

Напълно:

Разлика в дните от създаването на записите.

Синтаксис на функциите на изчисляемите полета

Следващата таблица съдържа информация за синтаксиса на функциите, предоставени в раздела ДЕЙСТВИЕ на изчисляемото поле.

Съвет

Имената на функциите са посочени с главни букви.

Синтаксис на функциите Описание Вид връщане
ADDDAYS ( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, плюс определен брой дни. Дата и час
ADDHOURS ( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, плюс определен брой часове. Дата и час
ADDMONTHS ( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, плюс определен брой месеци. Дата и час
ADDWEEKS ( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, плюс определен брой седмици. Дата и час
ADDYEARS ( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, плюс определен брой години. Дата и час
SUBTRACTDAYS( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, минус определен брой дни. Дата и час
SUBTRACTHOURS( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, минус определен брой часове. Дата и час
ИЗВАЖДАНЕ на месеци (цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, минус определен брой месеци. Дата и час
ИЗВАЖДА СЕДМИЦИ( цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, минус определен брой седмици. Дата и час
ИЗВАЖДАНЕ на години (цяло число, дата и час) Връща нова дата и час, който е равен на определена дата и време, минус определен брой години. Дата и час
DIFFINDAYS ( дата и час, дата и час) Връща разликата в дни между две полета за дата и час . Ако и двете полета с дата и час се падат на същия ден, разликата е нула. Цяло число
DIFFINHOURS (дата и час, дата и час) Връща разликата в часове между две полета "Дата" и "Час ". Цяло число
DIFFINMINUTES( дата и час, дата и час) Връща разликата в минути между две полета "Дата" и "Час ". Цяло число
DIFFINMONTHS ( дата и час, дата и час) Връща разликата в месеци между две полета "Дата" и "Час ". Ако и двете полета с дата и час се падат в същия месец, разликата е нула. Цяло число
DIFFINWEEKS (дата и час, дата и час) Връща разликата в седмици между две полета "Дата" и "Час ". Ако и двете полета с дата и час се падат в същата седмица, разликата е нула. Цяло число
DIFFINYEARS ( дата и час, дата и час) Връща разликата в години между две полета "Дата" и "Час ". Ако и двете полета с дата и час се падат в същата година, разликата е нула. Цяло число
CONCAT( един ред текст, един ред текст, ... един ред текст) Връща низ, който е резултат от съединяването на два или повече низа. Низ
TRIMLEFT( един ред текст, цяло число) Връща низ, съдържащ копие на указан низ, без първите N знаци. Низ
TRIMRIGHT ( един ред текст, цяло число) Връща низ, съдържащ копие на указан низ, без последните N знаци. String

Бележка

Всички функции на DIFF изискват първото поле за дата и час и второто поле за дата и час да имат едно и също поведение: User Local,Date Only или Time-Zone Independent. Ако поведението на второто поле не съответства на поведението на първото поле, се показва съобщение за грешка, че второто поле не може да се използва в текущата функция. Повече информация: Поведение и формат на полето Дата и час.

Бележка

Можете да въведете дата, например 01.01.2015, като стойност на дата в изчисляемо поле. Стойностите на дата и DateTime могат да бъдат зададени само или в сравнение с помощта на други полета DateTime.

Във функцията CONCAT можете да използвате литерални низове като единични редове текст, полета на обект, които съдържат един ред текст, или комбинация от двете. Например: CONCAT( FirstName, LastName, "is a manager."). Ако низ на литерал съдържа кавички, преди всяка кавичка поставяйте обратно наклонена черта (\) по следния начин: „Този низ съдържа \"кавички.\".“ Това гарантира, че кавичките в низа не се третират като специални знаци, които разделят низовете.

Следващите примери показват как да използвате функциите TRIMLEFT и TRIMRIGHT . Те съдържат началните низове и получените низове, върнати от функциите TRIMLEFT и TRIMRIGHT :

TRIMLEFT( "RXX10-3456789", 3), връща низа "10-3456789"
TRIMRIGHT( "20-3456789RXX", 3), връща низа "20-3456789"

Съображения за изчисляеми полета

Трябва да сте наясно за определени условия и ограничения при работа с изчисляеми полета:

  • Записаните заявки, диаграми, както и визуализации, може да имат максимум 10 уникални изчисляеми полета.

  • Изчисляемите стойности на полетата не се показват в офлайн режим "Ангажиране на клиенти" в изгледите на плочки или в основните формуляри на обекта.

  • Максималният брой изчисляеми полета във верига е 5.

  • Изчисляемото поле не може да се отнася за себе си или имат цикличен вериги.

  • Ако промените един от операторите на условие в клауза с множество условия, всички оператори на условието ще се актуализират до това условие. Например, в клаузата IF (x > 50) OR (y ==10) OR (z < 5), ако промените оператора OR на оператора AND , тогава всички OR оператори в клаузата ще станат AND оператори.

  • Можете да получите достъп до родителските полета чрез справочното поле до родителския обект, като <LookupFieldName>.<FieldName> например. Това не е възможно с многообектни справочни полета, като Customer които могат да бъдат Account или Contact. Някои обекти обаче имат отделни справочни полета за конкретен обект, като ParentAccountid.<FieldName> например или ParentContactid.<FieldName>.

  • Сортирането е забранено за:

    • Изчисляемо поле, което съдържа поле на родителски запис.

    • Изчисляемо поле, което съдържа логическо поле (например адресно поле).

    • Изчисляемо поле, което съдържа друго изчисляемо поле.

  • Изчисляемите полета могат да обхващат само два обекта.

    • Изчисляемите полета могат да съдържат поле от друг обект (обхваща два обекта – текущ обект и родителски запис).

    • Изчисляемо поле не може да съдържа изчисляемо поле от друг обект, който също съдържа друго поле от друг обект (обхваща три обекта):
      (Текущ обект)Изчисляемо поле <- (Родителски запис) Изчисляемо поле 1 <- (Родителски запис) Изчисляемо поле 2.

  • Вие не може да активирате работни потоци или допълнителни модули на изчисляеми полета.

  • Не можете да промените съществуващо просто поле в изчисляемо поле. Ако вашето текущото приложение използва JavaScript или допълнителни модули за изчисляване на поле, не бихте могли да използвате функцията за изчисляеми полета, без да се създадете ново поле.

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

  • Усредненият сбор не може да се отнася до изчисляемо поле, което използва друго изчисляемо поле, дори ако всички полета на другото изчисляемо поле са в текущия обект.

Вижте също

Създаване и редактиране на полета
Дефиниране на сборни полета
Видео: Сборни и изчисляеми полета в Dynamics CRM 2015