No tak. Z filtrów zginęło pole "element księgowany". A filtr o którym mowa to jakaś pozostałość po starych wersjach i .... nie działa.
W oknie elementów zrób katalog "Księgowane" i jak się nie boisz uruchom mój raport.
Powienien umieścić w tym katalogu wszystkie księgowane elementy.
Raport pisany dla wersji 2009.1 i lepiej nie uruchamiać go w innych.
Kod:
//3,"elkskat.sc","Umieszczanie elementów księgowanych w katalogu","System wynagrodzeń",0,1.0.0,SYSTEM
// OTWIERANIE BAZY GRUP I KSIĘGOWAŃ
int b = open KatalogFirmy() + "41grupy.dat" for base "GRUPY"
BaseError( KatalogFirmy() + "41grupy.dat" ,4)
int k = open KatalogFirmy() + "43kp0391.dat" for base "SCHK_ELEM"
BaseError( KatalogFirmy() + "43kp0391.dat" ,4)
// SZUKANIE KATALOGU DLA ELEMENTÓW KSIĘGOWANYCH
SetKey(b, "id_parent")
SetKeySeg(b, "id_parent", 999)
int err
err = GetRec(b, GE )
while !err && GetField(b, "id_parent") == 999
if GetField(b,"name") == "Księgowane" then goto jestKatalog
err = GetRec(b, NX )
wend
error "Nie znaleziono katalogu 'Księgowane' do umieszczenia elementów."
jestKatalog:
long id_katalogu = GetField(b, "id")
// KASOWANIE ELEMENTÓW PRZYPISANYCH DO KATALOGU
long id_elementu(1)
SetKey(b, "id_parent")
SetKeySeg(b, "id_parent", id_katalogu)
err = GetRec(b, GE )
while !err && GetField(b, "id_parent") == id_katalogu
grow id_elementu, 1
id_elementu(Size(id_elementu)) = GetField(b, "id")
err = GetRec(b, NX )
wend
int i
for i = 1 to i > Size(id_elementu)
SetKey(b, "id")
SetKeySeg(b, "id", id_elementu(i))
err = GetRec(b, EQ)
if !err then DelRec(b)
next i
// PRZYPISANIE ELEMENTÓW KSIĘGOWANYCH DO KATALOGU
err = GetRec(k, FS )
while !err
Clear(b)
InsRec(b)
SetField(b,"typ", 105)
SetField(b,"id_parent", id_katalogu)
SetField(b,"id_join", GetField(k,"id_skladnika"))
PutRec(b)
err = GetRec(k, NX )
wend