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

Modyfikacja raportu Lista dokumentów z pozycjami
https://forum.mix-soft.pl/viewtopic.php?f=15&t=2413
Strona 1 z 1

Autor:  lechuedat [ 2010-10-18, 22:39 ]
Tytuł:  Modyfikacja raportu Lista dokumentów z pozycjami

Witam
Klient chciał, aby zmodyfikować w/w raport tak, aby do danych Kontrahenta i Odbiorcy dopisać NIP, Regon lub Pesel; ewentualnie dodać dodatkowe kolumny NIP, Regon lub Pesel.
Wybrałem pierwszą opcję, bo wydawała mi się łatwiejsza ;-)
Zmodyfikowałem kod i dopisałem :
Kod:
sPom = GetField(dk,"khNazwa")
   if Getfield(dk,"KhNIP") then sPom += " NIP: "+Getfield(dk,"KhNIP")
   if Getfield(khdk,"Regon") then sPom += " Regon: "+Getfield(khdk,"Regon")
   if Getfield(khdk,"Pesel") then sPom += " Pesel: "+Getfield(khdk,"Pesel")

   g_Values(JakiIndex("Kontrahent")).Set( (Using "%L",lp1) , sPom )


Efektem tego jest wydruk, na którym program drukuje dane klienta (NIP, Regon lub Pesel), ale NIP jest wpisywany poprawny, natomiast Regon i Pesel są wpisywane kolejnego Kontrahenta z listy. Gdzie tkwi błąd? Czy powodem jest to, że pole NIP jest w dk, a Regon i Pesel w khdk?

Autor:  lechuedat [ 2010-10-18, 22:44 ]
Tytuł: 

Taki sam efekt jest jak wstawię taki kod:
Kod:
g_Values(JakiIndex("Kontrahent")).Set( (Using "%L",lp1) , GetField(dk,"khNazwa")+" NIP: "+Getfield(dk,"KhNIP")+" Regon: "+Getfield(khdk,"Regon")+" Pesel: "+Getfield(khdk,"Pesel"))

Drukuje się Nazwa i NIP pierwszego kontrahenta, a Regon i Pesel drugiego kontrahenta z listy. :cry:

Autor:  Misiek [ 2010-10-19, 08:00 ]
Tytuł: 

lechuedat pisze:
Taki sam efekt jest jak wstawię taki kod:
Kod:
g_Values(JakiIndex("Kontrahent")).Set( (Using "%L",lp1) , GetField(dk,"khNazwa")+" NIP: "+Getfield(dk,"KhNIP")+" Regon: "+Getfield(khdk,"Regon")+" Pesel: "+Getfield(khdk,"Pesel"))

Drukuje się Nazwa i NIP pierwszego kontrahenta, a Regon i Pesel drugiego kontrahenta z listy. :cry:


Witaj,

Kod:
#include "Engine do listy dokumentów"

// ***************************************** //
// w tym miejscu otwórz bazę danych Kontrahentów //
// ***************************************** //

int errL = SetTaggedPos(FS)
long id, lp1, i
float wartNetto, wartBrutto
while errL
   lp1 +=1
   id = GetLineId()

   SetKey ( dk,"id" )
   SetKeySeg(dk,"id",id )
   if GetRec(dk,EQ ) then Error "Błąd wewnętrzny programu"

   g_Values(1).Set( (using "%L",lp1) , (using "%L",lp1) )
   g_Values(JakiIndex("Typ dokumentu")).Set( (using "%L",lp1) , GetField(dk,"nazwa") )
   g_Values(JakiIndex("Nr dokumentu")).Set( (using "%L",lp1) , GetField(dk,"kod") )
   g_Values(JakiIndex("Kontrahent")).Set( (using "%L",lp1) , GetField(dk,"khNazwa") )
   g_Values(JakiIndex("Adres")).Set( (Using "%L",lp1) , BuildAdresKh(dk)+" "+Getfield(dk,"khMiasto")+" "+ getfield(dk,"khKodPocz"))
   g_Values(JakiIndex("Odbiorca")).Set( (Using "%L",lp1) , Getfield(dk,"OdNazwa"))
   g_Values(JakiIndex("Adres Odbiorcy")).Set( (Using "%L",lp1) , BuildAdresOd(dk)+" "+Getfield(dk,"OdMiasto")+" "+Getfield(dk,"OdKodPocz"))
   g_Values(JakiIndex("Data")).Set( (using "%L",lp1) , GetField(dk,"data") )
   
// ***************************************** //
// w tym miejscu ustaw bazę Kontrahentów po ID kontrahenta, które pobierzesz z bazy Dokumentów - może to być Kontrahent lub Odbiorca, wedle życzenia //
// ***************************************** //

   t.PrintRows(1, lp1 , lp1)

   PobierzDane(id)
   t.PreparePlace(2)
   i = size( Pozycje )

   wartNetto      = 0
   wartBrutto   = 0


Poradzisz sobie ?

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