Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-22, 15:14x



Odpowiedz w temacie  [ Posty: 20 ]  Przejdź na stronę 1, 2  Następna
niepoprawne dzialanie raportow dla niektorych kontahentow 
Autor Wiadomość

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post niepoprawne dzialanie raportow dla niektorych kontahentow
handel 2011.1a z perv. mam problem z raportem pokazujacym liste z nieuregulowanymi fakturami i raportem listujacym ostatnie pozycje z faktur (oba pokazuja dokumenty ze wszystkich firm, z ktorych klient otrzymal ode mnie jakis towar). niespodziewanie kilka dni temu raporty zaczely sie zawieszac (pod sam koniec), ale tylko dla jednego kontrahenta (starego). dzisiaj problem pojawil sie dla kolejnego (rowniez starego)... a ten pierwszy po kilku dniach znow dziala. nic z tego nie rozumiem. z autorem dodatkow nie mam niestety kontaktu. co moge sprawdzic, zeby ktos byl w stanie mi tutaj pomoc ?

_________________
symfonia 2.0 po tuningu :)


2012-03-21, 17:14
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2008-04-18, 18:52
Posty: 5169
Pomógł: 59
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
A masz zrodla tych dodatkow ?


2012-03-21, 17:38
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
co rozumiesz przez zrodla :?: :oops:

_________________
symfonia 2.0 po tuningu :)


2012-03-21, 17:57
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2008-04-18, 18:52
Posty: 5169
Pomógł: 59
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
No czy masz niezakodowany kod źródłowy tych dodatków (w ambasicu) :)


2012-03-21, 18:00
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
tak, mam wszystko niekodowane. jak wylaczam raport to wywala mi jakis blad w include xxxx (nazwa firmy :P). ale to moze blad zwiazany z przerwaniem raportu recznie (sam nie wyskakuje). najbardziej dziwi mnie fakt, ze wszystko dzialalo ok od kilkunastu miesiecy bez zmian ani czy to w raportach czy to w danych kontrahenta. zapewne powinienem wkleic czesc kodu, ktora "sieje bledami" ?

_________________
symfonia 2.0 po tuningu :)


2012-03-21, 18:08
Wyświetl profil
Awatar użytkownika

Rejestracja: 2008-12-03, 21:11
Posty: 276
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
Załącz cały raport - będzie można sprawdzić go na bazach, które posiadamy do testów... Jeżeli będzie pracował u nas prawidłowo, winna może być Twoja baza.... czyli Kopia bezpieczeństwa i własnoręczne diagnostyki raportowe LUB zlecenie diagnostyki specjaliście od Symfonii, który je przetworzy i naprawi.

_________________
Pozdrawiam

Misiek DGTL Rzeszów


2012-03-21, 21:56
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
jak mozna zachowac formatowanie (wciecia) ?

//"niep2.sc","Nieuregulowane płatności",12604,0,2.2.8,SYSTEM
//"Raporty",1,14,62

#define bezNaglowka

#include "Formatowanie wydruków"
#include "xxxx - include"
Limit 18000
mapvalue l_ipn
l_ipn.type(long)
l_ipn.clear()

String mindata = "2000-01-01"

int spoznienie
int quickmode = 0
String pobranie
String notatka = ""
int isNotatka = 1




//*********************************************************************************
//********************************************************************************* PRINTOUT
//*********************************************************************************


nazwaRaportu = "Nieuregulowane płatności - wybrani kontrahenci" //nazwa raportu w nagłówku

int nc,tl,tr,tc,lp,nv,nvv
if !typWydruku then
str.wydruk ( 0, -1, 0 )
strona 100,130,50,20
nc = Styl ( "nagłówek",0 )
nv = Styl ( "nagłówek",-1 )
nv = Styl (Font (36,B,"Arial CE"),-1,"Styl1")
nvv = Styl (Font (36,B,"Arial CE"),1,"Styl1")
tl = Styl ( "tekst",-1 )
tc = Styl ( "tekst",0 )
tr = Styl ( "tekst",1 )
else
str.wydruk ( 1, -1, 1 )
strona 50,130,50,100
nc = Styl ( "10cpi",0 )
nv = Styl ( "10cpi",-1 )
nvv = Styl ( "10cpi",1 )
tl = Styl ( "10cpi",-1 )
tc = Styl ( "10cpi",0 )
tr = Styl ( "10cpi",1 )
endif

float wi = str.szer/100
int aKolTab(7) = wi*13,wi*17,wi*13,wi*11,wi*12,wi*12,wi*19
int aKolTab2(1) = wi*100
int aStylTabH(7) = nc,nc,nc,nc,nc,nc,nc
int aStylTabH2(1) = nv
int aStylTabH3(7) = tl,nc,nc,nc,nc,nvv,nc
int aStylTab(7) = tc,tc,tc,tc,tr,tr,tc
int tblH = tabela 7,7,aKolTab,aStylTabH
int tab1 = tabela 1,7,aKolTab,aStylTab
int tab2 = tabela 0,1,aKolTab2,aStylTabH2
int tab3 = tabela 0,7,aKolTab,aStylTabH3


int sub Opis(int pierwszy)
tabela #tblH, od 0,#Y+10
kolumna 1,"Z dnia"
kolumna 2,"Faktura"
kolumna 3,"Termin"
kolumna 4,"Spóźnienie"
kolumna 5,"Na kwotę"
kolumna 6,"Do zapłaty"
kolumna 7,"Uwagi"
koniec
endsub


int sub Podsumowanie(int ostatni)
endsub




String kodkh




//*********************************************************************************
//********************************************************************************* START ***********
//*********************************************************************************

int bylafirma,cntr, i, xxxx, currFirma
string mykod, term, dat, fNip
int pomin,bylorazem, licz
float dozap, nakwo
String pout
String kontrah(1)
Long kontrahi(1), id_kth
int ui,h, err
float nk,dz,fp
string da
int byldruk
float potall, potpob, potpoz
float total
String entry
int pdni, ping = 0


// robimy listy kodow i id kontrahenta

if (Arg0 == "OnKhChanged") then
quickmode = 1
kontrah(1) = Arg1
kontrahi(1) = val(Arg2)
isNotatka = val(Arg5)
grow kontrah,1
grow kontrahi, 1
else
//wybierz kod i id kontrahenta z bufora lub z dokumentow
err = SetTaggedPos(FS)
ui=1
while err
buf = getLine()
kontrah(ui) = Find Regular "\t*\t"
kontrah(ui) = mid(kontrah(ui),2,len(kontrah(ui))-2)
kontrahi(ui) = GetLineId()
grow kontrah, 1
grow kontrahi, 1
ui += 1
err = SetTaggedPos(NX)
wend
if size(kontrah) > 21 then
message "Można wskazać maksymalnie 20 kontrahentów!"
error ""
endif
endif


for i= 1 to i >= size(f)
bdk(i) = Open f(i) + "51dk.dat" for base "DK"
BaseError( bdk(i), 4 )
bbd(i) = Open f(i) + "51bd.dat" for base "BD"
BaseError( bbd(i), 4 )
bipn(i) = Open f(i) + "5ipn.dat" for base "IPN"
BaseError( bipn(i), 4 )
bpn(i) = Open f(i) + "51pn.dat" for base "PN"
BaseError( bpn(i), 4 )
bkh(i) = Open f(i) + "51kh.dat" for base "KH"
BaseError( bkh(i), 4 )
bZZ(i) = Open f(i) + "51zz.dat" for base "ZZ"
BaseError( bZZ(i), 4 )
bXT(i) = Open f(i) + "51xt.dat" for base "XT"
BaseError( bXT(i), 4 )
bNT(i) = Open f(i) + "51nt.dat" for base "NT"
BaseError( bNT(i), 4 )

SetKey(bkh(i),"id")
SetKeySeg(bkh(i),"id", 1)
GetRec(bKH(i), EQ)
if GetField(bKH(i),"kod") == "xxxx" then
xxxx = i
endif
if quickmode > 0 then
if GetField(bKH(i),"kod") == Arg4 then
currFirma = i
endif
endif
next i



Header(1)
for h = 1 to h > 1
for ui = 1 to ui >= size(kontrah) //dla kazdego z konrahentow..
mykod = kontrah(ui)
id_kth = kontrahi(ui)
Popup(1,"Przetwarzanie kontrahenta: " + mykod)
for i = 1 to i >= size(f)
Popup(2,"Firma: " + (using "%L", i))
pomin = 0
if i != xxxx then
Popup(3,"Wyszukiwanie kontrahenta")
SetKey(bKH(i),"kod")
SetKeySeg(bKH(i),"typi", 0)
SetKeySeg(bKH(i),"kod", mykod)
err_kh=GetRec(bKH(i), EQ)
if !err_kh then
id_kth = GetField(bKH(i),"id") //mamy ID kontrahenta w bazie konkretnej firmy
else
pomin = 1
print lf + "Dla " + f(i) + " nie znaleziono kontrahenta o kodzie " + mykod + lf
//message "Dla " + f(i) + " nie znaleziono kontrahenta o kodzie " + mykod
endif
if !pomin then
Popup(3,"Przeszukiwanie płatności")
SetKey(bipn(i),"khid")
SetKeySeg(bipn(i),"khid", id_kth)
SetKeySeg(bipn(i),"rodzaji", 0) //0-platnosc, 1-rozrachunek
SetKeySeg(bipn(i),"termin", mindata)
err_ipn=GetRec(bipn(i), GE)
while !err_ipn //tworzymy liste wszystkich niezaplaconych pozycji
//message kwota(GetField(bipn(i),"khid")) + kwota(id_kth) + kwota(GetField(bipn(i),"rodzaji"))
if GetField(bipn(i),"khid")==id_kth && GetField(bipn(i),"rodzaji")==0 then
if round(GetField(bipn(i),"kwota"),2)!=0 then
pobranie = ""
Popup(4,"Pobieranie dodatkowych danych")
SetKey(bpn(i),"id")
SetKeySeg(bpn(i),"id", GetField(bipn(i),"id"))
err_pn = GetRec(bpn(i), EQ)
if !err_pn then
SetKey(bDK(i),"id")
SetKeySeg(bDK(i),"id", GetField(bpn(i),"dkid"))
err_dk = GetRec(bDK(i), EQ)
if !err_dk then
SetKey(bZZ(i),"id")
SetKeySeg(bZZ(i),"id",GetField(bDK(i),"formaplatn"))
err_zz = GetRec(bZZ(i), EQ)
if !err_zz then
SetKey(bXT(i),"id")
SetKeySeg(bXT(i),"id",GetField(bZZ(i),"id1"))
err_xt = GetRec(bXT(i), EQ)
if !err_xt then
pobranie = GetField(bXT(i),"nazwa")
endif
endif
endif
entry = GetField(bdk(i),"data")
entry += "###"+(using "%l",GetField(bIPN(i),"id"))
entry += "##" + (using "%l",i)
// entry += "#fp#"+(using "%l",GetField(bDK(i),"formaplatn"))
entry += "#tp#"+GetField(bDK(i),"plattermin")
entry += "#da#"+GetField(bDK(i),"data")
entry += "#ko#"+GetField(bDK(i),"kod")
entry += "#nk#"+(using "%f.6",GetField(bDK(i),"netto") + GetField(bDK(i),"vat"))
entry += "#dz#"+(using "%f.6",GetField(bPN(i),"kwota"))
entry += "#po#"+pobranie
l_ipn.get( entry,0)+=1
endif
Popup(4,"")
endif
else
exit
endif
err_ipn=GetRec(bipn(i), NX)
wend
// dodatkowo dorzucamy dokumenty z bufora (dla dokumentow w buforze nie ma jeszcze utworzonych płatności)
Popup(3,"Przeszukiwanie bufora")
SetKey(bBD(i),"kh")
SetKeySeg(bBD(i),"khid", id_kth)
//SetKeySeg(bBD(i),"subtypi", 0) //0-platnosc, 1-rozrachunek
SetKeySeg(bBD(i),"data", "1001-01-01")
err_bd=GetRec(bBD(i), GE)
while !err_bd
if (quickmode == 0) || ((quickmode > 0) && ((i != currFirma) || (GetField(bBD(i),"id") != val(Arg3)))) then

if (GetField(bBD(i),"typi") == 0) && (GetField(bBD(i),"khid") == id_kth) then //tylko dok.sprzedaży
pobranie = ""
SetKey(bZZ(i),"id")
SetKeySeg(bZZ(i),"id",GetField(bBD(i),"formaplatn"))
err_zz = GetRec(bZZ(i), EQ)
if !err_zz then
SetKey(bXT(i),"id")
SetKeySeg(bXT(i),"id",GetField(bZZ(i),"id1"))
err_xt = GetRec(bXT(i), EQ)
if !err_xt then
pobranie = GetField(bXT(i),"nazwa")
endif
endif
entry = GetField(bBD(i),"data")
entry += "###"+"0"
entry += "##" + (using "%l",i)
// entry += "#fp#"+(using "%l",GetField(bBd(i),"formaplatn"))
entry += "#tp#"+GetField(bBD(i),"plattermin")
entry += "#da#"+GetField(bBD(i),"data")
entry += "#ko#"+GetField(bBD(i),"kod") + "/bufor"
entry += "#nk#"+(using "%f.6",GetField(bBD(i),"netto") + GetField(bBD(i),"vat"))
entry += "#dz#"+"------"
entry += "#po#"+pobranie
l_ipn.get( entry,0)+=1
endif
endif
err_bd=GetRec(bBD(i), NX)
wend
if ((quickmode == 1) && (len(notatka) == 0 || i == currfirma)) then
Popup(3,"Wyszukiwanie notatki")
SetKey(bNT(i),"super")
SetKeySeg(bNT(i),"typi", 0)
SetKeySeg(bNT(i),"baza", 20)
SetKeySeg(bNT(i),"super", id_kth)
err_nt = GetRec(bNT(i),EQ)
if (err_nt == 0) then
notatka = GetField(bNT(i),"opis")
endif
endif
endif //pomin
endif
next i


Popup(3,"Sortowanie")
l_ipn.Sort(-1)

if l_ipn.size() > 0 then
Tabela #TAB2, od 0, #Y-30*bylorazem + 10
print mykod
koniec
ping += 1
bylorazem = 0

for licz=1 to licz>l_ipn.size()
buf=l_ipn.getkey(licz)
spoznienie = 0
if find regular "^{*}/#/#/#{*}/#/#{*}/#tp/#{*}/#da/#{*}/#ko/#{*}/#nk/#{*}/#dz/#{*}/#po/#{*}$" then
popup(3,"Ustalanie spóźnienia")
term = (regular 4)
dat = data()
if term < dat then //spoznienie
while DataDni(term, spoznienie) < dat
spoznienie += 100
wend
while DataDni(term, spoznienie) > dat
spoznienie -= 10
wend
while DataDni(term, spoznienie) < dat
spoznienie += 1
wend
endif
popup(3,"Wydruk")
Tabela #TAB1 //druk
byldruk = 1
Kolumna 1
print (regular 5)
Kolumna 2
print (regular 6)
Kolumna 3
print term
Kolumna 4
if spoznienie > 0 then
print (using "%L", spoznienie)
if spoznienie == 1 then
print " dzień"
else
print " dni"
endif
else
print " - "
endif
Kolumna 5
nk = val(regular 7)
print kwota(nk) + " "
Kolumna 6
if (regular 8) == "------" then
dz = nk
else
dz = val(regular 8)
endif
print kwota(dz) + " "
total += dz
Kolumna 7
print (regular 9)
if ((regular 9) == "przelew") then
pdni = 0
term = (regular 5)
dat = (regular 4)
if term < dat then
while DataDni(term, pdni) != dat
pdni += 1
wend
endif
print " " + (using "%L", pdni)
if pdni == 1 then
print " dzień"
else
print " dni"
endif
endif

if spoznienie>0 then
potall += dz
if ((regular 9) == "za zaliczeniem pocztowym") then
potpob += dz
else
potpoz += dz
endif
endif
koniec
nakwo += nk
dozap += dz
cntr += 1
endif
next licz
endif

l_ipn.clear()
if cntr > 1 then
Tabela #TAB3
Kolumna 1
// print "Razem:"
Kolumna 6
print kwota(dozap) + " "
koniec
bylorazem = 1
endif
cntr = 0
nakwo = 0
dozap = 0
next ui
next h
if ping > 1 then
print "-------------------------------------------------------------------------------" + LF
Tabela #TAB3
Kolumna 1
print "Łącznie:"
Kolumna 6
print kwota(total) + " "
koniec
endif

for i= 1 to i >= size(f) //zamykamy bazy
Close(bdk(i))
Close(bbd(i))
Close(bipn(i))
Close(bpn(i))
Close(bkh(i))
Close(bzz(i))
Close(bxt(i))
Close(bnt(i))
next i

if ((len(notatka) > 0) && (isNotatka == 1)) then
print LF + "NOTATKA: " + notatka + LF
byldruk = 1
endif
if !byldruk then NoOutput()

_________________
symfonia 2.0 po tuningu :)


2012-03-22, 12:42
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2007-12-11, 23:18
Posty: 1942
Pomógł: 49
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
Może dołączając plik txt a nie wklejając raport.

masz tam jeszcze 'includa' czyli drugi raport #include "xxxx - include" który bierze udział w tworzeniu zestawienia.

Przy okazji jak już go wrzucisz, społeczność forumowa pewnie podziękuje Ci za darmowy raport do HMP :-P


2012-03-22, 13:04
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
milo, ze moge cos dac spolecznosci od siebie :mrgreen: ;-) przy probie dolaczenia .txt, .odt czy .rtf uzyskuje info, ze to zabronione.

_________________
symfonia 2.0 po tuningu :)


2012-03-22, 13:21
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2007-12-11, 23:18
Posty: 1942
Pomógł: 49
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
Może ta baza już sie po prostu nie wyrabia? Może by ją przeindeksować od nowa?

Masz tam takie coś:

String mindata = "2000-01-01"

i wygląda ze raport zawsze przegląda ten okres - czy baza jest taka stara? Czy mogą być tak stare nie rozliczone dokumenty? Czy przeglądanie wymaga zawsze patrzenia tak daleko wstecz?

To tak na pierwszy rzut oka bo przy 22 linijce sie znudziłem ;)


2012-03-22, 16:06
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
dokumenty zaczynaja sie dopiero od 2003, wiec jesli to wielkosc bazy to musialbym ja mocno ograniczyc, zbey wyrznie ja zmniejszyc (?). dokumentow wystawiam niewiele, bo moze ok. 1500 faktur rocznie. sa mocno przeterminowane dokumnety, ale jest ich niewiele. najbardziej dziwi mnie, ze bez jakichkolwiek modyfikacji i dla starych kontrahentow (i to na razie tylko dwoch) pojawil sie problem. jak przeprowadzic to indeksowanie, sprawdzenie bledow ? wiem tylko jak zaczac... od kopii bezpieczenstwa :mrgreen:

_________________
symfonia 2.0 po tuningu :)


2012-03-22, 16:39
Wyświetl profil
Awatar użytkownika

Rejestracja: 2008-12-03, 21:11
Posty: 276
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
Znajdź w Symfonii raport "xxxx - include" i wrzuć go na forum. Chciałbym przetestować ten raport ma żywym organizmie...

_________________
Pozdrawiam

Misiek DGTL Rzeszów


2012-03-22, 21:13
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
nadal nie wiem jak wkleic, zeby zachowac formatowanie :oops:

//"xxxxin.sc","xxxx - include",2400,0,1.0.0,SYSTEM
//"Raporty",1,14,62


string xxx_gls = ". GLS" // "Lista dokumentów z pozycjami xxxx"
string xxx_pobranie = "pobranie" // "Lista dokumentów z pozycjami xxxx"

String pomijane(5) // "Faktury z faktur"
..."

Record cennikxxx
String kod[40]
float cena
endrec

cennikxxx cenniki(15) // "Faktury z faktur"

...




string f(1) //lista nazw wszystkich firm

string serial = getSerialNumber()
string pINI=katalog()+"xxxx.INI"
string sSekcja="USTAWIENIA"
int counterxxxIni = val(GetIni (sSekcja, "Licznik", pINI))
int ixxxIni
if (counterxxxIni > 0) && (size(f) == 1) then
for ixxxIni = 1 to ixxxIni > counterxxxIni
f(size(f)) = GetIni( sSekcja, "F" + (using "%L",ixxxIni), pINI)
grow f,1
next ixxxIni
else
f(1) = katalogfirmy()
endif

int bKH(Size(f))
int bDP(Size(f))
int bDK(Size(f))
int bZZ(Size(f))
int bXT(Size(f))
int bBD(Size(f))
int bBP(Size(f))
int bTW(Size(f))
int bPN(Size(f))
int bIPN(Size(f))
int bIDK(Size(f))
int bMG(Size(f))
int bBM(Size(f))
int bMZ(Size(f))
int bBZ(Size(f))
int bSM(Size(f))
int bNT(Size(f))
int bRL(Size(f))

int err_kh, err_dp, err_dk, err_zz, err_xt, err_bd, err_bp, err_tw, err_pn, err_ipn, err_nt, err_sm, err_bz, err_mz, err_bm, err_mg, err_idk, err_rl


Record faktura
long idF
string dataF[12]
string terminF[12]
string kodF[40]
string firmaF[100]
string formaplatnF[40]
int anulowana
int buf
float nettoF
float vatF
float bruttoF
string dataR[12]
int liczbaR
endrec


Record platnosc
long idP
string dataP[12]
string kodP[40]
float wart
long idF
string kodF[40]
endrec


Record pozycja
long idP
long idFakturyP
string kodFakturyP[40]
long idTowaruP
string nazwaP[40]
float iloscP
float cenaP
int lpP
string formaP[40]
long superP
long idPozKorygP
string dataP[12]
string terminP[12]
string dataR[12]
float rabatP
int anulowana
int buf
string kodP[40]
float wartNettoP
float wartVatP
float wartTowaruP
endrec

Record towar
string kod[40]
int typi
string nazwa[40]
string longnazwa[250]
float cbazowa
float cenaa
float cenab
float cenac
float cenad
string sww[20]
string jm[8]
string kodvat[100]
string rodzaj[100]
endrec




//----------------------------------------------------
string sub DataDni(string OdDaty, int LiczbaDni)
//----------------------------------------------------
int dni_wmiesiacu(12) = 31,28,31,30,31,30,31,31,30,31,30,31
int lata_przestepne(11) = 1980,1984,1988,1992,1996,2000,2004,2008,2012,2016,2020
int dzien = val(mid(OdDaty,9,2))
int miesiac = val(mid(OdDaty,6,2))
int rok = val(mid(OdDaty,1,4))
int petla
dzien = dzien + LiczbaDni
if LiczbaDni < 0 then
while dzien <= 0
miesiac -= 1
if miesiac == 0 then
rok -= 1
miesiac = 12
endif
dzien = dzien + dni_wmiesiacu(miesiac)
if miesiac == 2 then
for petla = 1 to petla > size(lata_przestepne)
if rok == lata_przestepne(petla) then dzien += 1
next petla
endif
wend
else
while dzien > dni_wmiesiacu(miesiac)
dzien = dzien - dni_wmiesiacu(miesiac)
if miesiac == 2 then
for petla = 1 to petla > size(lata_przestepne)
if rok == lata_przestepne(petla) then dzien -= 1
next petla
endif
miesiac += 1
if miesiac == 13 then
rok += 1
miesiac = 1
endif
wend
endif
DataDni = (using "%.4d",rok) + "-" + (using "%.2d",miesiac) + "-" + (using "%.2d",dzien)
endsub

#define KOREKTA 0x0200


int sub AktualizujDateWystawienia(long id)
BaseAll bd
BaseAll bp
int err
BeginTrans()
bd.SetBase("BD")
bd.Open()
bp.SetBase("BP")
bp.Open()
bd.SetKey("id")
bd.SetKeySeg("id",id)
err=bd.GetRec(EQ)
if err then message "Błąd nr " + (using "%L", err)
if ((bd.GetField("iddokkoryg") == 0) && (bd.GetField("znaczniki") != 67)) then //jezeli korekta, to nie zmieniamy daty
if bd.GetField("data") != Data() then
bd.SetField("data",Data())
err=bd.Update()
if err then AbortTrans() : message "Błąd podczas zmiany daty wystawienia na dokumencie!"
endif
if bd.GetField("datarej") != Data() then
bd.SetField("datarej",Data())
err=bd.Update()
if err then AbortTrans() : message "Błąd podczas zmiany daty wejścia na dokumencie!"

//zmieniamy w buforze pozycji
bp.SetKey("super")
bp.SetKeySeg("super",Id)
bp.SetKeySeg("lp",0)
err=bp.GetRec(GE)
while !err && bp.GetKeySeg("super")==id
bp.SetField("datarej",Data())
if bp.Update() then AbortTrans() : message "Błąd podczas zmiany daty wejścia w pozycjach dokumentu!"
err=bp.GetRec(NX)
wend
endif
endif
EndTrans()
bd.Close()
bp.Close()
endsub

int sub AktualizujDateSprzedazy(long id)
BaseAll bd
int err

bd.SetBase("BD")
bd.Open()
BeginTrans()
bd.SetKey("id")
bd.SetKeySeg("id",id)
err=bd.GetRec(EQ)
if err then message "Błąd nr " + (using "%L", err)
if ((bd.GetField("iddokkoryg") == 0) && (bd.GetField("znaczniki") != 67)) then //jezeli korekta, to nie zmieniamy daty
if bd.GetField("datasp") != Data() then
bd.SetField("datasp",Data())
err=bd.Update()
if err then AbortTrans(): message "Błąd podczas zmiany daty sprzedaży na dokumencie!"
endif
endif
if ( bd.GetField("znaczniki") == 67) then
bd.SetField("znaczniki",0)
err=bd.Update()
if err then AbortTrans(): message "Błąd podczas usuwania znacznika dokumentu!"
endif
EndTrans()
bd.Close()
endsub

_________________
symfonia 2.0 po tuningu :)


2012-03-23, 14:19
Wyświetl profil

Rejestracja: 2009-08-30, 12:21
Posty: 252
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
nikt :?: :-(

_________________
symfonia 2.0 po tuningu :)


2012-03-26, 17:38
Wyświetl profil
Awatar użytkownika

Rejestracja: 2008-12-03, 21:11
Posty: 276
Pomógł: 2
Post Re: niepoprawne dzialanie raportow dla niektorych kontahento
Spokojnie ;-) jest początek tygodnia - rozkręcamy się ;-D

_________________
Pozdrawiam

Misiek DGTL Rzeszów


2012-03-26, 23:12
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 20 ]  Przejdź na stronę 1, 2  Następna
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. bardzo powolne dzialanie raportow na stacji roboczej

[ Przejdź na stronę: 1, 2 ]

w Techniczne

symfhan09

19

7326

2009-12-15, 14:55

symfhan09 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. niepoprawne hasło admina???

w Programy Kadrowo Płacowe

peter222

4

3587

2013-09-04, 22:54

peter222 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Blokada wydruku w RTF dla niektórych użytkowników.

w Programy Handlowe

zz

6

2933

2010-07-08, 08:46

krzysiek Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Wolne dzialanie

w Techniczne

pysiek

10

6445

2013-06-17, 13:29

pawelp29 Wyświetl najnowszy post



Kto jest online

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