mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Import danych przez szablon ams https://forum.mix-soft.pl/viewtopic.php?f=16&t=3368 |
Strona 1 z 1 |
Autor: | bonmis [ 2011-10-11, 22:38 ] |
Tytuł: | Import danych przez szablon ams |
Witam Wszystkich Mam problem z szablonem w FKP 2012.Przy impocie wywala komunikat: Kod: Dok.FVS 0.Błąd wewnętrzny w numeracji zapisów.Pozycja o numerze: 1, rozbicie: 2. Błąd wewnętrzny w numeracji zapisów. Pozycja o numerze: 1, Dokument zawiera błąd w strukturze danych. Szablon ams Kod: #opis "Dane z programu Faktura Pro", "*.TXT (Pliki tekstowe)" // #format "AMS" // #typ_kodowania "latin2" // #opisy "" // #Disable "2" //poziom ostrzeżeń 1 (m.in. bez ostrzeżenia "Pole nie znalezione") #POWIELONE_NAZWY "0" //0-zapisuje bez pytania; 1-pyta czy zapisać; 2-nie zapisuje Section( "Kontrahent", "Kontrahent") { $klucz = SUM0([id],-65535) $skrot = [kod] $nazwa = [nazwa] $miejscowosc = [miejscowosc] $gmina = [rejon] IF ( REX( [nip], "{[rRpP]}/:{*$}" ) ) { IF ( EQUAL( TRANSLATE(@rex1, "U"), "P")) $pesel = @rex2 ELSE $regon = @rex2 } ELSE { $nip = [nip] } IF( EXIST( "dom") ) { $ulica = [ulica] $NumerDomu = [dom] $NumerMieszk= [lokal] } ELSE { IF( REX([ulica], "-{*}({[0-9///-]##:b()|[A-Q]})(:b[//\\.,]|(m[,.]+)|():b{[0-9]##:b[A-Z]|()})|()$")) { $ulica = @rex1 $NumerDomu = @rex2 $NumerMieszk= @rex3 } ELSE $ulica = [ulica] } $kod = [kodpocz] $telefon1 = [tel1] $telefon2 = [tel2] $telefax = [fax] IF( equal([badres], "") ) $w_banku1 = [bnazwa] ELSE $w_banku1 = CAT([bnazwa], ", ", [badres]) $rachunek1 = [bkonto] $nazwisko = [nazwisko] $imie = [imie] $fk_ident = [khfk] $krajKod = [krajKod] $statusUE = [statusUE] $aktywny = [aktywny] } Section( "Pracownik", "Pracownik") { $klucz = SUM0([id],-65535) $nazwisko = [nazwisko] $imie1 = [imie] $imie2 = [imie2] $telefon = [tel1] $st_miejscowosc = [miejscowosc] // $st_ulica = [ulica] IF( EXIST( "dom") ) { $st_ulica = [ulica] $st_NumerDomu = [dom] $st_NumerMieszk= [lokal] } ELSE { IF( REX([ulica], "-{*}({[0-9///-]##:b()|[A-Q]})(:b[//\\.,]|(m[,.]+)|():b{[0-9]##:b[A-Z]|()})|()$")) { $st_ulica = @rex1 $st_NumerDomu = @rex2 $st_NumerMieszk= @rex3 } ELSE $st_ulica = [ulica] } $st_kod = [kodpocz] $st_poczta = [miejscowosc] $rch_symbol = [bnazwa] $rch_numer = [bkonto] $aktywny = [aktywny] $skrot = [kod] } Section( "Urząd", "Urzad") { $skrot = [kod] $aktywny = [aktywny] $klucz = SUM0([id],-65535) $nazwa = [nazwa] IF( EXIST( "dom") ) { $ulica = [ulica] $NumerDomu = CAT([dom], " / ", [lokal]) // $NumerMieszk= [lokal] } ELSE { IF( REX([ulica], "-{*}({[0-9///-]##:b()|[A-Q]})(:b[//\\.,]|(m[,.]+)|():b{[0-9]##:b[A-Z]|()})|()$")) { $ulica = @rex1 $NumerDomu = CAT(@rex2, " / ", @rex3) // $NumerMieszk= @rex3 } ELSE $ulica = [ulica] } $kod = [kodpocz] $miejsce = [miejscowosc] $symbol = [bnazwa] $rachunek = [bkonto] } Section("dokument", "dokument") { @opisy = "" Info("Dokument: ", [kod]) $ObslugujJak = [obsluguj jak] $klucz = [symbol FK] $nazwa = [FK nazwa] switch( [obsluguj jak] ) { case "RK" Info("konto kasy: ", [KontoKasy]) if( equal([KontoKasy], "") ) { Ask("Dokument nie posiada zdefiniowanego konta kasy.", "Ponieważ nie można określić strony dla konta kasy,", "pole kwoty pozostanie puste. DefBtn:&OK=2 Ico:!") } case "DP" case "WB" case "DIM" case "DEX" @opisy = 1 $tresc = [opis FK] break case else if (!Def("opisy")) { Def("opisy", Ask("Czy importować opisy faktur VAT i rachunków? DefBtn:&Tak=10 Btn:&Nie=C Ico:?") ) } if( Equal( Def("opisy"), "10") ) { @opisy = 1 $tresc = [opis FK] } } $DataDok = Date([data]) if ( !equal([iddokkoryg], "0") ) // dla korekt data operacji dla FK powinna być równa dacie wystawienia dokumentu, a nie dacie sprzedaży $DataOper = Date([data]) else $DataOper = Date([datasp]) $Kwota = [kwota] $Sygnatura = [Sygnatura] $SaldoPoczRK = [SaldoPRK] // $SaldoZapRK = sum0([SaldoZRK],[SaldoPRK]) $SaldoZapRK = [SaldoZRK] $KontoKasy = [KontoKasy] $NazwaKor = [NazwaKor] $DataKor = Date([DataKor]) $Datawpl = Date([Datawpl]) IF ( NOT(equal([waluta], "")) ) { if ( !equal([wkwota], "") ) { $wkwota = [wkwota] $waluta = [waluta] $kurs = [kurs] $typkursu = 3 } } //analizujemy wszystkie sekcje - mogą być wymieszane Section("", "", "REPEAT") //REPEAT: analizujemy wszystkie podsekcje { switch( Translate( Name(), "L") ) { case "dane nabywcy" case "dane sprzedawcy" if (!equal([khid], 0)) { MakeSec("Kontrahent") { $klucz = SUM0([khid],-65535) if (!Equal([fk_ident], "0")) $fk_ident = [fk_ident] //uzgodniony numer FK IF ( REX( [khnip], "{[rRpP]}/:{*$}" ) ) { // na dokumencie piszemy tyko NIP , więć nic nie robimy } ELSE { $NIP = [khnip] } } } else { if( !equal( [khnip], "") ) { MakeSec("Incydentalny") { $klucz = [khnip] $NIP = [khnip] $nazwa = [khnazwa] $miejscowosc= [khmiasto] $ulica = [khadres] IF( EXIST( "khdom") ) { $NumerDomu = [khdom] $NumerMieszk= [khlokal] } $kod = [khkodpocz] } } else if( !equal( [khnazwa], "") ) { MakeSec("Incydentalny") { $klucz = [khnazwa] $NIP = [khnip] $nazwa = [khnazwa] $miejscowosc= [khmiasto] $ulica = [khadres] IF( EXIST( "khdom") ) { $NumerDomu = [khdom] $NumerMieszk= [khlokal] } $kod = [khkodpocz] } } } break case "zapis" MakeSec("zapis") { $strona = Rex([strona], "MA", 1) //WN=0 (""), MA=1 $kwota = [kwota] $Konto = [Konto] $NumerDok = [NumerDok] $IdDlaRozliczen = [IdDlaRozliczen] if ( Equal(@@opisy, 1) ) { $Opis = [opis] $typopisu = 1 //opis bezpośrednio } $ZapisRownolegly = [ZapisRownolegly] $pozycja = [Pozycja] $Rozbicie = [Rozbicie] } break case "rejestr" IF( NOT(Equal($$obslugujJak, "FWN")) ) { MakeSec("rejestr") { IF( EXIST( "skrot") ) $Klucz = CAT([skrot], ",", "ZW", ",", [stawka]) ELSE $Klucz = CAT($$klucz, ",", "ZW", ",", [stawka]) $ABC = 1 //A switch( [metoda_vat] ) { case "0" $oczek = 0 break case "1" switch( $$ObslugujJak ) { case "FKS" case "RKS" $oczek = 0 break case else $oczek = 2 break } break case "2" $oczek = 0 break } $okres = [okres] $netto = [netto1] $vat = [vat1] $brutto = [brutto1] $stawka = [stawka1] // Z "http://drotfs/Sites/FORTE/Development/Wielowalutowość/Notatka%20ze%20spotkań%20w%202010_03%20o%20przyjmowaniu%20dokumentów%20z%20importu%20i%20ITG.docx": // "Handel przesyła Netto, VAT i Brutto w walucie". // Zatem z uwagi na Handel (jako jednego z nadawców) $nettoWaluta = [nettoWaluta] $vatWaluta = [vatWaluta] $bruttoWaluta = [bruttoWaluta] $typ = "ZW" Section("", "", "REPEAT") //REPEAT: analizujemy wszystkie podsekcje { switch( Translate( Name(), "L") ) { case "pozycja vat" MakeSec( "pozycja vat" ) { $stawka=23.00 $stawka_pl=23.00 $opis="sprzedaż" $wartosc=[wartosc] $usluga=0 $ue=0 } } } } } break case "transakcja" MakeSec("transakcja") { $ustawowe = 1 //odsetki ustawowe $zaliczka = 0 //Zaliczka $idDlaRozliczen = [IdDlaRozliczen] $termin = [termin] //Termin; } break case "rozliczenie" MakeSec("rozliczenie") { $dSymbol = [dSymbol] //numer własny dokumentu $idDlaRozliczen = [idDlaRozliczen] if( !equal([kwota], "") ) { $kwota = [kwota] } if( !equal([wkwota], "") ) { $wkwota = [wkwota] } $kursWO = [kursWO] $walutaObca = [walutaObca] $rozliczonoWO = [rozliczonoWO] } break } } } Section("INFO", "") { if ( !equal([Wersja szablonu], "3.1") ) { if ( equal(ASK("Wskazany plik danych wymaga innej wersji szablonu importowego. Czy przerwać import danych? DefBtn:&Tak=10 Btn:&Nie=C ico:?"), "10") ) ERROR("Operacja importu została przerwana.") } } Section("Towar", "") { } Section("Waluta", "") { } Section("Z oddziału. Dok. pieniężny", "") { } Section("","") { Warning("Nierozpoznana sekcja: ", Name()) } Dane trafiają do bufora i są prawidłowo wprowadzane ale nie można ich księgować. Problem jest najprawdopodobniej z zerem ktore się dopisuje do "FVS" czyli pojawia się "FVS 0" o czym jest informacja w błędzie, ale nie mogę znaleźć skąd się to bierze. Jeśli ktoś może zerknąć to proszę o pomoc. |
Autor: | wrob [ 2011-10-12, 15:26 ] |
Tytuł: | |
Jak nie grzebals w szablonie - to raczej jest on dobry - lepiej przyjrzyj sie temu co importujesz - skad wogole masz ten plik ktory importujesz (z jakiego programu itp)? |
Autor: | bonmis [ 2011-10-13, 09:30 ] |
Tytuł: | |
Oczywiście że było grzebane ale nie tak bardzo. Poniżej przykład importowanego dokumentu, sama sekcja dokument, kontrahenci importują się bez problemu. Skąd bierze się dokument FVS 0 ?? Nie ma takiego dokumentu. Nie mogę tego namierzyć :( Kod: Dokument{ Magazyn =02 kod =1361/02/2011/SP data =2011-05-04 datasp =2011-05-04 Dane nabywcy{ khid =6426 khkod =SEAT I Inne khnip =521-103-33-33 kraj{ symbol =PL } } kwota =33.46 symbol FK =SP obsluguj jak =SP FK nazwa =1361/02/2011/SP opis FK =Sprzedaż towarów termin =2011-05-18 Zapis{ strona =WN pozycja =0 kwota =33.46 konto =201-2-1-K IdDlaRozliczen =0 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =0 } Zapis{ strona =MA pozycja =0 kwota =6.26 konto =221-1 IdDlaRozliczen =1 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =2 } Zapis{ strona =MA pozycja =0 kwota =27.20 konto =729 IdDlaRozliczen =2 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =1 } Rejestr{ okres =2011-05-01 ABC = stawka1 =23 brutto1 =33.46 netto1 =27.20 vat1 =6.26 sumanetto =27.20 sumavat =6.26 } Transakcja{ IdDlaRozliczen =-1 Termin =2011-05-18 } } Bonmis |
Autor: | wrob [ 2011-10-13, 18:20 ] |
Tytuł: | |
Poszukaj w okolicy dokumentu 3235/05 w pliku A w tym przykladzie ktory dales to akurat chyba jest wszystko ok z pozycja i rozbicie - poszukaj tego blednego najpierw :) |
Autor: | bonmis [ 2011-10-14, 09:51 ] | ||
Tytuł: | |||
No tak tylko że ten błąd pojawia się przy każdym dokumencie. Screen poniżej. Da się zaksięgować jak się wejdzie w dokument w buforze i zrobi zapisz :) . Ale chciałbym zrobić porządek z tym i znaleźć bład dla samej zasady
|
Autor: | helperman [ 2011-11-08, 00:21 ] |
Tytuł: | |
bonmis pisze: Jeszcze tylko okno z błedem z programu żeby było czytelniej. Może ktoś podpowie co onacza ten błąd i gdzie go szukać w szablonie :) Nie wiem, czy sobie już z tym poradziłeś, ale błąd jest banalny i polega na nieprawidłowym numerowaniu w pliku rozbicia zapisów po stronie ma. Masz ponumerowane odwrotnie. Zamiast Cytuj: Zapis{ strona =MA pozycja =0 kwota =6.26 konto =221-1 IdDlaRozliczen =1 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =2 } Zapis{ strona =MA pozycja =0 kwota =27.20 konto =729 IdDlaRozliczen =2 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =1 } Powinno być: Kod: Zapis{ strona =MA pozycja =0 kwota =6.26 konto =221-1 IdDlaRozliczen =1 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =1 } Zapis{ strona =MA pozycja =0 kwota =27.20 konto =729 IdDlaRozliczen =2 NumerDok =1361/02/2011/SP opis =SPRZEDAŻ ZapisRownolegly =0 Rozbicie =2 } A tym błędem z FVS0 nie przejmuj się, jak dopiszesz konta VAT w ustawieniach Konta Rejestracji VAT, to nie dostaniesz żadnego błędnego komunikatu. Pozdrawiam |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |