Przejdź do głównej treści

Custom widget - Jako skrypt


Emisja zdarzeń to nic innego jak możliwość wywołania dodatkowego skryptu podczas wykonywania operacji w systemie.

Tabela z miejscami użycia
Miejsce użyciaOpisPrzykładowy skrypt
ContractPlugin/beforeSaveAkcja po otwarciu dokumentu typu umowaContractPluginBeforeSave.inc
Parametry: {"script":"ContractPluginBeforeSave.inc"}
CustomDocumentPlugin/AfterOpenAkcja po otwarciu customowego dokumentuParametry: {"script":"CustomDocumentPluginAfterOpen.inc"}
DemandPlugin/beforeSaveAkcja przed zapisaniem formatki zapotrzebowaniaParametry: {"script":"DemandPluginBeforeSave.inc"}
DemandPlugin/afterSaveAkcja po zapisaniem formatki zapotrzebowaniaParametry: {"script":"DemandPluginAfterSave.inc"}
DocumentForm/onCloseAkcja podczas zamykania formatki dokumentuDocumentFormOnCloseCustomScript.inc
parametry: {"script":"DocumentFormOnCloseScript.inc"}
DocumentForm/onToHtmlAkcja na serializacji formatki dokumentu do HTMLa
DocumentBean/beforeAddRightAkcja przed dodaniem rekordu
DocumentBean/afterAddRightAkcja po dodaniu rekordu
DocumentBean/beforeUpdateRightAkcja przed aktualizacją rekordu
DocumentBean/afterUpdateRightAkcja po aktualizacji rekordu
EventBean/beforeCreateAkcja przed dodaniem rekordu zdarzeniaDocumentFormOnCloseCustomScript.inc
EventBean/afterCreateAkcja po dodaniu rekordu zdarzeniaEventBeanAfterCreate.inc
FKElementDemandMainForm/beforeSaveAkcja przed zapisaniem pozycji zapotrzebowania
FKElementOfferMainForm/beforeSaveAkcja przed zapisaniem pozycji oferty
FKElementOrderMainForm/beforeSaveAkcja przed zapisaniem pozycji zamówienia
FKElementPMMMainForm/beforeSaveAkcja przed zapisaniem pozycji przesunięcia między magazynowego
FKElementProcessMainForm/beforeSaveAkcja przed zapisaniem pozycji sprawy
FKElementProtocolDocumentMainForm/beforeSaveAkcja przed zapisaniem pozycji dokumentu protokołu
FKElementPZMainForm/beforeSaveAkcja przed zapisaniem pozycji przyjęcia zewnętrznego
FKElementRCPMainForm/beforeSaveAkcja przed zapisaniem pozycji karty RCP
FKElementVatNoteMainForm/beforeSaveAkcja przed zapisaniem pozycji faktury
FKElementWZMainForm/beforeSaveAkcja przed zapisaniem pozycji wydania zewnętrznego
FKElementDemandMainForm/afterSaveAkcja po zapisaniu pozycji zapotrzebowania
FKElementOfferMainForm/afterSaveAkcja po zapisaniu pozycji oferty
FKElementOrderMainForm/afterSaveAkcja po zapisaniu pozycji zamówienia
FKElementPMMMainForm/afterSaveAkcja po zapisaniu pozycji przesunięcia między magazynowego
FKElementProcessMainForm/afterSaveAkcja po zapisaniu pozycji sprawy
FKElementProtocolDocumentMainForm/afterSaveAkcja po zapisaniu pozycji dokumentu protokołu
FKElementPZMainForm/afterSaveAkcja po zapisaniu pozycji przyjęcia zewnętrznego
FKElementRCPMainForm/afterSaveAkcja po zapisaniu pozycji karty RCP
FKElementVatNoteMainForm/afterSaveAkcja po zapisaniu pozycji faktury
FKElementWZMainForm/afterSaveAkcja po zapisaniu pozycji wydania zewnętrznego
ProcessDialog/onCloseAkcja podczas zamykania formatki podglądu sprawyProcessDialogOnCloseScript.inc Parametry: {"script":"ProcessDialogOnCloseScript.inc"}
ProcessSummaryForm/afterCreateAkcja po przygotowaniu formularza (przed przekazaniem parametrów do szablonu process_summary.tpl)Przykład: ukrycie w menu sprawy funkcji Przenieś sprawę ProcessSummaryForm_afterCreate.inc
RCPForm/beforeSaveAkcja przed zapisaniem formatki karty RCPParametry: {"script":"RCPFormBeforeSave.inc"}
RCPForm/afterSaveAkcja po zapisaniu formatki karty RCPParametry: {"script":"RCPFormAfterSave.inc"}
UserFilesExplorerView/onAddItemAkcja po dodaniu pliku dla eksploratora plikówVatNotePlugin_AfterOpen.zip Parametry: {"script":"UserFilesExplorerViewOnAddItem.inc"}
VatNotePlugin/beforeOpenOtwarcie formatki faktury zakupu, sprzedażyVatNotePlugin_AfterOpen.zip
VatNotePlugin/afterOpenOtwarcie formatki faktury zakupu, sprzedażyVatNotePlugin_AfterOpen.zip
PROCESS/sendRightRequestNoteAkcja sprawy przed zapisaniem formatkiProcessSendRightRequestNote.inc Parametry: {"script":"ProcessSendRightRequestNote.inc"}
ResolutionPlugin/beforeSaveAkcja przed zapisaniem dokumentu typu UchwałaProcessSendRightRequestNote.inc Parametry: {"script":"ResolutionPluginBeforeSave.inc"}
DocumentForm/beforeSaveAkcja przed zapisaniem dokumentuDocumentFormBeforeSave.inc Parametry: {"script":"DocumentFormBeforeSave.inc"}
VatNoteOutPlugin/toHtmlAkcja w plug-ine faktury sprzedażyParametry: {"script":"VatNoteOutPluginToHtml.inc"}
VatNoteIncPlugin/toHtmlAkcja w plug-ine faktury zakupuParametry: {"script":"VatNoteIncPluginToHtml.inc"}
VatNoteCostForm/toHtmlAkcja w pozycji kosztu fakturyParametry: {"script":"VatNoteCostFormToHtml.inc"}
TodoMod/saveNewCardCreator/beforeSaveWykonuje się przed zapisaniem zadania za pomocą kreatora na panelu (dodatkowy panel pojawia się w momencie klikania Nowe zadania (backlog oraz panel zadań))TodoModSaveNewCardCreatorBeforeSave.inc Parametry: {"script":"TodoModSaveNewCardCreatorBeforeSave.inc"}
TodoMod/saveNewCardCreator/afterSaveWykonuje się po zapisaniu zadania za pomocą kreatora na panelu (dodatkowy panel pojawia się w momencie klikania Nowe zadania (backlog oraz panel zadań))TodoModSaveNewCardCreatorAfterSave.inc
Parametry: {"script":"TodoModSaveNewCardCreatorAfterSave.inc"}
DocumentBean/beforeAddRightEmisja zdarzenia na beanie dokumentu przed dodaniem rekorduParametry: {"script":"DocumentBeanBeforeAddRight.inc"}
DocumentBean/afterAddRightEmisja zdarzenia w beanie dokumentu po dodaniu rekorduParametry: {"script":"DocumentBeanAfterAddRight.inc"}
DocumentBean/beforeUpdateRightEmisja zdarzenia w beanie dokumentu przed aktualizacją rekorduParametry: {"script":"DocumentBeanBeforeUpdateRight.inc"}
DocumentBean/afterUpdateRightEmisja zdarzenia w beanie dokumentu po aktualizacji rekorduParametry: {"script":"DocumentBeanAfterUpdateRight.inc"}
EventBean/beforeCreateEmisja zdarzenia w beanie zdarzenia przed dodaniem rekorduEventBeanBeforeCreate.inc
Parametry: {"script":"EventBeanBeforeCreate.inc"}
EventBean/afterCreateEmisja zdarzenia w beanie zdarzenia po dodaniu rekorduEventBeanAfterCreate.inc
Parametry: {"script":"EventBeanAfterCreate.inc"}
Process/beforeCloseEmisja zdarzenia przed zamknięciem sprawyEventBeanAfterCreate.inc
Parametry: {"script":"ProcessBeforeAfterClose.inc"}
Process/afterCloseEmisja zdarzenia po zamknięciu sprawyEventBeanAfterCreate.inc
Parametry: {"script":"ProcessBeforeAfterClose.inc"}
Process/beforeResumptionEmisja zdarzenia przed wznowieniem sprawyProcessBeforeAfterClose.inc
Parametry: {"script":"ProcessBeforeAfterResumption.inc"}
Process/afterResumptionEmisja zdarzenia po aktualizacji rekorduProcessBeforeAfterResumption.inc
Parametry: {"script":"ProcessBeforeAfterResumption.inc"}
DocumentForm/beforeToHtmlAkcja przed serializacją do html formatki dokumentuDocumentFormBeforeToHtml.inc
Parametry: {"script":"DocumentFormBeforeToHtml.inc"}
DocumentForm/onToHtmlAkcja na serializacji do html formatki dokumentuDocumentOnToHtml.inc
Parametry: {"script":"DocumentOnToHtml.inc"}
DecreeForm/beforeSaveAkcja przed zapisaniem dekretacji dokumentu. Jako obiekt $args['container'] nasza klasa otrzyma obiekt formularza.{"script":"DecreeFormBeforeSave.inc"}
DecreeForm/afterSaveAkcja po zapisaniem dekretacji dokumentu. Jako obiekt $args['container'] nasza klasa otrzyma obiekt formularza.{"script":"DecreeFormAfterSave.inc"}
OrderDocumentPlugin/beforeSaveAkcja przed zapisaniem formatki zamówienia. Jako obiekt $args['container'] nasza klasa otrzyma obiekt formularza.{"script":"OrderDocumentPluginBeforeSave.inc"}
OrderDocumentPlugin/afterSaveAkcja po zapisaniem formatki zamówienia. Jako obiekt $args['container'] nasza klasa otrzyma obiekt formularza.{"script":"OrderDocumentPluginAfterSave.inc"}
OrderDocumentPlugin/afterOpenAkcja po otwarciu formatki zamówienia. Jako obiekt $args['container'] nasza klasa otrzyma obiekt formularza.{"script":"OrderDocumentPluginAfterSave.inc"}
ProcessEditDialog/beforeOpenAkcja podczas otwierania kartoteki edycji sprawy. Jako obiekt $args['container'] nasza klasa otrzyma obiekt formularza. W tablicy $args dodatkowo przekazywane są parametry w kluczu params.DocumentOnToHtml.inc
{"script":"ProcessEditDialogBeforeOpen.inc"}

Przykład tablicy JSON do pola Parametry

{
  "script": "{NAMESPACE}/HelloCustomScript.inc"
}

Objaśnienia kluczy:

  • script - nazwa pliku z katalogu public_html/apps/edokumenty/scripts

Customowe skrypty podczas zapisywania pozycji (produktu) dokumentu/sprawy

Nowe miejsce w którym możemy użyć własnych skryptów do formatka pozycji (produktu):

Akcja przed zapisaniem pozycji:

NAZWA POLAWARTOŚĆ
NazwaDowolna np. FKElementDemandMainFormBeforeSave
Typskrypt
Parametry{"script":"FKElementDemandMainFormBeforeSave.inc"}
Miejsce użyciaFKElementDemandMainForm/beforeSave

Akcja po zapisaniem pozycji:

NAZWA POLAWARTOŚĆ
NazwaDowolna np. FKElementDemandMainFormAfterSave
Typskrypt
Parametry{"script":"FKElementDemandMainFormAfterSave.inc"}
Miejsce użyciaFKElementDemandMainForm/afterSave

Jako przestrzeń nazw dla skryptu należy użyć jednej z wartości (zamiast podanej w przykładzie FKElementDemandMainForm):

KLASAOPIS
FKElementDemandMainFormZapotrzebowanie
FKElementOfferMainFormOferta
FKElementOrderMainFormZamówienie
FKElementPMMMainFormPrzesunięcie między magazynowe
FKElementProcessMainFormPozycja sprawy
FKElementProtocolDocumentMainFormPozycja dokumentu protokołu
FKElementPZMainFormPrzyjęcie zewnętrzne
FKElementRCPMainFormKarta RCP
FKElementVatNoteMainFormFaktura
FKElementWZMainFormWydanie zewnętrzne

Załącznik

FKElementDemandMainFormAfterSave

Customowy skrypt dla eksploratora plików

Nowe miejsce w którym możemy użyć własnych skryptów do bean pozycji kosztu faktury:

NAZWA POLAWARTOŚĆ
NazwaDowolna np. UserFilesExplorerViewOnAddItem
Typskrypt
Parametry{"script":"UserFilesExplorerViewOnAddItem.inc"}
Miejsce użyciaUserFilesExplorerView/onAddItem
Przykład
<?php

/**
 * UserFilesExplorerViewOnAddItem
 *
 * @author Tomasz Świenty
 * @version 0.1
 * @copyright Copyright (c) eDokumenty
 */
final class UserFilesExplorerViewOnAddItem {


    /**
     * @param $args
     * @return bool
     */
    public static function init($args) {

        // obiekt eksploratora plików
        if (!isset($args['container']) OR (!is_a($args['container'], 'UserFilesExplorerView'))) {
            return FALSE;
        }

        // dane dodawanego pliku
        $uri = isset($args['uri']) ? $args['uri'] : NULL;
        if (!$uri) {
            return FALSE;
        }

        // typ ścieżki może być HOME albo PUBLIC
        $pathType = isset($args['pathType']) ? $args['pathType'] : NULL;
        if (!$pathType) {
            return FALSE;
        }

    }

}

if (isset($args)) {
    UserFilesExplorerViewOnAddItem::init($args);
}

Umożliwienie dodania treści po wydruku książki pocztowej

NAZWA POLAWARTOŚĆ
NazwaDowolna np. ARegPrintMafterMPrint
Typskrypt
Parametry{"script":"ARegPrintMafterMPrint.inc"}
Miejsce użyciaARegPrintM/afterMPrint
Przykład
<?php

/**
 * ARegPrintMafterMPrint
 *
 * @author Tomasz Świenty
 * @version 0.1
 * @copyright Copyright (c) eDokumenty
 */
final class ARegPrintMafterMPrint {



    public static function init($args) {

        if (!isset($args['container'])) {
            return FALSE;
        }

        $args['container']->html = 'Moja treść';

    }

}

if (isset($args)) {
    ARegPrintMafterMPrint::init($args);
}