![](./styles/avalonblue/theme/images/spacer.gif) |
|
Strona 1 z 1
|
[ Posty: 2 ] |
|
Księgi czy bufor, jak rozpoznać
Autor |
Wiadomość |
qres
Rejestracja: 2010-03-30, 11:53 Posty: 23 Pomógł: 2
|
![Post Post](./styles/avalonblue/imageset/icon_topic_latest.gif) Księgi czy bufor, jak rozpoznać
FiK 2013 Witam ponownie ja dalej z uporem maniaka :) Jesteśmy na Liście Dokumentów, mamy id dokumentu wybranego "prawoklikiem" (Arg0) i jeśli chcemy korzystać z danych zawartych w bazie a nie z "grid'a", pojawia się problem, jak nasz raport ma rozpoznać czy to lista z bufora czy z ksiąg ? Radzę sobie następującym kodem, opracowanym na podstawie raportów zawartych w FiK oraz informacji zgromadzonych na tym forum : Kod: #include "dbutil.sci" #include "wrap.sci"
string skZlisty long idZlisty,nrZlisty, ZrodloDb int errDok(2),errDo #define XROWSDATA userObject
idZlisty = XROWSDATA.item( 1 ).id nrZlisty = val(Mid(XROWSDATA.item( 1 ).numer ,5)) skZlisty = Mid(XROWSDATA.item( 1 ).numer ,1,4) buf = skZlisty while replace " ", "" wend skZlisty = buf
BASEHANDLE bKt, bKth, bDokTab(2),bDok(2),bD,bDo
bDokTab( 1 ) = dbOpenDokBase( indeksRoku(), 0, 0 ) // księgi bDokTab( 2 ) = dbOpenDokBase( indeksRoku(), 1, 0 ) // bufor bDok(1) = bDokTab( 1 ) bDok(2) = bDokTab( 2 ) SetKey( bDok(1), "id" ) SetKeySeg( bDok(1), "id", idZlisty ) errDok(1) = GetRec( bDok(1), EQ )
SetKey( bDok(2), "id" ) SetKeySeg( bDok(2), "id", idZlisty ) errDok(2) = GetRec( bDok(2), EQ )
if (GetField( bDok(1), "id" )==idZlisty)&&(GetField( bDok(1), "numer" )==nrZlisty)&&(GetField( bDok(1), "skrot" )==skZlisty) Then ZrodloDb = 0 else ZrodloDb = 1 endif
DbClose(bDokTab( 1 )) DbClose(bDokTab( 2 ))
bD = dbOpenDokBase( indeksRoku(), ZrodloDb, 0 ) bDo = bD SetKey( bDo, "id" ) SetKeySeg( bDo, "id", val(Arg0) ) errDo = GetRec( bDo, EQ ) /* // tu robimy co chcemy z danymi, oczywiście bez przesady :) */ DbClose(bD)
Pytanie moje brzmi, czy jest zmienna , właściwość lub metoda pozwalająca w prostszy sposób określić źródło danych z których powinniśmy skorzystać ? PS. spokojnie można "zaremować" operacje tyczące się bazy opatrzonej indeksem 2 :)
|
2013-10-20, 11:07 |
|
![](./styles/avalonblue/theme/images/spacer.gif) |
Autor |
Wiadomość |
Mix-soft.pl
|
|
![](styles/avalonblue/theme/images/spacer.gif) |
qres
Rejestracja: 2010-03-30, 11:53 Posty: 23 Pomógł: 2
|
![Post Post](./styles/avalonblue/imageset/icon_topic_latest.gif) Re: Księgi czy bufor, jak rozpoznać
![Ta wiadomość była pomocna Ta wiadomość była pomocna.](./img/mix_star.png) (1)
Sorki że tak post po poście ale nie mogę edytować poprzedniego. Poniżej poprawiony kod pozwalający określić źródło danych Listy Dokumentów (może komuś się przyda) Kod: #include "dbutil.sci" #include "fkutil.sci" #include "wrap.sci"
long idZlisty, ZrodloDb int errDo
#define XROWSDATA userObject idZlisty = XROWSDATA.item( 1 ).id
BASEHANDLE bKt, bKth, bD,bDo
bD = dbOpenDokBase( indeksRoku(), 1, 0 ) // bufor bDo = bD SetKey( bDo, "id" ) SetKeySeg( bDo, "id", XROWSDATA.item( 1 ).id ) errDo = GetRec( bDo, EQ )
if dbNrEwToStr_Dok(bDo)==XROWSDATA.item( 1 ).numer Then ZrodloDb = 1 else ZrodloDb = 0 endif
if ZrodloDb == 0 then DbClose(bD) bD = dbOpenDokBase( indeksRoku(), ZrodloDb, 0 ) bDo = bD endif SetKey( bDo, "id" ) SetKeySeg( bDo, "id", val(Arg0) ) errDo = GetRec( bDo, EQ )
if ZrodloDb == 1 Then Print "Dane pobrane z bufora";LF else Print "Dane pobrane z ksiąg";LF endif Print "----------------";LF Print "Arg0 :";Arg0;LF Print "id :";GetField( bDo, "id");"*";LF Print "skrot :";GetField( bDo, "skrot");"*";LF Print "numer :";GetField( bDo, "numer");"*";LF Print "numer ewid:";dbNrEwToStr_Dok(bDo);"*";LF Print "nr. dokum :";GetField( bDo, "nazwa");"*";LF Print "treść :";GetField( bDo, "tresc");"*";LF Print "kontrahent:";GetField( bDo, "kontrahent");"*";LF Print "data dokum:";GetField( bDo, "datadok");"*";LF Print "data wprow:";GetField( bDo, "datawpr");"*";LF Print "data oper :";GetField( bDo, "dataoper");"*";LF Print "kwota :";GetField( bDo, "kwota");"*";LF Print "sygnatura :";GetField( bDo, "sygnatura");"*";LF
DbClose(bD)
|
2013-10-21, 11:18 |
|
|
|
Strona 1 z 1
|
[ Posty: 2 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 11 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
|
![](./styles/avalonblue/theme/images/spacer.gif) |
|
|