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

Definiowanie kryteriów wyboru dla elementów
https://forum.mix-soft.pl/viewtopic.php?f=3&t=1226
Strona 1 z 1

Autor:  kaska [ 2009-09-25, 13:22 ]
Tytuł:  Definiowanie kryteriów wyboru dla elementów

Witam!
Próbuję skorzystać z wyszukania elementów o nazwie "Elementy księgowane" (to wyszukanie jest już zdefiniowane w programie). Niestety to wyszukanie nie działa, mimo że są elementy do których schematy księgowań zostały są podpięte.

Jeśli chcę przygotować sobie nowe wyszukanie elementów, to nie ma możliwości wybrania pola, które mówiłoby o podpiętym schemacie księgowania.

Czy istnieje jakaś możliwość wyszukania z kartoteki elementów, elementów z przypisanymi schematami księgowania?

Autor:  pis [ 2009-09-25, 23:21 ]
Tytuł: 

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



Autor:  barnie [ 2009-09-27, 21:53 ]
Tytuł: 

Zauważyłem, że jak ten nowy katalog utworzy się gdzieś indziej niż w katalogu głównym to raport ma problem z jego odnaleziem.

Autor:  kaska [ 2009-09-28, 08:05 ]
Tytuł: 

Bardzo dziękuję. Uzyskałam to co chciałam. :-)

Autor:  pis [ 2009-09-28, 13:51 ]
Tytuł: 

barnie pisze:
Zauważyłem, że jak ten nowy katalog utworzy się gdzieś indziej niż w katalogu głównym to raport ma problem z jego odnaleziem.

Ano tak jest. Katalog należy zakładać w głównym katalogu.
Ot takie małe ograniczenie :)

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