Показать сообщение отдельно
Старый 02.03.2007, 22:15   #10  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Таблица "серия номеров" блокирована
Лечил так

CU 396 NoSeriesManagement
GetNextNo(NoSeriesCode : Code[10];SeriesDate : Date;ModifySeries : Boolean) : Code[20]
Код:
  IF ModifySeries THEN
	IF NOT NoSeries.NoLock THEN  //Storkich 17.02.07   пользователи блокируют друг друга
	   NoSeriesLine.LOCKTABLE;
В конце процедуры дописал
Код:
//+Storkich
//нужно просто обеспечить уникальность номера, не блокируя таблицу
//к номеру, в конце прибавляю id сессии пользователя
IF NoSeries.NoLock THEN BEGIN
  IF SessionID='' THEN BEGIN
	Session.SETRANGE(Session."Моя сессия",TRUE);
	Session.FIND('-');
	IF STRLEN(FORMAT(Session."Соединение ID"))>2 THEN
	  ERROR('Закройте Navision и заново запустите');
	SessionID:=CONVERTSTR(FORMAT(Session."Соединение ID",2,2),' ','0');
  END;
END;
//-Storkich

EXIT(NoSeriesLine."Last No. Used"+SessionID);
NoSeries.NoLock проставил для номеров учтенных документов и для регистрации событий.