Funkcia Errors v PowerAppsErrors function in PowerApps

Poskytuje informácie o chybách počas predchádzajúcich zmien zdroja údajov.Provides error information for previous changes to a data source.

PrehľadOverview

Chyby môžu vznikať pri zmene záznamu zdroja údajov.Errors can happen when a record of a data source is changed. Príčin môže byť veľa, napríklad výpadky siete, nedostatočné povolenia, konflikty úprav.Many causes are possible, including network outages, inadequate permissions, and edit conflicts.

Funkcia Patch a iné údajové funkcie nevracajú chyby priamo.The Patch function and other data functions don't directly return errors. Namiesto toho vracajú výsledky svojej operácie.Instead they return the result of their operation. Po vykonaní operácie údajovej funkcie môžete pomocou funkcie Errors získať podrobnosti o prípadných chybách.After a data function executes, you can use the Errors function to obtain the details of any errors. Výskyt chýb môžete skontrolovať pomocou funkcie [IsEmpty] vo vzorci IsEmpty( Errors ( ... ) ).You can check for the existence of errors with the [IsEmpty] function in the formula IsEmpty( Errors ( ... ) ).

Vzniku niektorých chýb môžete predchádzať pomocou funkcií Validate a DataSourceInfo.You can avoid some errors before they happen by using the Validate and DataSourceInfo functions. Ďalšie návrhy o tom, ako s chybami pracovať a ako sa im vyhýbať nájdete v článku o práci so zdrojmi údajov.See working with data sources for more suggestions on how to work with and avoid errors.

PopisDescription

Funkcia Errors vracia tabuľku chýb, ktorá obsahuje nasledujúce stĺpce:The Errors function returns a table of errors that contains the following columns:

  • Záznam.Record. Záznam v zdroji údajov, v ktorom sa vyskytla chyba.The record in the data source that had the error. Ak chyba vznikla počas vytvárania záznamu, tento stĺpec bude prázdny.If the error occurred during the creation of a record, this column will be blank.
  • Stĺpec.Column. Stĺpec, ktorý spôsobil chybu, ak sa chyba dá priradiť jednému stĺpcu.The column that caused the error, if the error can be attributed to a single column. Ak nie, bude tento stĺpec prázdny.If not, this will be blank.
  • Správa.Message. Popis chyby.A description of the error. Tento reťazec chyby sa môže zobrazovať koncovému používateľovi.This error string can be displayed for the end user. Majte na pamäti, že toto hlásenie môže byť generované zdrojom údajov, môže byť dlhé a môže obsahovať nespracované názvy stĺpcov, ktoré nemusia byť pre používateľa zrozumiteľné.Be aware that this message may be generated by the data source and could be long and contain raw column names that may not have any meaning to the user.
  • Chyba.Error. Kód chyby, ktorý je možné použiť vo vzorcoch za účelom uľahčenia vyriešenia chyby:An error code that can be used in formulas to help resolve the error:
ErrorKindErrorKind PopisDescription
ErrorKind.ConflictErrorKind.Conflict V rovnakom zázname bola vykonaná iná zmena, výsledkom je konflikt zmien.Another change was made to the same record, resulting in a change conflict. Pomocou funkcie Refresh opäť načítajte záznam a skúste danú zmenu urobiť znova.Use the Refresh function to reload the record and try the change again.
ErrorKind.ConstraintViolationErrorKind.ConstraintViolation Porušilo sa jedno alebo viac obmedzení.One or more constraints have been violated.
ErrorKind.CreatePermissionErrorKind.CreatePermission Došlo k pokusu o vytvorenie záznamu a aktuálny používateľ nemá povolenie na vytváranie záznamov.An attempt was made to create a record, and the current user doesn't have permission to create records.
ErrorKind.DeletePermissionErrorKind.DeletePermission Došlo k pokusu o odstránenie záznamu a aktuálny používateľ nemá povolenie na odstraňovanie záznamov.An attempt was made to delete a record, and the current user doesn't have permission to delete records.
ErrorKind.EditPermissionErrorKind.EditPermission Došlo k pokusu o úpravu záznamu a aktuálny používateľ nemá povolenie na upravovanie záznamov.An attempt was made to edit a record, and the current user doesn't have permission to edit records.
ErrorKind.GeneratedValueErrorKind.GeneratedValue Došlo k pokusu o zmenu stĺpca, ktorý zdroj údajov generuje automaticky.An attempt was made to change a column that the data source generates automatically.
ErrorKind.MissingRequiredErrorKind.MissingRequired Hodnota pre požadovaný stĺpec v zázname chýba.The value for a required column is missing from the record.
ErrorKind.NoneErrorKind.None Chyba neexistuje.There is no error.
ErrorKind.NotFoundErrorKind.NotFound Došlo k pokusu o úpravu alebo odstránenie záznamu, ale záznam sa nenašiel.An attempt was made to edit or delete a record, but the record couldn't be found. Záznam mohol zmeniť iný používateľ.Another user may have changed the record.
ErrorKind.ReadOnlyValueErrorKind.ReadOnlyValue Došlo k pokusu o zmenu stĺpca, ktorý je iba na čítanie.An attempt was made to change a column that's read only.
ErrorKind.SyncErrorKind.Sync Zdroj údajov oznámil chybu.An error was reported by the data source. Ďalšie informácie nájdete v stĺpci Správa.Check the Message column for more information.
ErrorKind.UnknownErrorKind.Unknown Vyskytla sa chyba neznámeho typu.There was an error, but of an unknown kind.
ErrorKind.ValidationErrorKind.Validation Vyskytol sa všeobecný problém s overovaním, ktorý nezodpovedá žiadnemu z ďalších typov.There was a general validation issue detected, that did not fit one of the other kinds.

Chyby je možné vrátiť pre celý zdroj údajov, alebo iba pre vybraný riadok, ak do tejto funkcie zadáte argument Záznam.Errors can be returned for the entire data source, or for only a selected row by providing the Record argument to the function.

Funkcia Patch alebo iná údajová funkcia môže vracať prázdnu hodnotu, ak sa napríklad záznam nedá vytvoriť.Patch or another data function may return a blank value if, for example, a record couldn't be created. Prázdnu hodnotu môžete poslať funkcii Errors, ktorá v týchto prípadoch vráti príslušnú informáciu o chybe.You can pass blank to Errors, and it will return appropriate error information in these cases. Pri ďalšom použití údajových funkcií pre rovnaký zdroj údajov sa informácie o tejto chybe vymažú.Subsequent use of data functions on the same data source will clear this error information.

Ak neprišlo k žiadnym chybám, bude tabuľka, ktorú vráti funkcia Errors prázdna a bude ju možné testovať pomocou funkcie IsEmpty.If there are no errors, the table that Errors returns will be empty and can be tested with the IsEmpty function.

SyntaxSyntax

Errors( ZdrojÚdajov [, Záznam ] )Errors( DataSource [, Record ] )

  • ZdrojÚdajov – povinné.DataSource – Required. Zdroj údajov, pre ktorý chcete vrátiť chyby.The data source for which you want to return errors.
  • Záznam – voliteľné.Record – Optional. Konkrétny záznam, pre ktorý chcete vrátiť chyby.A specific record for which you want to return errors. Ak tento argument nezadáte, funkcia vráti chyby pre celý zdroj údajov.If you don't specify this argument, the function returns errors for the entire data source.

PríkladyExamples

Podrobný postupStep by Step

V tomto príklade budeme pracovať so zdrojom údajov IceCream:For this example, we'll be working with the IceCream data source:

Používateľ načíta do formulára na zadávanie údajov prostredníctvom aplikácie záznam Čokoláda a potom zmení hodnotu Quantity na 90.Through the app, a user loads the Chocolate record into a data-entry form and then changes the value of Quantity to 90. Záznam, s ktorým sa má pracovať, sa nachádza vkontextovej premennej EditRecord:The record to be worked with is placed in the context variable EditRecord:

  • UpdateContext( { EditRecord: First( Filter( IceCream, Flavor = "Chocolate" ) ) } )UpdateContext( { EditRecord: First( Filter( IceCream, Flavor = "Chocolate" ) ) } )

Na vykonanie tejto zmeny v zdroji údajov sa používa funkcia Patch:To make this change in the data source, the Patch function is used:

  • Patch( IceCream, EditRecord, Gallery.Updates )Patch( IceCream, EditRecord, Gallery.Updates )

kde sa Gallery.Updates vyhodnotí ako { Quantity: 90 }, keďže sa upravila iba vlastnosť Quantity.where Gallery.Updates evaluates to { Quantity: 90 }, since only the Quantity property has been modified.

Bohužiaľ, tesne pred vyvolaním funkcie Patch niekto iný upravil vlastnosť Quantity pre záznam Čokoláda na 80.Unfortunately, just before the Patch function was invoked, somebody else modifies the Quantity for Chocolate to 80. PowerApps to zistí a nepovolí vykonanie konfliktnej zmeny.PowerApps will detect this and not allow the conflicting change to occur. Túto situáciu môžete skontrolovať pomocou vzorca:You can check for this situation with the formula:

  • IsEmpty( Errors( IceCream, EditRecord ) )IsEmpty( Errors( IceCream, EditRecord ) )

ktorá vráti hodnotu false, pretože funkcia Errors vrátila nasledujúcu tabuľku:which returns false, because the Errors function returned the following table:

ZáznamRecord StĺpecColumn SprávaMessage ChybaError
{ Flavor: "Chocolate", Quantity: 100 }{ Flavor: "Chocolate", Quantity: 100 } prázdna hodnotablank Iný používateľ upravil záznam, ktorý sa pokúšate upraviť vy."Another user has modified the record that you're trying to modify. Opätovne načítajte záznam a skúste to znova.Please reload the record and try again." ErrorKind.ConflictErrorKind.Conflict

Do formulára môžete pridať označenie, ktoré zobrazí chybu používateľovi.You can place a label on the form to show this error to the user.

  • Ak chcete túto chybu zobraziť, nastavte vlastnosť označenia Text na tento vzorec:To show the error, set the label's Text property to this formula:
    Label.Text = First(Errors( IceCream, EditRecord )).MessageLabel.Text = First(Errors( IceCream, EditRecord )).Message

Do formulára tiež môžete pridať tlačidlo Načítať znovu, aby používateľ mohol účinne vyriešiť tento konflikt.You can also add a Reload button on the form, so that the user can efficiently resolve the conflict.

  • Ak chcete, aby sa tlačidlo zobrazovalo iba keď nastane konflikt, nastavte jeho vlastnosť Visible na tento vzorec:To show the button only when a conflict has occurred, set the button's Visible property to this formula:
    !IsEmpty( Lookup( Errors( IceCream, EditRecord ), Error = ErrorKind.Conflict ) )!IsEmpty( Lookup( Errors( IceCream, EditRecord ), Error = ErrorKind.Conflict ) )
  • Keď chcete naspäť vrátiť zmenu, keď používateľ vyberie tlačidlo, nastavte vlastnosť tlačidla OnSelect na tento vzorec:To revert the change which the user selects the button, set its OnSelect property to this formula:
    ReloadButton.OnSelect = Revert( IceCream, EditRecord )ReloadButton.OnSelect = Revert( IceCream, EditRecord )