HMP procedury z okna blokowanie rekordu
Witam,
mam pewien problem podczas wykonywania procedury w momencie wyświetlenia okna blokuje dostęp do bazy tj. w tym momencie inny użytkownik który chce wystawić dokument otrzymuje komunikat "Czekaj na dostęp do danych" w pasu na dole.
Czy można zrobić tak aby nie blokował rekordu w momencie wyświetlenia formularza?
Nie bardzo kojarzę które polecenie blokuje rekord czy też samo wywołanie procedury stosuje blokadę.
Ewentualnie próbowałem to samo zrobić w OnBeforeInsert ale nie przenosi mi pola "zapas"
Próbowałem
Cytuj:
OnAfterInsert = SprawdźOkresNumeracja
wstawiać na początku procedury
Poniżej kod
Kod:
int Sub OnAfterInsert(long lId)
string Baza = "Driver={SQL Server};Server=******;Database=*****;Uid=*****;Pwd=*****;"
dispatch con = "ADODB.Connection"
con.ConnectionString = Baza
con.open
dispatch rs = "ADODB.Recordset"
string sql
sql = "SELECT nazwisko From Magazynier where aktywny = 1 ORDER BY nazwisko ASC"
//wybieranie magazynierów
rs.open(sql,con,3)
rs.moveFirst
string nazwiska
string lista(1)
int dl1 = 1
//wpisywanie magazynierów do tablicy
While !rs.eof
dl1 = grow lista,1
lista(dl1) = rs.Fields("nazwisko").value
rs.movenext
wend
con.close
//wybieranie rekordu z MG
mg.GetRecById(lId)
//subtypi = 78 i typi = 201
string opis
int ok
if mg.GetField("subtypi") == 76 || mg.GetField("subtypi") == 78 then
//Wyświetl formularz
form "Kto pakował?", 100,75
cmbbox "Pakowacz", lista, opis, 0,0,125,200
button "&Ok", 12,20,100,25,2
ok = execform
endif
//zapisz do bazy
if ok == 2 then
mg.SetField("zapas",UCASE(opis))
mg.PutRec()
endif
OnAfterInsert = SprawdzOkresNumeracji(lId, BAS_MG)
EndSub