Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-05-25, 23:59x



Odpowiedz w temacie  [ Posty: 3 ] 
Gdzie znajdę dane korekty 
Autor Wiadomość

Rejestracja: 2012-10-09, 15:53
Posty: 1
Post Gdzie znajdę dane korekty
Handel 2012. W bazie DP w rekordzie pozycji faktury korygującej w ilości ma -1 czyli tyle o ile skorygowałem pozycję.
Gdzie jest informacja ile zostało po korekcie?


2012-10-09, 15:58
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2008-04-18, 18:52
Posty: 5169
Pomógł: 59
Post Re: Gdzie znajdę dane korekty
taka informacja to chyba redundancja by była - przecież zawsze możesz sobie odjąć korektę od głównego dokumentu :)


2012-10-09, 16:23
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3985
Pomógł: 445
Post Re: Gdzie znajdę dane korekty
Poniżej kod ładujący dane korekty do obiektu typu InfoPoz
Kod:
#include "Definicje rekordow"

InfoPoz mpozycjeBaza(1)


//------------------------------------------------------------
long sub WczytajDokument(long idKorek)
//------------------------------------------------------------   
// idKorek id korekty

// indeks dla pozycji
mapValue mvPoz
mvPoz.Type(int)

long middok

basedk dk_drukowany
dk_drukowany.Open()
dk_drukowany.GetRecById( idKorek )

long id_pierwotny = dk_drukowany.GetField( "idDokKoryg" )

Shrink mpozycjeBaza,-1


baseDK dk_pi
baseDP dp_pi

baseDK dk_kor
baseDP dp_kor

int err_pi, err_kor
int err_pi_poz, err_kor_poz
int dalejNieLiczPrzed = 0
int dalejNieLiczPo = 0


long lPoz

dk_pi.Open()
dp_pi.Open()
dk_kor.Open()
dp_kor.Open()

   
   dk_pi.SetKey("id")
   dk_pi.SetKeySeg("id",id_pierwotny)

   err_pi = dk_pi.GetRec(EQ)   

   if err_pi == 0 then   
   
      WczytajDokument = dk_pi.GetField("id")
      mvPoz.Clear()
   middok = dk_pi.GetField("id")

   while middok != 0

   dk_pi.GetRecById( middok )
   err_pi_poz = 0

         if DalejNieLiczPrzed == 1 then dalejNieLiczPo = 1
         IF middok == idKorek then DalejNieLiczPrzed = 1
   
         dp_pi.SetKey("super")
         dp_pi.SetKeySeg("super", middok)
         dp_pi.SetKeySeg("lp", 0)

         err_pi_poz = dp_pi.GetRec(GE)

      
            while err_pi_poz == 0
               if dp_pi.GetField("super") != dk_pi.GetField("id") then exit
               
                     if mvPoz.Get(  (using "%d",dp_pi.GetField("lp")), -1 ) == -1 then // nie ma jeszcze
                        mvPoz.Set(  (using "%d",dp_pi.GetField("lp")), dp_pi.GetField("lp") )

                        if mpozycjeBaza(1).Lp != 0 then Grow mpozycjeBaza,1
                        lPoz = Size(mpozycjeBaza)            

                     else
                        lPoz =    mvPoz.Get(  (using "%d",dp_pi.GetField("lp")) )   

                     endif

            mpozycjeBaza(lPoz).Lp = dp_pi.GetField("lp")
            mPozycjeBaza(lPoz).Opis = dp_pi.GetField( "opis" )   
            mPozycjeBaza(lPoz).Kod = dp_pi.GetField( "kod" )
            mPozycjeBaza(lPoz).idPom = dp_pi.GetField("idhandl")
            mPozycjeBaza(lPoz).idtw = dp_pi.GetField ( "idtw" )
            mPozycjeBaza(lPoz).sww = dp_pi.GetField( "opisDod" )
            mPozycjeBaza(lPoz).Jm = dp_pi.GetField( "jm" )
            mPozycjeBaza(lPoz).JmWP = dp_pi.GetField("jmwp" )
            mPozycjeBaza(lPoz).cenabazapl = dp_pi.GetField("cenabazapl")


         mPozycjeBaza(lPoz).kurs=1
         mPozycjeBaza(lPoz).Ilosc += dp_pi.GetField( "ilosc" )
         mPozycjeBaza(lPoz).IloscWP += dp_pi.GetField ("iloscwp" )

         if dp_pi.GetField("jmwp" ) != dp_pi.GetField( "jm" ) then
            if mPozycjeBaza(lPoz).Ilosc && mPozycjeBaza(lPoz).IloscWP then
               mPozycjeBaza(lPoz).Cena += dp_pi.GetField("cena" )/(mPozycjeBaza(lPoz).Ilosc / mPozycjeBaza(lPoz).IloscWP)
               mPozycjeBaza(lPoz).CenaWal += dp_pi.GetField("cenawal" )/(mPozycjeBaza(lPoz).Ilosc / mPozycjeBaza(lPoz).IloscWP)
            endif
            if mPozycjeBaza(lPoz).IloscWP then mPozycjeBaza(lPoz).PrzelJMDod = mPozycjeBaza(lPoz).Ilosc / mPozycjeBaza(lPoz).IloscWP
         else
            mPozycjeBaza(lPoz).Cena += dp_pi.GetField("cena" )
            mPozycjeBaza(lPoz).CenaWal += dp_pi.GetField("cenawal" )
            mPozycjeBaza(lPoz).PrzelJMDod = 1
         endif

         mPozycjeBaza(lPoz).cenaWWal+=dp_pi.GetField("cenawal")
         mPozycjeBaza(lPoz).CenaWP += dp_pi.GetField("cena" )
         mPozycjeBaza(lPoz).CenaWPWal += dp_pi.GetField("cenawal" )
         mPozycjeBaza(lPoz).wartoscNetto += dp_pi.GetField("wartNetto" )
         mPozycjeBaza(lPoz).Clo=dp_pi.GetField("CenaBazaPL") //clo
         mPozycjeBaza(lPoz).Akcyza=dp_pi.GetField("IloscJedn") //akcyza
         mPozycjeBaza(lPoz).wartoscNettoWal += dp_pi.GetField("walNetto")


            mPozycjeBaza(lPoz).wartoscBruttoWal += dp_pi.GetField("walBrutto")
            if dp_pi.GetField("stvati")!=255 then
               mPozycjeBaza(lPoz).kwotaVAT += dp_pi.GetField("wartVAT" )
               mPozycjeBaza(lPoz).wartoscBrutto += dp_pi.GetField("wartNetto" ) + dp_pi.GetField("wartVAT" )
               if !( dp_pi.GetField("typi" ) & 0x10) then mPozycjeBaza(lPoz).stawka = dp_pi.GetField("stvati" ) + 1
               
            else
               if !(dp_pi.GetField("typi" ) & 0x10) then
                  mPozycjeBaza(lPoz).stawka = -1
                  mPozycjeBaza(lPoz).wartoscBrutto += dp_pi.GetField("wartNetto" )
               endif
            endif


            err_pi_poz = dp_pi.GetRec(NX)
            wend

      middok = dk_pi.GetField("idkorekt")
   wend

   else // nie zmaleziono dokumentu pierwotnego
   
      message using "Błąd, nie znaleziono dokumentu id=%l" + lf, idKorek
   endif// nie zmaleziono dokumentu pierwotnego


dk_pi.Close()
dp_pi.Close()
dk_kor.Close()
dp_kor.Close()

int i


endsub


// TEST

WczytajDokument(65678)

int i
for i = 1 to i > Size(mpozycjeBaza)

   print using "%d %s %f" + lf, mPozycjeBaza(i).lp,mPozycjeBaza(i).kod, mPozycjeBaza(i).ilosc

next i


Załącznik:
hmcalakor01.jpg
hmcalakor01.jpg [ 35.61 KiB | Przeglądany 2021 razy ]


Mechanizm ten używany jest w rozwiązaniu drukującym fakturę korygującą z wszystkimi pozycjami przed korektą i wszystkimi po.


Załączniki:
Komentarz: Przykład faktury korygującej z wszystkimi pozycjami przed korektą i wszystkimi po.
03 Druga KOREKTA.pdf [27.35 KiB]
Pobrany 179 razy

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl
2012-10-10, 16:49
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 3 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Zamiana nr korekty - usunięcie korekty - wystawienie nowej

w Programy Handlowe

kaljaam

4

6763

2014-12-04, 10:45

mellos Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. W której tabeli znajdę kraj Kontrahenta?

w Programy Handlowe

ciezkitemat

1

2047

2021-04-06, 15:01

rafal Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Numer korekty f-ry na wydruku korekty WZ-ki

w Programy Handlowe

zz

6

4838

2009-12-03, 16:50

krzysiek Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Gdzie znajdę instalki starszych wersji Mała Księgowość ?

w Programy Księgowe

arek_f

1

3277

2013-02-28, 12:11

rafal Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 6 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

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant