Re: [HMP] Błąd w kluczu "super" tabeli DP
Tek klucz nie działa poprawnie i w specyficznych przypadkach może zwracać nieprawidłowe dane.
Przykład:
Wejdź w tryb edycji dokumentu sprzedaży (ważne, żeby nie był to ostatni dokument) i dodaj do niego nową pozycję.
Pozycje takiego dokumentu nie będą zwrócone jeżeli użyjemy klucza super i obiektu baseDP.
Co należy zrobić? Użyć tradycyjnej metody dostępu do bazy przez pliki.
Kod:
int dp
int errDP
dp = Open KatalogFirmy()+"51dp.dat" For base "DP"
BaseError ( dp,4 )
SetKey(dp,"super")
SetKeySeg(dp,"super", idDok)
SetKeySeg(dp,"lp",0)
errDP = GetRec(dp,GE)
while !errDP
if GetField(dp,"super") != idDok then Exit
print GetField(dp,"lp"),GetField(dp,"kod"),lf
errDP = GetRec(dp,NX)
wend