Přeskočit na hlavní obsah

IObjectPropertyAutoakce

Implementací rozhraní IObjectPropertyAutoAction ve skriptu aplikace můžete definovat vlastní akce, které jsou automaticky prováděny, když uživatel ručně upraví hodnotu vlastnosti objektu.

Poznámka

Metody rozhraní jsou volány také v obou variantách metody Alvao.API.AM.ObjectProperty.Update. Tyto metody nelze volat v běžící transakci (pokud je jejich volání nutné, nastavte parametr callCustomAction na false). Příkaz AM Console - záložka Vlastnosti - Generate Value nevolá metodu OnObjectPropertyModifying. Volá pouze metodu OnObjectPropertyModified.

Varování

Pokud chcete v automatické akci použít pouze některé metody implementovaného rozhraní, ponechte v těle ostatních metod z rozhraní výjimku:

hodit novou NotImplementedException();

.

Metody rozhraní

MetodaPopis
Modifikace vlastnosti OnObjectPropertyificationHodnota vlastnosti bude změněna.
OnObjectPropertyModifikovánoHodnota vlastnosti byla změněna.

OnObjectPropertyModifikace

Tato metoda se volá před uložením změněné hodnoty vlastnosti do databáze, např. v příkazu Modify (property).

  • Syntaxe: ObjectPropertyModifyResult OnObjectPropertyModifying(ObjectPropertyEventArgs e)
  • Parametry:
    • e - parametry metody události vlastnosti
      • ObjectId - ID objektu (tblNode.intNodeId), které se mění.
        • PropertyKindId - ID typu vlastnosti (tblKind.intKindId) předmětu, který se upravuje.
        • PersonId - ID uživatele (tPerson.iPersonId), který vyvolal akci.
        • NewValue - nová hodnota vlastnosti.
  • Vrácená hodnota:
    • Úprava vlastnosti objektu
      • Úspěch (bool) - pokud metoda vrátí true, nová hodnota je zapsána do databáze. Pokud metoda vrátí hodnotu false, operace není provedena a nadcházející změna hodnoty vlastnosti je zrušena.
        • Zpráva (string) - zpráva, která se zobrazí uživateli, pokud je návratová hodnota neplatná.

Pro příklad viz CheckPhoneNumberFormat šablonu aplikace.

OnObjectPropertyModifikováno

Tato metoda je volána po zapsání nové hodnoty vlastnosti do databáze, například pomocí příkazu Upravit (vlastnost).

  • Syntaxe: anulovat OnPropertyModified(ObjectPropertyEventArgs e)
  • Parametry:
    • e - parametry metody události vlastnosti
      • ObjectId - ID objektu (tblNode.intNodeId), které se mění.
        • PropertyKindId - ID typu vlastnosti (tblKind.intKindId) předmětu, který se upravuje.
        • PersonId - ID uživatele (tPerson.iPersonId), který vyvolal akci.
        • NewValue - nová hodnota vlastnosti.
  • Vrátit hodnotu: žádný.

Pro příklad použití viz CopyNewPropertyValueToAnotherProperty šablonu aplikace.