mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Import specjalny SDF https://forum.mix-soft.pl/viewtopic.php?f=15&t=3401 |
Strona 1 z 1 |
Autor: | slawekdw [ 2011-10-21, 10:12 ] |
Tytuł: | Import specjalny SDF |
Witam jestem początkujący w kwestii pisania raportów do FiK, Napisałem raporcik który wczytuje mi dane z pliku SDF są to faktury sprzedaży w rozbiciu na dwa konta Standardowe sprzedaż oraz transport I tu pojawił się problem, zdarza się że niekiedy nie ma transportu a także zdarza się ze niekiedy jest tylko transport Format pliku wygląda następująco: TYP_DOKUMENTU;DATA;KONTRAHENT;NUMER_DOKUMENTU_TRESC_FAKTURY;KWOTA_NETTO_TOWAR;kWOTA_NETTO_TRANSPORT Problem wynika z tego ze na sztywno do pozycji przypisane są konta oraz rejestr, i jak nie ma którejś z pozycji ( transportu albo towaru) zapisują się źle pozycje w rejestrze oraz na kontach Poniżej raport. Proszę o pomoc w rozwiązaniu tego problemu #opis "import z scv", "*.CSV (Pliki oddzialone srednikiem)" // #format "SDF" // #data "d.m.r" // #opisy "" // #Disable "0" //poziom ostrzeżeń 1 (m.in. bez ostrzeżenia "Pole nie znalezione") #POWIELONE_NAZWY "1" //0-zapisuje bez pytania; 1-pyta czy zapisać; 2-nie zapisuje #NAZWY_POL "IGNORUJ" Section("","Dokument") { $Klucz = [1] $Skrot = [5] $Nazwa = [5] $NazwaKor = [5] $datakor = Date([2]) $Tresc = [6] $Datadok = Date([2]) $Dataokr = Date([2]) $DataOper = Date([2]) IF (Not ( Equal ([1], "CNOTE"))) $ObslugujJak = "FVS" Else $ObslugujJak = "FKS" MakeSec ( "kontrahent") { $aktywny = 1 $klucz = SUM0([5], -65535) $nazwa = [4] $skrot = [4] $autoinsert = 1 } IF (Not (Equal ([13], "0"))) { MakeSec("Rejestr") { $Klucz = [1] $abc = "1" $netto = [13] $brutto = Mul2([13],1.23) $vat = Mul2 ([13], 0.23) $stawka = "23" } MakeSec("Zapis") { $strona = 0 //Wn $pozycja = 0 $konto = "201-1-2-K" $numerDok = [5] $opis = [6] $kwota = Mul2([13],1.23) } MakeSec("Zapis") { $strona = 1 //Ma $pozycja = 0 $konto = "731-1" $numerDok = [5] $opis = [6] $kwota = [13] } MakeSec("Zapis") { $strona = 1 //Ma $pozycja = 0 $konto = "221-1" $numerDok = [5] $opis = [6] $kwota = Mul2 ([13], 0.23) } } IF (Not(Equal ([14], "0"))) { MakeSec("Rejestr") { $Klucz = [1] $abc = "1" $netto = [14] $brutto = Mul2([14],1.23) $vat = Mul2 ([14], 0.23) $stawka = "23" } MakeSec("Zapis") { $strona = 0 //Wn $pozycja = 1 $konto = "201-1-2-K" $numerDok = [5] $opis = [6] $kwota = Mul2([14],1.23) } MakeSec("Zapis") { $strona = 1 //Ma $pozycja = 1 $konto = "731-1" $numerDok = [5] $opis = [6] $kwota = [14] } MakeSec("Zapis") { $strona = 1 //Ma $pozycja = 1 $konto = "221-1" $numerDok = [5] $opis = [6] $kwota = Mul2 ([14], 0.23) } } } |
Autor: | helperman [ 2011-11-04, 13:04 ] |
Tytuł: | |
Hej. Nie odpowiem Ci dokładnie na to pytanie, ponieważ musiałbym przesledzić jakieś przykładowe dane. Ale podpowiem trochę. - Jeżeli info o dokumencie to jedna linijka danych, to masz źle przemyślany kod importu. Powinieneś całość wczytać, a potem decydować co ma być wgrane do systemu. Wg mnie powinieneś najpierw dodać sekcję rejestru dla całości, a potem w zależności od zawartości (od danych) dodać zapisy księgowe. Pamiętaj, że zapisy można rozbijać jednostronnie. Pytanie jak masz zamiar zapisywać dane odnośnie transport+sprzedaż i każdy oddzielnie - ale to typowe dla szablonów instrukcje warunkowe. - Jeżeli info o dokumencie jest w kilku linijkach to pamiętaj o pętli na całości odczytujące dane po identyfikatorze jakim jest np. nr dokumentu. Tak jak pisałem na początku, Jeżeli chcesz sam dojść do czegoś to instrukcja w FK odnośnie pisania szablonów importu specjalnego jest nieodzowna. Szablonów dawno nie pisałem, ale jeżeli nie poradzisz sobie, to napisz - może coś dalej poradzimy. PS. Sorry za lakoniczność wypowiedzi, ale tego typu sprawy albo się robi albo nie. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |