szabel01
Rejestracja: 2014-09-18, 09:29 Posty: 3
|
Import specjalny FVS
Witam. Mam problem z importem specjalnym. W pliku .csv mam dane transakcji i chciałbym je zaimportować do symfonii. W zależności od pola z nazwą transakcji(np. 17/9/2014) chciałbym albo dodawać wiersze do kolejnych pozycji dokumentu albo tworzyć nowy dokument FVS Na te chwile mój skrypt działa tak że zczytuje wszystkie wiersze do jednego dokumentu i rozdziela wszystko na pozycje. Nie potrafie zrobić tak aby dodatkowo rozdzielał na dokumenty różniące się nazwą transakcji. Myślałem aby w sekcji w której robie "repeat" dodać if-a aby sprawdzać czy @sname nie różni się od pozycji [14] ale wtedy i tak by był tylko 1 dokument. Czy ktoś mógłby mi z tym pomóc? CSV wyglada tak: Kod: 1,50187,Sprzedaż,17.09.2014,Klawiatura A4Tech Slim Sun,ST0005,szt.,1,"25,94",23.00%,"25,94","5,97","31,91",17/9/2014,Internet Center,Piotrkowska 8/147,Łódź,91-477,1060000062,17.09.2014,17.09.2014,17.09.2014,0,false,,,,SA-PR-EU 2,50186,Sprzedaż,17.09.2014,Monitor Samsung SyncMaster 2223NW,ST0001,szt.,1,"714,55",23.00%,"714,55","164,35","878,9",17/9/2014,Internet Center,Piotrkowska 8/147,Łódź,91-477,1060000062,17.09.2014,17.09.2014,17.09.2014,0,false,,,,SA-PR-EU 4,50184,Sprzedaż,17.09.2014,Mysz A4Tech MOP-70D,ST0004,szt.,1,"14,3",23.00%,"14,3","3,29","17,59",16/9/2014,Toyota AMX,,Berlin,,,17.09.2014,17.09.2014,17.09.2014,0,false,,,,SA-PR-EU 5,50183,Sprzedaż,17.09.2014,Klawiatura Logitech,ST01256,,1,12,zw.,12,0,12,16/9/2014,Toyota AMX,,Berlin,,,17.09.2014,17.09.2014,17.09.2014,0,false,,,,SA-PR-EU 7,50181,Sprzedaż,17.09.2014,Monitor Samsung SyncMaster 2223NW,ST0001,szt.,1,"714,55",23.00%,"714,55","164,35","878,9",15/9/2014,Internet Center,Piotrkowska 8/147,Łódź,91-477,1060000062,17.09.2014,17.09.2014,17.09.2014,0,false,,,,SA-PR-EU 8,50180,Sprzedaż,17.09.2014,Klawiatura Logitech,ST01256,,1,12,zw.,12,0,12,15/9/2014,Internet Center,Piotrkowska 8/147,Łódź,91-477,1060000062,17.09.2014,17.09.2014,17.09.2014,0,false,,,,SA-PR-EU 11,50177,Sprzedaż,17.09.2014,"Dell PC Pentium 2,74 2GB",ST0002,szt.,1,"893,42",23.00%,"893,42","205,49","1098,91",14/9/2014,KOMP-SERVICE Jan Kowalski,,Meksyk,,7291077843,17.09.2014,17.09.2014,17.09.2014,0,false,,,, 12,50176,Sprzedaż,17.09.2014,"Dell PC Pentium 2,74 2GB",ST0002,szt.,1,"893,42",23.00%,"893,42","205,49","1098,91",14/9/2014,KOMP-SERVICE Jan Kowalski,,Meksyk,,7291077843,17.09.2014,17.09.2014,17.09.2014,0,false,,,,
A mój skrypt narazie wygląda tak: Kod: Section("","dokument") { $Klucz=[3] $nazwa=[14] $data = Date(REX([4], "{??}?{??}?{????}", CAT(@rex3, "–" , @rex2, "–" , @rex1))) $Dataokr=Date(REX([22], "{??}?{??}?{????}", CAT(@rex3, "–" , @rex2, "–" , @rex1))) $Datadok=Date(REX([20], "{??}?{??}?{????}", CAT(@rex3, "–" , @rex2, "–" , @rex1))) $DataOper=Date(REX([22], "{??}?{??}?{????}", CAT(@rex3, "–" , @rex2, "–" , @rex1))) $Datawpl=Date(REX([22], "{??}?{??}?{????}", CAT(@rex3, "–" , @rex2, "–" , @rex1))) $Tresc=[14] $KodPozycjiTransakcji=[28] Exit() @sname=[14] @kluczKth= [15] @poz=0 Section(@sname,"","REPEAT") { MakeSec("Kontrahent") { $klucz = [15] $skrot = [15] $nazwa = [15] $miejscowosc= [17] $rejon = [17] $nip = [19] $ulica = [16] $kod = [18] $W_banku1 = [25] $Rachunek1 = [26] } MakeSec("zapis") { $pozycja = @@poz $rozbicie = 0 $strona = 0 $kwota = [13] $numerDok = [14] $opis = [5] $typOpisu = 1 $konto = CAT ("201-1-1-K",@@kluczkth) $ZapisRownolegly =0 } MakeSec("zapis") { $pozycja = @@poz $rozbicie = 1 $strona = 1 $kwota = [11] $numerDok = [14] $opis = [5] $typOpisu = 1 $konto ="702-1" $ZapisRownolegly =0 } if(!equal([12],0)){ MakeSec("zapis") { $pozycja = @@poz $rozbicie = 2 $strona = 1 $kwota = [12] $numerDok = [14] $opis = [5] $typOpisu = 1 $konto = "221-1" $ZapisRownolegly =0 } } MakeSec("rejestr") { $pozycja = @@poz $ABC =1 $okres =Date(REX([22], "{??}?{??}?{????}", CAT(@rex3, "–" , @rex2, "–" , @rex1))) $stawka =[10] $brutto =[13] $netto =[11] $vat =[12] } @@poz = SUM0(@@poz, 1) } }
|