Version 38 (modified by mfurmankiewicz, 7 years ago)

--

Wstrzykiwanie kolumn

Aby dodać do listy np. klientów nowe kolumny wyświetlające informacje których standardowo tam nie ma (np. graficzny status klienta, kwotę faktur sprzedaży itp) należy plik custom_list_fields.xml z definicją kolumny umieścić w katalogu apps/edokumenty/var/tpl

Przykładowy plik jest umieszczony w katalogu apps/edokumenty/var/tpl_default/custom_list_fields.xml_default - można go skopiować do tpl jednocześnie usuwając z nazwy rozszerzenia słowo _default.

UWAGI

Parametr searchable nie jest na chwilę obecną obsługiwany. Jego definicji powinna wyglądać jako:

<searchable>1</searchable>

Patrz na wykaz list, które obsługują wyszukiwanie (na dól).

Wstrzykiwanie kolumn do listy klientów

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <ContactsList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 1 AND tblnam = 'contacts' AND tbl_id = contid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </ContactsList>
</data>

Wstrzykiwanie kolumn do listy uczestników kampanii

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <CampaignParticipantsList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 1 AND tblnam = 'contacts' AND tbl_id = contid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </CampaignParticipantsList>
</data>

Wstrzykiwanie kolumn do listy dokumentów

Postępujemy podobnie jak w przypadku listy klientów. Klucz główny na liście to doc_id. Dostępne listy to:

Nazwa listy (tagu XML) Lista Uwagi
DocumentsList lista dokumentów w module Dokumenty Alias na kolumny z głównego zapytania to doc czyli np. wstawiając kolumnę z vatnote robimy SELECT v.doc_id FROM vatnote AS v WHERE v.doc_id = doc.doc_id
ProcessDocumentsList lista dokumentów na kartotece sprawy Alias na kolumny z głównego zapytania to doc czyli np. wstawiając kolumnę z vatnote robimy SELECT v.doc_id FROM vatnote AS v WHERE v.doc_id = doc.doc_id
ClientDocumentsList lista dokumentów na kartotece kontrahenta Alias na kolumny z głównego zapytania to doc czyli np. wstawiając kolumnę z vatnote robimy SELECT v.doc_id FROM vatnote AS v WHERE v.doc_id = doc.doc_id

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <DocumentsList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 1 AND tblnam = 'depository' AND tbl_id = depoid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
        </cecha_1>
    </DocumentsList>
</data>

Od wersji 5.0.162 dostępna jest rozszerzona konfiguracja. ID kolumny (w przykłądzie poniżej kto_dodal2) nie może mieć mniej niż 7 znaków (aby uniknąć konfliktów z wbudowanymi kolumnami).

    <DocumentsList>
        <join_definition id="aqq1">
            <sql>select usrnam as kto_dodal, usr_id as aqq1_usr_id from users</sql>
            <join_statement>doc.adduid = aqq1_usr_id</join_statement>
        </join_definition>

        <kto_dodal join_definition="aqq1">
            <name>Kto dodał</name>
            <css>width:100px;</css>
            <tooltip/>
            <hidden />
        </kto_dodal>
    </DocumentsList>

Wstrzykiwanie kolumn do listy produktów

Postępujemy podobnie jak w przypadku listy klientów.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <ProductsList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 1 AND tblnam = 'depository' AND tbl_id = depoid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </ProductsList>
</data>

*Od wersji 5.0.241, 5.2.31 obsługuje parametr searchable.

Lista prosta (występująca przy wyszukiwaniu np. dodaj zbiorczo) produktów

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <SimpleProductsList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 1 AND tblnam = 'depository' AND tbl_id = depoid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </SimpleProductsList>
</data>

Wstrzykiwanie kolumn do listy urządzeń

Postępujemy podobnie jak w przypadku listy klientów.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <DevicesList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 1 AND tblnam = 'depository' AND tbl_id = depoid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </DevicesList>
</data>

Wstrzykiwanie kolumn do listy spraw

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <ProcessesList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT ftopnm FROM features_opt_view WHERE featid = 17 AND tblnam = 'processes' AND tbl_id = prc_id</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </ProcessesList>
</data>

Wstrzykiwanie kolumn do listy osób kontaktowych

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <ContactPersonsList>
        <cecha_1>
            <name>Cecha 1</name>
            <sql>SELECT copeid||'-'||bcrdid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </ContactPersonsList>
</data>
  • zapytanie korzysta z widoku business_card_view toteż nasze podzapytanie może korzystać z wszystkich kolumn z tego widoku

Wstrzykiwanie kolumn do listy spraw windykacyjnych

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <VindicationList>
        <cecha_2>
            <name>Cecha 2</name>
            <sql>SELECT 666</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_2>
    </VindicationList>
</data>

Wstrzykiwanie kolumn do listy kosztów podróży w dokumencie delegacji

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <DelegationTravelCostsList>
        <cecha_2>
            <name>Cecha 1</name>
            <sql>SELECT 1</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_2>
    </DelegationTravelCostsList>
</data>

Wstrzykiwanie kolumn do listy kosztów na fakturze Kontekst wykonania listy to widok vatnote_costs_view

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <VatCostsList>
        <cecha_2>
            <name>Cecha kosztu</name>
            <sql>SELECT data__ FROM 
                 vatnote_costs vc
                 INNER JOIN features_text_view ftv ON ftv.tbl_id = vc.vtcoid AND ftv.featid = 12
                 WHERE vc.vtcoid = vatnote_costs_view.vtcoid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_2>
    </VatCostsList>
</data>

W przypadku listy produktów na formularzach dokumentów lub w sprawie widokiem na którym bazuje wyświetlana lista to fk_elements_view. Wszystkie przykłady dotyczące listy produktów wyświetlają dodatkową kolumnę Opis produktu pobraną z cennika (depository).

Dostępne listy to:

Nazwa listy (tagu XML) Lista Uwagi
FKElementsProcessList lista produktów w sprawie możliwość zdefiniowania wielu list w zależności od atrybutów dos_id lub dsexid.
Dla przykładu - aby wyświetlić dodatkowe kolumny w liście pozycji w sprawie tylko dla określonej teczki (dsexid)
definicja taga powinna wyglądać następująco <FKElementsProcessList dsexid="3".
W przypadku atrybutu dos_id należy podmienić w przykładzie dsexid na dos_id i podać odpowiednią wartość.
Obecnie obsługiwane są tylko te 2 atrybuty.
FKElementsVatNoteList lista produktów na fakturze
FKElementsWZList lista produktów na wydaniu zewnętrznym
FKElementsPZList lista produktów na przyjęciu zewnętrznym
FKElementsOrderList lista produktów na zamówieniu (ZW oraz ZO)
FKElementsOfferList lista produktów na ofercie
FKElementsCustomDocumentList lista produktów na dokumecie customowych (dotyczy wszystkich)
FKElementsDemandList lista produktów na zapotrzebowaniu
FKElementsOrderCompleteList lista produktów na kompletacji w fakturze Obsługuje parametr searchable

Przykład: Wstrzykiwanie kolumn do listy produktów w sprawie

Edycja pliku custom_list_fields.xml.

Przykład:

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <FKElementsProcessList>
        <cecha_1>
            <name>Opis produktu</name>
            <sql>SELECT dscrpt FROM depository WHERE depoid = fk_elements_view.depoid</sql>
            <css>width:100px;</css>
            <tooltip />
            <hidden />
            <searchable />
        </cecha_1>
    </FKElementsProcessList>
</data>

Dla pozostałych typów list produktów należy zmienić nazwę tagu FKElementsProcessList na wybraną listę.

Wstrzykiwanie kolumn do listy w dziennikach

Obsługiwane typu dzienników w których można wstrzyknąć dodatkowe kolumny to:

Nazwa listy (tagu XML) Lista Uwagi Obsługuje wyszukiwanie
ARegOfPapersList Dziennik korespondencji Nazwa tabeli w bazie to regofpapers (kontekst: ppr) Tak
ARegOfVatNotesList Dziennik faktur Nazwa tabeli w bazie to regofvatnotes Tak
ProcessesList Moduł Sprawy Kontekst: processes_view Tak