Podczas działania modułu możliwa jest konwersja pliku EDI na plik PDF, dla którego wykorzystane mogą zostać standardowe szablony pobierania indeksów. Konwersja ma miejsce, gdy spełnione są następujące warunki:
Konwersja pliku EDI na plik PDF odbywa się za pomocą szablonu docx. Wartości z pliku EDi są podstawiane do szablonu na podstawie placeholder'ów. Poprawny placeholder posiada następującą składnię:
${obiekt:sekcja w pliku EDI:segment w pliku EDI(filtr)...(filtr):numer komponentu w segmencie:numer wartości w pobranym szeregu}
Poszczególne elementy placeholder'a są rozdzielone znakiem dwukropka :, a ich znaczenie jest następujące:
Element | Opis | Wymagany |
---|---|---|
obiekt | Oznacza typ obiektu w szablonie. Możliwe są następujące wartości: value i table. Obiekt value wskazuje na pojedynczą wartość z pliku EDI, która ma zostać wstawiona w dane miejsce. Placeholder ten może występować wszędzie - w ciele głównym szablonu, nagłówkach, tabelach itd. Obiekt table oznacza wartość, która może zostać wielokrotnie powielona, w zależności od ilości dopasowań placeholder'a w pliku EDI. Placeholder ten może występować jedynie w komórkach tabeli w dowolnym miejscu - pierwszy wiersz, drugi wiersz n-ty wiersz, nie musi to także być ostatni wiersz, dopuszczalne jest także dodanie wierszy podsumowujących w wierszu pod placeholder'em. Zostanie on zamieniony pierwszą dopasowaną wartością, a pozostałe utworzą nowe komórki dodane od obecnej komórki. | Tak |
sekcja w pliku EDI | Oznacza nazwę sekcji w pliku EDI wynikającą ze standardu EDI. Możliwe są następujące wartości: header, details, summary. W celu uzyskania informacji o sekcjach i wykrywaniu ich granic w pliku EDI należy zapoznać się ze standardem np. dla UN/EDIFACT (http://www.unece.org/cefact/edifact/welcome.html w tym np. dla typu D96A http://www.unece.org/trade/untdid/d96a/Welcome.html). Wartości są grupowane dla poszczególnych sekcji. | Tak |
segment w pliku EDI | Oznacza tag segmentu, najczęściej trzyliterowy znacznik, pierwszy element w każdej nowej linii pliku EDI. | Tak |
(filtr)...(filtr) | Szereg dodatkowych filtrów postaci (wartość)(wartość) itd. Możliwe jest dodanie dowolnej ilości filtrów lub ich pominięcie. Pozwala on selektywnie wybierać wartości dla danego segmentu. Kolejne filtry są dopasowywane do kolejnych wartości w segmencie, jeżeli wartości z segmentu i filtru są takie same, to wartość jest brana pod uwagę. Możliwe jest także filtrowanie za pomocą pustych wartości, czyli filtr postaci (). Filtrowanie jest szczególnie przydatne w przypadku danych tabelarycznych (patrz przykłady). | Nie |
numer komponentu w segmencie | Oznacza pozycję wartości w segmencie, która ma zostać pobrana. Wartości są liczone od 1, włącznie z pustymi wartościami. Np. w segmencie postaci CUX+2:EUR:4' wartość "EUR" jest komponentem o numerze 2 w segmencie CUX. | Tak |
numer wartości w pobranym szeregu | Oznacza numer wartości w pobranym szeregu. Wartości są liczone od 1. W przypadku braku wartości i dopasowaniu do placeholder'a większej ilości wartości są one łączone w jedną wartość i rozdzielane znakiem spacji. Np. dla segmentów: MOA+79:9086.83' MOA+125:9086.83' MOA+124:0' MOA+128:9086.83' pobranie wartości z pozycji numer 2 skutkuje zwróceniem wartości "9086.83 9086.83 0 9086.83", w przypadku wskazania numeru wartości w szeregu o wartości 3 zwrócona jest wartość "0". | Nie |
W przypadku wskazania wartości, która nie istnieje zwracana jest pusta wartość.
Przykłady
Załóżmy, że dysponujemy następującą fakturą EDI typu UN/EDIFACT D96A:
UNB+UNOC:3+1542051826HUTC+1542035753JFT1+150128:1346+10440' UNH+1+INVOIC:D:96A:UN:EAN008' BGM+380+824I087819150121+9' DTM+137:20150121:102' FTX+AAI+++FRANCH TVA, ART 275 CGI:LES PAIEMENTS SE FONT COMPTANT ET:SANS ESCOMPTE' FTX+REG+++PAULSTRA SNC:SNC AU CAPITAL DE 450.000 EUR:450000:EUR:R.C.S. PARIS B 314.397.670' FTX+PMT' NAD+BY+06321248Q++LE JOINT FRANCAIS+DOMAINE 1248Q+CHATEAU GONTIER++53200+FR' RFF+VA:FR47542035753' RFF+GN:542035753' NAD+IV+06321248Q++LE JOINT FRANCAIS+DOMAINE 1248Q+CHATEAU GONTIER++53200+FR' RFF+VA:FR47542035753' RFF+GN:542035753' NAD+SE+50000151247I++PAULSTRA JOINTS DYNAMIQUES+Z.I. D?'ETRICHE ROUTE D?'AVIRE+SEGRE CEDEX++49504+FR' RFF+XA:R.C.S. PARIS B 314.397.670' RFF+VA:FR39314397670' RFF+GN:314397670' NAD+RE+1542051826HUTC++CENTRE SERVICES PARTAGES+COMPTA CLIENTS - PAULSTRA CS20700+CHATELLERAULT CEDEX++86107' CUX+2:EUR:4' PAT+3' DTM+13:20150121:102' PAT+22' PCD+12:0' PAT+20' PCD+15:0' ************** Granica sekcji header i details ************** LIN+1++8RE15A:IN' PIA+1+020013000:SA' IMD+E+ANM+:::MELANGE:8RE15A' IMD+F++:::4005910000' MEA+AAI+AAA+KGM:49' MEA+AAI+AAB+KGM:874' QTY+47:49:KGM' MOA+203:387.59' PRI+AAA:7.91:::1' RFF+ON:F041002' RFF+AAK:264649' TAX+7+VAT+++:::0' LIN+2++7RH208T:IN' PIA+1+020168000:SA' IMD+E+ANM+:::HNBR NOIR:7RH208T' IMD+F++:::4005910000' MEA+AAI+AAA+KGM:144' MEA+AAI+AAB+KGM:0' QTY+47:144:KGM' MOA+203:1841.76' PRI+AAA:12.79:::1' RFF+ON:F041002' RFF+AAK:264649' TAX+7+VAT+++:::0' LIN+3++7RZ258F:IN' PIA+1+020184000:SA' IMD+E+ANM+:::7RZ258F' IMD+F++:::4005910000' MEA+AAI+AAA+KGM:84' MEA+AAI+AAB+KGM:0' QTY+47:84:KGM' MOA+203:5171.04' PRI+AAA:61.56:::1' RFF+ON:F041002' RFF+AAK:264649' TAX+7+VAT+++:::0' LIN+4++8RD261E:IN' PIA+1+020186000:SA' IMD+E+ANM+:::8RD261E' IMD+F++:::4005910000' MEA+AAI+AAA+KGM:317' MEA+AAI+AAB+KGM:0' QTY+47:317:KGM' MOA+203:1686.44' PRI+AAA:5.32:::1' RFF+ON:F041002' RFF+AAK:264649' TAX+7+VAT+++:::0' ************** Granica sekcji details i summary ************** UNS+S' MOA+79:9086.83' MOA+125:9086.83' MOA+124:0' MOA+128:9086.83' TAX+7+VAT++9086.83+:::0' MOA+124:0' UNT+80+1' UNZ+1+10440' |
Dla poniżych placeholder'ów zostaną zwrócone następujące wartości: