Dalintis per


"Microsoft Dataverse" mažo kodo priedų patarimai ir žinomos problemos (peržiūra)

[Ši tema yra negalutinio leidimo dokumentacija ir gali keistis.]

Šiame straipsnyje aprašomi patarimai ir žinomos problemos dirbant su mažo kodo priedais "Microsoft Dataverse".

Svarbu

  • Momentiniai mažo kodo papildiniai yra neprioritetiniai ir nepateikiami kaip funkcija. Momentiniai mažo kodo papildiniai pakeičiami funkcijomis. Daugiau informacijos: "Microsoft Dataverse" funkcijos (peržiūra)
  • Tai yra peržiūros versijos funkcija.
  • Peržiūros funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.

Bendrųjų vykdymo problemų sprendimas

Jei susiduriate su vykdymo laiko papildinio problemomis, iš naujo redaguokite mažo kodo papildinį. Tada formulės išraiškos "Intellisense" problemos rodomos mažo kodo priedų rengyklėje. Vadovaukitės taip pat rodomomis gairėmis, kad ištaisytumėte problemą, tada iš naujo įrašykite priedą.

Būkite atsargūs naudodami pataisą po operacijos

Vykdant mažo kodo priedą gali būti rodoma ši klaida, kai naudojama Patch po operacijos: Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.

Naudojimas Patch po operacijos turi būti atliekamas atsargiai, kad būtų išvengta begalinių kilpų. Operacija Patch inicijuoja naują operaciją. Pavyzdžiui, jei naujinimo paleidiklis iškvietimams MyTablePatch(MyTable, ThisRecord, ...), ši operacija gali sukelti rekursinį naujinimo ciklą.

Štai keletas operacijų, kurios gali padėti išvengti šios problemos, pavyzdžių:

  • Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
  • Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.

Dviejų minučių skirtojo laiko tvarkymas

Jei operacijos tęsiasi dvi minutes ar ilgiau, galite gauti šią klaidą:

Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)

Dirbant su "Dataverse" mažo kodo papildiniais, svarbu efektyviai valdyti dviejų minučių skirtąjį laiką:

  • Apribokite priedų skaičių Patch ir Collect operacijas, ypač jei toje lentelėje jau užregistruoti kiti papildiniai, o tai gali turėti įtakos priedų našumui.
  • Stebėkite našumą. Stebėkite savo priedų našumą ir apsvarstykite galimybę naudoti sekimo ir registravimo galimybes "Dataverse", kad galėtumėte stebėti vykdymo laiką ir gedimus. Vadovaudamiesi šiomis gairėmis galite užtikrinti, kad mažo kodo papildiniai sklandžiai veiktų "Dataverse" aplinkoje be pertraukų dėl dviejų minučių skirtojo laiko. Daugiau informacijos: Sekimas ir registravimas

Nepavyko gauti atsakymo iš APIM

Jei gaunate šį klaidos pranešimą, kurį galima grąžinti iš API valdymo (APIM), tiesiog redaguokite priedą ir įrašykite iš naujo. Išsaugojus inicijuojamas APIM autentifikavimas ir jūsų papildinys pradedamas sėkmingai vykdyti.

Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin

Taip pat žr.

Mažo kodo priedų naudojimas "Dataverse"