|
|
Strona 1 z 1
|
[ Posty: 7 ] |
|
Autor |
Wiadomość |
Adi
Rejestracja: 2010-09-21, 09:20 Posty: 14
|
Polecenie RUN w pętli
Witam Czy ktoś próbował uruchamiać polecenie RUN w pętli. Musze wygenerować wydruki pdf dla wielu dokumentów w celu eksportu na stronę www. Niestety wywołanie RUN w pętli powoduje koniec pętli. Nie wykonuje się dla kolejnych wywołań. Próbowałem wstawić pętle opóźniającą, ale nic nie daje.
|
2015-03-20, 10:23 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Polecenie RUN w pętli
pokaż kawałek kodu
|
2015-03-20, 10:27 |
|
|
Adi
Rejestracja: 2010-09-21, 09:20 Posty: 14
|
Re: Polecenie RUN w pętli
Kod: err1 = SetTaggedPos(FS) while err1 id = GetLineId() Npdf = Plik_pdf(id) NEpp = Plik_Epp(id) NCsv = Plik_Csv(id)
//teraz xml buf = Nepp replace ".epp",".xml" Nxml = buf
//teraz zapisz w pliku setkey(dk,"id") setkeyseg(dk,"id",id) err = getrec(dk,EQ) buf = getfield(dk,"opis") delete " " delete " " delete " " delete "/" delete "/" delete "/" TNumer = buf if TNumer=="" then Tnumer = using "%l",id f.StartElement("Faktura") f.Element("NumerFV","<[!CDATA[" + getfield(dk,"kod")+"]]>") f.Element("DataWyst","<[!CDATA[" + getfield(dk,"data")+"]]>") f.Element("DataSprz","<[!CDATA[" + getfield(dk,"datasp")+"]]>") f.Element("TerminZapl","<[!CDATA[" + getfield(dk,"plattermin")+"]]>") skwota = using "%12.4f",GetField(dk,"walbrutto") f.Element("WartoscFV","<[!CDATA[" + skwota+"]]>") f.Element("NumerZam","<[!CDATA[" + Tnumer+"]]>") f.Element("PlikPdf","<[!CDATA[" + Npdf+".pdf"+"]]>") f.Element("PlikCsv","<[!CDATA[" + Ncsv+"]]>") f.Element("PlikEpp","<[!CDATA[" + Nepp+"]]>") f.Element("PlikXml","<[!CDATA[" + Nxml+"]]>")
f.EndElement("Faktura")
// teraz xml PobierzPola( rootEl ,"Firma", 1, "KH") PobierzPola( rootEl ,"Info", 1, "XT")
PobierzPola( rootEl ,"Dokument", GetLineId( Id ), "DK")
p = xml.createProcessingInstruction("xml","version='1.0' encoding='windows-1250' standalone='no'") xml.insertBefore(p,xml.childNodes(0))
xml.Save( Pkatalog + NXml ) Siddok = using "%l",id RUN("Dokument VAT I DRUK",-2,PKatalog,"",Siddok,"","0","",Npdf,"") err1 = SetTaggedPos(NX) wend
|
2015-03-20, 11:46 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Polecenie RUN w pętli
Dlaczego nazwę pliku przekazujesz w Arg5? Oto działający przykład Kod: long err = SetTaggedPos(FS) long id
while err id = GetLineId(err) Run("Dokument VAT I", -2, "e:\\tmp\\", "", (Using "%l", id), "", "0", "", "", "")
err = SetTaggedPos(NX) wend Z tym, że ja mam na początku raportu Dokument VAT I dodaną linię Kod: pdfDisp.Filename = arg1 Co powoduje, że nazwa tworzonego pliku to id_dokumenty.pdf
|
2015-03-20, 12:37 |
|
|
Adi
Rejestracja: 2010-09-21, 09:20 Posty: 14
|
Re: Polecenie RUN w pętli
Cześć Przekazuję w arg5 ponieważ tworzę dla jednego dokumentu kilka dokumentów wynikowych csv,xml, itd. Dla klienta pobierającego ze strony www nazwa pliku 345_dokument.pdf nic nie mówi, natomiast FV123_2015.pdf już tak. Pierwotnie generowanie pdf miałem w podprogramie też nie działa. Czy twój przykład działa dla wielu wybranych dokumentów.?
|
2015-03-23, 09:07 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Polecenie RUN w pętli
Tak, przykład działa dla wielu zaznaczonych dokumentów.
|
2015-03-23, 09:29 |
|
|
Adi
Rejestracja: 2010-09-21, 09:20 Posty: 14
|
Re: Polecenie RUN w pętli
Miałeś racje działa w pętli, mój raport też, problem leżał w podprogramie do generowania xml.
|
2015-03-26, 08:11 |
|
|
|
Strona 1 z 1
|
[ Posty: 7 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 12 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
|
|
|
|