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).

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ý je upravován.
      • PropertyKindId - ID druhu vlastnosti (tblKind.intKindId) objektu, který je upravován.
      • PersonId - ID uživatele (tPerson.iPersonId), který vyvolal akci.
      • NewValue - nová hodnota vlastnosti.
  • Vrácená hodnota:
    • Úprava vlastnosti objektu
    • Success (bool) - pokud metoda vrací true, nová hodnota je zapsána do databáze. Pokud metoda vrací false, operace není provedena a nadcházející změna hodnoty vlastnosti je stornonována.
      • Message (string) - zpráva, která je uživateli zobrazena, pokud je návratová hodnota false.

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ý je upravován.
      • PropertyKindId - ID druhu vlastnosti (tblKind.intKindId) objektu, který je upravován.
      • 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.