mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
HMP procedury z okna blokowanie rekordu https://forum.mix-soft.pl/viewtopic.php?f=15&t=7278 |
Strona 1 z 1 |
Autor: | Khavert [ 2016-05-30, 10:08 ] |
Tytuł: | 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 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 |
Autor: | rafal [ 2016-05-30, 11:39 ] |
Tytuł: | Re: HMP procedury z okna blokowanie rekordu |
Będzie blokował. Jednym z rozwiązań jest uruchomienie Twojego formularza z innego raportu. Kod: int Sub OnAfterInsert(long lId) Run("Formularz - include",(using "%l",lId)) endsub Wtedy OnAfterInsert powinien polecieć dalej. |
Autor: | Khavert [ 2016-06-02, 11:50 ] |
Tytuł: | Re: HMP procedury z okna blokowanie rekordu |
Witam, Powyższe rozwiązanie w miarę działa tj. zdarzają się przypadki blokujące dany rekord, ale jest wystarczające. Dzięki za podpowiedź |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |