Делите путем


Пример Dataverse додатних компоненти ниског кода (преглед)

[Ова тема представља прелиминарну документацију и може се променити.]

Циљ ових примера додатних компоненти је да вам помогну да почнете тако што ћете их интегрисати у апликације. Разумећете да ауторско искуство укључује креирање прилагођених Microsoft Dataverse АПИ-ја уз помоћ израза Power Fx , што може да покрене радње интерне или спољашње Dataverse.

Важно

  • Ово је функција прегледа.
  • Функције прегледа нису намењене за коришћење у производњи и могу да имају ограничене функционалности. Ове функције су доступне пре званичног објављивања како би клијенти могли раније да им приступе и пруже повратне информације.

Предуслов

Да бисте користили једну од примера додатних компоненти за догађај са подацима, апликација Dataverse акцелератора мора бити инсталирана у окружењу. Више информација: Предуслови за креирање додатне компоненте ниског кода

Напомена

Предлошци е-поште су доступни само за одређене табеле. Још информација: Креирање предложака за е-пошту

Враћање вредности која није негативна

У овом примеру, функција Абс() се користи за враћање не-негативне вредности аргумента. Ако је број негативан, Abs даје позитиван еквивалент.

  1. Репродукујте апликацију Dataverse Акцелератор, на командној траци изаберите ставку Нова радња > Тренутна додатна компонента.

  2. Наведите < ДИЦТ__име за приказ > дисплаy наме </ДИЦТ__име за приказ >, као што су име формуле и опис.

  3. Креирајте параметар Out за проверу ваљаности очекиваног понашања које има смисла, као што је ниска Опционално користите улазне параметре да бисте олакшали тестирање, што има смисла са формулом.

  4. У уређивачу формула преломите Out параметар у коврџавим заградама:

    {Out: "" }
    
  5. Унесите израз који тестира формулу:

    • Проверите ваљаност да ли интеллисенс прихвата формулу (текст постаје светлоплав).
    • На пример, примените израз који обезбеђује излаз да бисте проверили ваљаност резултата.
    {Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 )  }
    
  6. Кликните на дугме Даље, а затим изаберите Сачувај.

  7. Изаберите опцију Тестирај да бисте тестирали формулу. Користите излазни параметар да бисте проверили ваљаност резултата.

Провера ваљаности уноса и прилагођене грешке

Откривање дупликата

Примените проверу ваљаности уноса на страни сервера, као што је откривање грешака дупликата које баца прилагођену поруку о грешци.

  1. Репродукујте апликацију Dataverse Акцелератор, на командној траци изаберите ставку Нова радња > Аутоматизована додатна компонента.
  2. У поље Име унесите дупликат .
  3. За табелу изаберите ставку Контакт.
  4. За покретање ове додатне компоненте када је ред у реду, изаберите ставку Креирано.
  5. У поље Формула унесите ову формулу:
 If( !IsBlank(LookUp([@Contacts],'Last Name'=ThisRecord.'Last Name' && 'First Name'=ThisRecord.'First Name')),
    Error("You have existing contacts with the same first name and last name")
)
  1. Изаберите Сачувај.

Тестирање додатне компоненте

  1. Да бисте тестирали додатну компоненту, креирајте апликацију подлоге за цртање помоћу табеле контаката тако што ћете пратити кораке овде: Наведите табелу
  2. Креирајте ред за контакт.
  3. Креирајте други контакт са истим именом као у претходном кораку.
  4. Приказује се порука која означава пронађене дуплиране записе. Изаберите занемари и сачувај на одзивнику поруке о грешци.

Приказује се ова прилагођена порука о грешци: Имате два контакта са истим првим и презиме.

Валидација података

Прикажите одређене типове грешака помоћу набројања ЕррорКинд .

  1. Креирајте нову аутоматизовану додатну компоненту.

  2. Наведите следеће вредности:

    • Име :Провера ваљаности уноса
    • Опис : Проверава важећи датум и баца грешку ако је неважећа
    • Табела :Заказана обавеза
    • Покрени ову додатну компоненту када је ред: Ажуриран
  3. Унесите доле наведену формулу:

    If(ThisRecord.'Due Date' < Now(), 
     Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" })
    );
    
  4. У оквиру Више опција поставите када би ово требало да се покрене на опцију "Пре операције"; желите да покренете ово правило пре него што се подаци чувају да бисте спречили неважеће податке.

  5. Изаберите Сачувај.

Идите на функцију Грешка() да бисте сазнали више о прилагођеним грешкама.

Слање е-поште на основу догађаја са подацима

Предуслови:

Пример предлошка е-поште

Ево примера предлошка е-поште који можете да креирате за догађај података заснован на СенМаил-у:

  • Тип предлошка: Глобално
  • Име : Наручите Хвала
  • Опис :Користите овај образац да бисте се захвалили купцу што је наручио код вас.
  • Тема: Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
  • Тело : Користите овај код.
   Hello {!Sales Order:First Name;},
   Order Type: {! Sales Order: Order Type;},
   Location Type: {! Sales Order: Location Type;},
   Address1: {! Sales Order: Address 1;},
   Address2: {! Sales Order: Address 2;},
   Preferred Service Start Date 1: {! Sales Order: Preferred Service Start Date;},
   Next Step- We take upto 48 hrs to schedule an in-person and will notify you as soon as we have a In-person Technician allocated at your site. For any questions, please contact us at 1-800-CON-SOLAR
   Yours Sincerely, 
   Contoso Sales 

Креирање аутоматизоване додатне компоненте

  1. Репродукујте апликацију Dataverse Акцелератор, а затим изаберите ставку Нова додатна компонента у оквиру Аутоматизоване додатне компоненте.
  2. Унесите следеће информације:
    • Име: СендЕмаилУпонЦреате

    • Табела : Изаберите име логичке табеле улазних поруџбина, а то је "Редослед продаје". Овај догађај је заснован на табели "Улазне поруџбине".

    • Покрени ову додатну компоненту са редом је: Креирано

    • Формула : Налепите кôд испод у поље за формулу . За више информација прилоћите функцију СендЕмаилФромТемплате да бисте послалиЕмаилФромТемплате Ацтион.

      XSendEmailFromTemplate(
          LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template',
      ThisRecord,
      LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email]
      )
      
  3. Изаберите ставку Више > опција после операције.
  4. Изаберите Сачувај.

Појавиће се порука о потврди коју је Плугин успешно сачувао .

Слање обавештења у апликацији на основу тренутне радње

Обавештења у апликацији омогућавају произвођачима да конфигуришу контекстуална, акциона обавештења за кориснике у апликацијама са моделима.

Креирање додатне компоненте ниског кода која шаље обавештење у апликацији

  1. Репродукујте апликацију Dataverse акцелератора, а затим изаберите ставку Нова додатна компонента у оквиру тренутних додатних компоненти.
  2. Унесите следеће информације, кликните на дугме Даље:
    • Име: ObavestiteTechnican1
    • Опис : Ова тренутна додатна компонента обавештава корисника апликације.
  3. На страници "Дефиниције " креирајте улазне параметре са овим типовима података:
    • ИД поруџбине: ниска
    • ТецхницианЕмаил: Стринг
  4. Формула. Налепите следећи кôд у поље за формулу . За више информација о овој функцији посетите радњу СендАппНотифицатион.
     XSendAppNotification(
         "New service",
         LookUp(Users,'Primary Email'=TechnicianEmail),
         "You have a new solar panel installation scheduled on "& LookUp('Scheduling Results','OrderId'=OrderID).'ServiceDate'&" in "& LookUp('Service Orders','Order Number'=OrderID).City &". Contact the coordinator with any questions.",
     [
         XCreateSidePaneActionForEntity(
                 "View order",
             OrderID,
             "Sales Order",
             "cr8b8_serviceorder1",
             LookUp('Service Orders','Order Number'=OrderID).'Service Order'
             )
         ]
     )
    
  5. Изаберите Следеће.
  6. На страници Резиме · изаберите ставку Сачувај.

Позивање тренутне радње обавештења у апликацији

  1. Изаберите апликацију подлоге за цртање, а затим на командној траци изаберите ставку Уреди (или креирајте нову).
  2. Изаберите екран у левом окну за навигацију или креирајте нови.
  3. У менију " Уметање" додајте дугме страници помоћу техничара за обавештавање о тексту.
  4. Кликните на дугме и унесите следеће у поље за формулу фx, где је DataCardValue17 колона која садржи ИД поруџбине, а DataCardValue15 је колона која садржи е-адресу техничара. У овом примеру користи се апликација подлоге под именом "Апликација налога за сервис".
    Environment.cr8b8_Notifytechnician1({
           OrderID: DataCardValue17.Text,
       TechnicianEmail: DataCardValue15.Text 
    });
    
        Notify("The technician was notified!", NotificationType.Success, 2000);
    
    
    Додавање дугмета са формулом  Power Fx  за слање обавештења техничару
  5. Сачувајте и објавите промене.

Када је у апликацији изабрана радња техничара за обавештавање, техничару који је додељен налогу за сервис шаље се обавештење у апликацији. Радња на обавештењу отвара детаље налога за сервис у бочном окну.

Обавештење послато техничару који прима у апликацији

Узорак тренутне додатне компоненте помоћу МСН Wеатхер конектора

Ова додатна компонента враћа тренутну временску прогнозу за одређену локацију помоћу МСН Wеатхер конектора.

Предуслови:

  1. Креирајте референцу везе за МСН Wеатхер ако још није доступна у окружењу:Креирајте референцу везе у апликацији из окна са референцама на везу са десне стране

  2. Копирај исечак: Копирај радњу исечак из окна за везе

  3. Завршите уређивање формуле користећи интеллисенсе и потрошите својства одговора на линију спајања по потреби: Довршите дефиницију додатне компоненте у уређивачу

  4. Сачувај

  5. Тестирање додатне компоненте

Савет

Користите функцију Wитх() да бисте ухватили цео одговор из једне радње ако желите да приступите различитим својствима која одговор можда има. У доленаведеном примеру постоји улазни параметар Location (ниска) и излазни параметар Out (ниска).

With({ /* Capture current weather response from connector */
c: new_MsnWeather.CurrentWeather( Location, "Imperial" ).responses.weather.current
},{ /* Return concatenated weather details */
Out: "Current temp: " & c.temp & " degrees. Feels like " & c.feels & " degrees. Wind speed is " & c.windSpd & " mph."
})

Најбољи примери из праксе

Решавање бесконачних грешака у петљи у аутоматизованим додатним компонентама ниског кода

Немојте писати изјаву о закрпи на аутоматизованој додатној компоненти након догађаја "Ажурирање", где се закрпа одвија на истој табели као и додатна компонента. То доводи до бесконачних петљи и отказивања извршавања додатних компоненти.

Проблематичан образац: Коришћење Patch() формуле покреће другу исправку. "Проблематична формула у аутоматизованим додатним компонентама"

Препоручени образац: Уместо тога употребите Set() формулу да бисте избегли овај проблем. "Препоручена формула у аутоматизованим додатним компонентама"

Погледајте и

Додатне компоненте ниског кода Power Fx (преглед)