mojaSymfonia FORUM
https://forum.mix-soft.pl/

Import do FK (format 2.0)
https://forum.mix-soft.pl/viewtopic.php?f=16&t=825
Strona 1 z 1

Autor:  aerostat [ 2009-05-08, 10:41 ]
Tytuł:  Import do FK (format 2.0)

Z wielu programów stosunkowo łatwo jest uzyskać dane w postaci CSV, więc import do FK w formacie 2.0 "aż się prosi..."

Próbowałem ostatnio zmodyfikować std szablon CDNF_PPK tak, żeby zamiast konta syntetycznego 201/202 dla każdej płatności można było uzupełnić konkretną analitykę kontrahenta.
Zgodnie z tym co było opisywane w wątku "import faktur" dodałem sekcję tworzącą kontrahenta i zmieniłem konto dodając K i klucz:

(...)

Section( @sname, "", "REPEAT" )
{

MakeSec( "kontrahent")
{
$autoinsert = 1
$aktywny = 1
rex([5],":b{*}:b$")
@@knt = @rex1
$klucz=CAT("XL/",@@knt)
@@kth=$klucz
$skrot=@@knt //kod kontrahenta
$nazwa=""
}

MakeSec( "zapis")
{
$pozycja = @@poz
$rozbicie = 0
$strona = 0
$kwota = [12]
$numerDok = Cat([6]," ", [7], [8])
$opis = [9]
$typOpisu = 1
if( Equal([4], "1")) //KP
{
$konto = Def("Konto_KASY")
$kontoRap = 1
}
else
//$konto = Def("Konto_KW")
$konto = Cat(Def("Konto_KW"),"-K",@@knt)

}
MakeSec( "zapis")
{
$pozycja = @@poz
$rozbicie = 1
$strona = 1
$kwota = [12]
$numerDok = Cat([6]," ", [7], [8])
$opis = [9]
$typOpisu = 1
if( Equal([4], "1")) //KP
//$konto = Def("Konto_KP")
$konto = Cat(Def("Konto_KP"),"-K",@@kth)

else
{
$konto = Def("Konto_KASY")
$kontoRap = 1
}
}
@@poz = SUM0(@@poz, 1)
}
}


Niestety :(
1. podczas wczytywania nie następuje uzgadnianie kontrahentów
2. chyba w związku z 1 nie następuje zamiana klucza na odpowienio uzgodnioną analitykę

Co jest nie tak?

Fragment wczytywanego pliku (std raport kasowy z CDN XL) w załączniku

Załączniki:
Kasa.zip [480 bajtów]
Pobrany 314 razy

Autor:  wrob [ 2009-05-09, 02:39 ]
Tytuł: 

Uzgadnianie dziala tylko dla dokumentów majacych kontrahenta w dokuemncie a nie w pozycji.
Czyli np dla FVS/FVZ

W wypadku importu kasy z obcych programów pozostaje dopisanie własnego "uzgadniacza" - albo robienie importu przez ITG (tam mozna uzyc obiektu synchrosubject)

Autor:  Jarek75 [ 2009-05-11, 08:22 ]
Tytuł: 

Sekcja kontrahent nie może należeć do sekcji dokument. Jeżeli uda Ci się ją wyciągnąć poza dokument, to zagra. Na przykład przerobiłem Twój szablon tak, by nie robił nic poza importem kontrahentów. W najprostszym przypadku robisz zatem 2 importy: jeden dla uzgodnienia kontrahentów, drugi dla wgrania raportów.

Kod:
(...)
//-----------------------------------------------------------
         
Section("", "kontrahent")
{
$autoinsert = 1
$aktywny = 1
rex([5],":b{*}:b$")
@@knt = @rex1
$klucz=CAT("XL/",@@knt)
@@kth=$klucz
$skrot=@@knt //kod kontrahenta
$nazwa=""
}

Autor:  wrob [ 2009-05-11, 14:04 ]
Tytuł: 

To niewiele da takie rozbicie na dwa importy problem polega na tym ze jak importujemy potem juz dokument - (raport kasowy) to tam nie mamy jak sie dowiedziec o numer uzgodniny w FK czyli nie mamy czym zastapic X w 201-X :-(

Autor:  Jarek75 [ 2009-05-11, 14:34 ]
Tytuł: 

Nie musimy się niczego dowiadywać. Podajemy konto o numerze 201-Kxxx, a program sam szuka w bazie uzgodnień, co oznacza w danym przypadku xxx. xxx nie może zawierać myślnika, ostrożny byłbym też z innymi znakami specjalnymi.

Jest jeszcze jeden warunek: oba importy muszą odwoływać się do tych samych plików uzgodnień (plik IE_?????.DAT). Uzyskuje się to tworząc jeden import na podstawie drugiego albo manipulując w pliku FIRMA.INI w katalogu firmy.

Wiadomo, że znacznie lepiej zrobić wszystko w jednym imporcie. Chyba się da na zasadzie:
Kod:
Section("", "")
...
MakeSec("Kontrahent")
...
MakeSec("Dokument")

Autor:  wrob [ 2009-05-11, 15:59 ]
Tytuł: 

No wlasnie ten myk z K nie dziala :(

Autor:  Jarek75 [ 2009-05-12, 09:29 ]
Tytuł: 

Co za niedowiarek...

Obrazek

Wprowadziłem jeszcze drobne modyfikacje do szablonu importującego kontrahentów.

Kod:
$autoinsert = 0
$nazwa=[10]


Szablon CDNF_PPK_aero_all.AMS robi wszystko w jednym przebiegu.

Załączniki:
aero.zip [1.88 KiB]
Pobrany 451 razy

Autor:  wrob [ 2009-05-12, 23:41 ]
Tytuł: 

Zaraz bede testowal :-) :-)

Autor:  lech206 [ 2012-12-09, 17:24 ]
Tytuł:  Re: Import do FK (format 2.0)

Mam problem z importem RK.
Do pliku szablonu importu raportu kasowego dodałem poprzez execute wczytanie pliku importu przed normalnym wczytaniem RK który tworzy najpierw sekcje kontrahentów. Ale niestety tworzy mi pierwszego a pozostałych mija. Dlaczego?

Podczas debugowania wyświetlają mi się 3 sekcje wyjściowe kontrahent ale niestety uzgadnianiu poddawana jest tylko jedna (oierwsza).


Dodam że flik jest formatu SUBIEKT bo przy COMMA nie mam problemu.

szablon importu kontrahentów z RK
Kod:
#format                    "subiekt"        //
#separator_01                 "."           //kropka
#KontoKasy                  "100"


Section("INFO", "")
{
   Section("","")
   {     
      switch([1])
      {
      case "852"  //ISO Latin II
         Def("TYP_KODOWANIA", "Latin2")
         break         
      case "620"  //Mazowia DOS
         Def("TYP_KODOWANIA", "Mazovia")
         break         
      case "1250" //ANSI Windows EE,                     
         break   //bez kodowania
      case else
         //10029 = Macintosh EE,
         //437, 850, 0, 1252, 10000 = bez polskich liter
        }
      Info("Typ kodowania: ",[1])
   }               
}
Section("NAGLOWEK","")
{                           
   
   Section("","")
   {               
      
   }
   
   Section("ZAWARTOSC","")
   {
      Section("","","REPEAT" )
      {
         
         makesec("kontrahent")
         {
            $klucz = [1]
            $skrot = [2]
            $nazwa = [2]
            
         }   
      }
   }
}                                   


plik importu
Kod:
[INFO]
1250,"System XXX"

[NAGLOWEK]
"RK","LP nr 1 za 08/2012","RK 10/2012",20120801000000,20120831000000

[ZAWARTOSC]
302,"BANK ",20120804000000,"KP-10","za fa 54654121/2012","KP",1500.00
300,"HUTEX",20120804000000,"KW-10","za fa 54654121/2012","KW",99.97
301,"HUTEX 1",20120804000000,"KW-10","za fa 54654121/2012","KW",30.00

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/