Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-03-28, 13:23x



Odpowiedz w temacie  [ Posty: 11 ] 
pobieranie danych z KD 
Autor Wiadomość

Rejestracja: 2008-08-13, 20:01
Posty: 53
Post pobieranie danych z KD
Witam
Jeśli powtarzam temat to bardzo przepraszam ale skoro piszę to znaczy że nie znalazłem tematu który by mi pomógł w 100 %

potrzebuję pomocy odnośnie pobrania danych kadrowych

mam taki coś:

zestaw danych kadrowych składa się z kilku elementów
niektóre z nich są (element kadrowy zgrupowany) oraz (element kadrowy)
problem polega na tym że nie wiem jak odczytać wartość z (elementu kadrowego)
dodatkowo

przy wykorzystaniu
Kod:
   For p=1 to p>nCount
      mgr.GetComponent(comp,#p)
      aNazwyElem_STAM(p)=comp.GetName()

      message( "pozycja  -" +(using "%L",p )+   "    wierszy -   "+ (using "%L", comp.GetValuesCount())+   "    kolumny -   "+ (using "%L", comp.GetAttrCount()))

   next p


pozycje się zmieniają tyle ile jest elementów (OK)
wiersze za każdym razem wyświetla mi 0
natomiast kolumny czasem wyświetla wartość ile jest kolumn a czasem wyświetla 0 ( ale tego nie trzeba tłumaczyć dlaczego tak jest to oczywiste)



pytanie jest dlaczego dla każdego elementu wyświetla mi ilość wierszy 0
i w jaki sposób mogę pobrać te dane

Z góry wielkie dzięki za pomoc


2014-04-17, 12:57
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3982
Pomógł: 445
Post Re: pobieranie danych z KD
Użyj GetValue()

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2014-04-17, 14:05
Wyświetl profil

Rejestracja: 2008-08-13, 20:01
Posty: 53
Post Re: pobieranie danych z KD
Używam GetValue

według dokumentacji jest takie coś


Int GetValue( HRValue Value, int valindex, [int attrindex])
w przypadku zwykłych elementów kadrowych nie trzeba używać tego co jest w nawiasie [ ]) ok to do tablicy to zrozumiałe

tak więc zapisał bym to getvalue(value, nrwiersza )
ale na każdym wierszu mi wyświetla 0 więc nie wiem co bym miał podstawić za zmienną "int valindex"


2014-04-17, 14:13
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3982
Pomógł: 445
Post Re: pobieranie danych z KD
W przykładzie nie widzę, żeby było użyte GetValue().

Podaj cały kod, który można uruchomić i sprawdzić.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2014-04-17, 14:18
Wyświetl profil

Rejestracja: 2008-08-13, 20:01
Posty: 53
Post Re: pobieranie danych z KD
podaję fragment kodu jeśli chcesz to zamieszczę cały ale muszę go pozmieniać do wersji czytelnej dla każdego nie tylko dla mnie( bałagan)


Kod:
while idprac
   
   DodajImieNazwisko(idprac)
   
   if !Pracownik(prac,idprac) then message sErrBlednyPrac : error " "

   mgr.LoadHRComponentsSet(zestaw)
   mgr.SetEmpId(idprac)

   nCount=mgr.GetCount()
      
   For p=1 to p>nCount
      mgr.GetComponent(comp,#p)
      aNazwyElem(p)= comp.GetName()

   next p

   i=i+1

   Tabela_ind(i)=using "%L",idprac
   

   tabela_oso(i)=(prac.Nazwisko)


   mgr.LoadHRComponentsSet(27889)

   mgr.SetEmpId(idprac)

   nCount = mgr.GetCount()


   For p=1 to p>nCount
      mgr.GetComponent(comp,#p)
      aNazwyElem_STAM(p)=comp.GetName()


      message (comp.GetValue(Value,comp.GetValuesCount()))  // Tutaj za każdym razem wywala mi komunikat argument po za zakresem


      message( "pozycja  -" +(using "%L",p )+   "    wierszy -   "+ (using "%L", comp.GetValuesCount())+   "    kolumny -   "+ (using "%L", comp.GetAttrCount()))

   next p
   

idprac = GetNext()
WEND


2014-04-17, 14:37
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3982
Pomógł: 445
Post Re: pobieranie danych z KD
Kolejność użycia

Kod:
1. GetComponent()
2. comp.GetValuesCount()
3. comp.GetValue()

poczytaj jeszcze w dokumentacji o GetValue i co powinieneś dawać jako jej parametry.

Możesz także skontaktować się z Ekspertem.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2014-04-17, 14:55
Wyświetl profil

Rejestracja: 2008-08-13, 20:01
Posty: 53
Post Re: pobieranie danych z KD
Dzięki za zainteresowanie ale sprawdzałem w dokumentacji i w raporcie dane kadrowe i nie rozumiem tego

while idprac
DodajImieNazwisko(idprac)

if !Pracownik(prac,idprac) then message sErrBlednyPrac : error " "

mgr.LoadHRComponentsSet(zestaw) // zestaw =102
mgr.SetEmpId(idprac)

nCount=mgr.GetCount()

For p=1 to p>nCount
mgr.GetComponent(comp,#p)
aNazwyElem(p)= comp.GetName()

next p

i=i+1

Tabela_ind(i)=using "%L",idprac
tabela_oso(i)=(prac.Nazwisko)
mgr.LoadHRComponentsSet(27889)

mgr.SetEmpId(idprac)

nCount = mgr.GetCount()

For p=1 to p>nCount
mgr.GetComponent(comp,#p)
aNazwyElem_STAM(p)=comp.GetName()
message(using "%L",comp.GetValuesCount ())
message(using "%L",comp.GetAttrCount ())
next p

idprac = GetNext()
WEND


//--------------

użyłem tak jak napisałeś

1. GetComponent
2. comp.GetValuesCount () sprawdzając ile jest wierszy oraz comp.GetAttrCount () spawdzając ile jest kolumn
i w przypadku wierszy zawsze mam 0 a w przypadku kolumn to mi wartości wyświetla jeśli występują kolumny


sprawdzałem także z raportem dane kadrowe ale w tam jest
For j=1 to J>comp.GetValuesCount ()

i niestety ja mam stale wartość 0 wiec mi tej pętli nie wykona

Pytanie Gdzie robię błąd?


2014-04-18, 12:31
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3982
Pomógł: 445
Post Re: pobieranie danych z KD
Nie moge Ci pomoc bo kod ktory wkleiles nie dziala po przeklejeniu. Brak deklaracji zmiennych. Napewno jest to caly kod?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2014-04-18, 12:56
Wyświetl profil

Rejestracja: 2008-08-13, 20:01
Posty: 53
Post Re: pobieranie danych z KD
nie to był jedynie fragment chodzi mi o te ilości wierszy

Kod:
#include "pdfparam.sci"
#include "hf_graf.sci"
#include "strings.sci"
#define OK 2
#define ANULUJ -1


HRMgr mgr
HRComponent comp
HRValue value

Infoprac prac
InfoSkladnik skl
InfoSchemat sch_ksi




long idgrupy = val (Arg0)
long typ = val (Arg1)




//----------------id zestawy
long zestaw = 102


if !idgrupy &&!!typ then message sErrTylkoZOknaPrac : error " "

if !SetGroup (idgrupy,typ,TR_PRACOWNICY) then message sErrBlednaGrupa : error " "


long idprac = GetFirst()

string datapoc = ""
string data1= ""
string dana



int p,i,ilosc,n,ilosc2,j, ilosci ,ilosci2


if !idprac then message sErrBrakPrac : error " "
mgr.LoadHRComponentsSet(zestaw)

int nCount = mgr.GetCount()


string aNazwyElement(nCount)
string aNazwyElem(nCount)


for p=1 to p>nCount
   mgr.GetComponent(comp,#p)
   aNazwyElement(p)=comp.GetName()

next p



while idprac

   DodajImieNazwisko(idprac)
   
   if !Pracownik(prac,idprac) then message sErrBlednyPrac : error " "

   mgr.LoadHRComponentsSet(zestaw)
   mgr.SetEmpId(idprac)

   nCount=mgr.GetCount()
      
   For p=1 to p>nCount
      mgr.GetComponent(comp,#p)
      aNazwyElem(p)= comp.GetName()

   next p

   i=i+1

   Tabela_ind(i)=using "%L",idprac


   tabela_oso(i)=(prac.Nazwisko)



   mgr.LoadHRComponentsSet(27889)//interesujący mnie id zestawu

   mgr.SetEmpId(idprac)

   nCount = mgr.GetCount()



//message (using "%L", nCount)


   For p=1 to p>nCount
      mgr.GetComponent(comp,#p)
      aNazwyElem_STAM(p)=comp.GetName()
         message(using "%L",comp.GetValuesCount ())
         message(using "%L",comp.GetAttrCount ())

   next p


idprac = GetNext()
WEND

for p=1 to p>i
print "id -  "
print Tabela_ind(p) + "  |  "
print tabela_oso(p)
print "\n"


next p


2014-04-18, 13:22
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 3982
Pomógł: 445
Post Re: pobieranie danych z KD
Ta wiadomość była pomocna.(1)
Mogę zaproponować jedynie kontakt z Ekspertem.
Analiza problemu jest zbyt czasochłonna jak na forum.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2014-04-18, 15:09
Wyświetl profil

Rejestracja: 2008-08-13, 20:01
Posty: 53
Post Re: pobieranie danych z KD
Zrobione

problem był w odczytywaniu danych ponieważ nie miałem mgr.LoadValues( datapoc, datakoniec) (chyba że się mylę ekspertem nie jestem w pisaniu raportów zwłaszcza w KD)
następnie tam gdzie jest element typu tablica używam comp.GetValue( value, nr_wiersz, nr_kolumny )
a w przypadku zwykłych elementów uzywam comp.GetValue( value, nr_wiersz)


2014-04-22, 10:58
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 11 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Pobieranie danych z zestawienia

w Programowanie

kowalzuch

1

2480

2017-06-29, 09:43

rafal Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Pobieranie danych z Vies

w Programy Handlowe

metoda

0

2333

2018-02-22, 10:04

metoda Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Pobieranie danych firmy FirmaInfo

w Programowanie

miroslawk961

4

3468

2017-01-19, 21:03

miroslawk961 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Załączniki Pobieranie danych z SH do Excel - online

w Programowanie

digiart

3

5559

2018-03-07, 17:41

rafal Wyświetl najnowszy post



Kto jest online

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