Udało się.
Okazało się, że w sekcji rejestr należało dopisać $pozycja=6,
niestety twórcy dokumentacji o tym zapomnieli.
Jak do tego doszedłem?
1. Wpadłem na pomysł sprawdzenia pól w bazie danych.
2. Przy pomocy Raporty -> Definiowanie -> Dodaj stworzyłem nowy raport o następującej treści:
Cytuj:
// Raport generujący DDF'y
Dzięki temu symfonia utworzyła pliki *.ddf potrzebne do wczytania swoich plików jako bazę w Pervasivie.
3. Przy pomocy Pervasiva (P Control Center) stworzyłem "nową" bazę danych w folderze w którym znajduje się firma. (w DBNAme option odznaczyłem tworzenie plików katalogowych)
4. Otworzyłem tabelę "buf_dokum_2009" w której znajdowały się pliki z buforu 2009, tam porównałem dane pliku z importu specjalnego z tym ręcznym. Nie różniły się.
5. Otworzyłem tabelę "buf_rejVat" gdzie umieszczone są wszystkie rejestry. Tam okazało się, że ręcznie utworzony rejestr posiadał pole "kontrahent" [6] oraz "pozycja" [6]. Ten z importu specjalnego tylko "kontrahent".
6. Dopisałem w szablonie importu:
Cytuj:
Dokument{
Rejestr{
(...)
$pozycja = 6
}
}
Import działa.
Dziękuję za zainteresowanie tematem. Gdyby komuś się kiedyś cokolwiek przydało, to załączam swój szablon. Jednak wcześniej opiszę.
Plik importowany
Cytuj:
Pa4;00064;2009-03-17;2009-03-17;2807,39;3397,00;2620,57;576,53;186,82;13,08
Pa4;00065;2009-03-18;2009-03-18;1110,92;1328,70;933,44;205,36;177,48;12,42
gdzie:
Cytuj:
kod sklepu;nr paragonu;data pocz;data koń.;suma_netto;suma_brutto;netto22;vat22;netto7;vat7
Teraz plik szablonu z opisami:
Cytuj:
#opis "Paragony", "*.TXT (Pliki tekstowe)" //
#format "SDF" //
#data "r-m-d" //
#opisy "" //
#Disable "1" //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
Section("","Dokument")
{
// WYBÓR SKLEPU I KONT
SWITCH([1])
{
CASE "Pa4"
@@skrotKasy = "LDA"
@@kontoNetto = "731-2-4"
@@kontoKasy = "104"
BREAK
CASE "Pa6"
@@skrotKasy = "JUR"
@@kontoNetto = "731-2-5"
@@kontoKasy = "105"
BREAK
// DOPISAĆ POZOSTAŁE
}
// WCZYTANIE DANYCH Z PLIKU
@@kontoVat = "221-2"
@@nrParagonu = [2]
@@Data = [3]
@@NettoR = [5]
@@BruttoR = [6]
@@VatR = SUM2([8],[10])
@@Netto22 = [7]
@@Vat22 = [8]
@@Brutto22 = SUM2([7],[8])
@@Netto7 = [9]
@@Vat7 = [10]
@@Brutto7 = SUM2([9],[10])
// TWORZENIE SZABLONU IMPORTU
$Klucz = @@skrotKasy
$Skrot = @@skrotKasy
$Numer = @@nrParagonu
$Nazwa = CAT(@@skrotKasy," ",@@nrParagonu,"/09")
$Tresc = ""
$Datadok = @@Data
$Dataokr = @@Data
$DataOper = @@Data
$Kwota = @@BruttoR
$SaldoPoczRK = "oblicz"
$SaldoZapRK = "oblicz"
$KontoKasy = @@kontoKasy
$Kontrahent = "0"
$znaczniki = "0"
MakeSec("Rejestr")
{
$Klucz = $$Klucz
$abc = "1"
$okres = @@Data
$netto1 = @@Netto22
$vat1 = @@Vat22
$brutto1 = @@Brutto22
$stawka1 = "22"
$netto2 = @@Netto7
$vat2 = @@Vat7
$brutto2 = @@Brutto7
$stawka2 = "7"
$sumanetto = @@NettoR
$sumavat = @@VatR
$brutto = @@BruttoR
$podatek = @@NettoR
$dozaplaty = @@BruttoR
$kontoNetto = @@kontoNetto
$kontoVat = @@kontoVat
$kontoBrutto = @@kontoKasy
$pozNum = "7"
$dataDok = @@Data
$Kontrahent = "6"
$pozycja = "6"
}
MakeSec("Zapis")
{
$strona = 0 //Wn
$pozycja = 0
$konto = @@kontoKasy
$numerDok = CAT("paragony ",@@skrotKasy," ",@@nrParagonu,"/09")
$opis = "netto"
$kwota = @@NettoR
$kontoRap = 1
$IdDlaRozliczen = "7"
}
MakeSec("Zapis")
{
$strona = 1 //Ma
$pozycja = 0
$konto = @@kontoNetto
$numerDok = CAT("paragony ",@@skrotKasy," ",@@nrParagonu,"/09")
$opis = "netto"
$kwota = @@NettoR
$IdDlaRozliczen = "7"
}
MakeSec("Zapis")
{
$strona = 0 //Wn
$pozycja = 1
$konto = @@kontoKasy
$numerDok = CAT("paragony ",@@skrotKasy," ",@@nrParagonu,"/09")
$opis = "vat"
$kwota = @@VatR
$kontoRap = 1
$IdDlaRozliczen = "7"
}
MakeSec("Zapis")
{
$strona = 1 //Wn
$pozycja = 1
$konto = @@kontoVat
$numerDok = CAT("paragony ",@@skrotKasy," ",@@nrParagonu,"/09")
$opis = "vat"
$kwota = @@VatR
$IdDlaRozliczen = "7"
}
}
Oczywiście z Kasy oraz Rejestry VAT wymagają uzgodnienia (jednorazowego), natomiast kontrahent dodawany jest automatycznie (w tym przypadku ten z pozycji 6.
Pozdrawiam
Ryszard