|
|
|
|
Strona 1 z 1
|
[ Posty: 2 ] |
|
Autor |
Wiadomość |
slawekdw
Rejestracja: 2011-10-21, 09:48 Posty: 4
|
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)
}
}
}
|
2011-10-21, 10:12 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
helperman
Rejestracja: 2011-04-17, 21:24 Posty: 78
|
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.
|
2011-11-04, 13:04 |
|
|
|
Strona 1 z 1
|
[ Posty: 2 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 19 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|