Блокировка таблицы
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный гость
- Сообщения: 86
- Зарегистрирован: 28 апр 2005, 12:15
- Откуда: Москва
Блокировка таблицы
Доброго времени суток всем.
В интерфесе используется функция блокировки таблиц
ProtectRecord(#BaseDoc, true);
ProtectRecord(#SpStep, true);
ProtectRecord(#StepDoc, true);
Но при этом необходимо, чтобы одно из полей, например, BaseDoc.Name, было доступно для модификации. Как это сделать, кто-нибудь знает?
Методы типа: SetFieldOption, ClearFieldOption не проходят, пробовал
Заранее спасибо
В интерфесе используется функция блокировки таблиц
ProtectRecord(#BaseDoc, true);
ProtectRecord(#SpStep, true);
ProtectRecord(#StepDoc, true);
Но при этом необходимо, чтобы одно из полей, например, BaseDoc.Name, было доступно для модификации. Как это сделать, кто-нибудь знает?
Методы типа: SetFieldOption, ClearFieldOption не проходят, пробовал
Заранее спасибо
-
- Постоянный обитатель
- Сообщения: 151
- Зарегистрирован: 27 авг 2007, 12:16
- Откуда: ОАО КЧХК
- Контактная информация:
-
- Постоянный гость
- Сообщения: 86
- Зарегистрирован: 28 апр 2005, 12:15
- Откуда: Москва
-
- Постоянный обитатель
- Сообщения: 151
- Зарегистрирован: 27 авг 2007, 12:16
- Откуда: ОАО КЧХК
- Контактная информация:
-
- Постоянный гость
- Сообщения: 86
- Зарегистрирован: 28 апр 2005, 12:15
- Откуда: Москва
Описание взял из документации, даже не прочитав его, прошу простить.
Там конечно опечатка: не iPanel, а iTable - номер таблицы.
Вот несколько примеров
if (isProtected(#Oborot)) ProtectRecord(#Oborot,false);
if (CalPlan.Status <> 0)
ProtectRecord(#SpDocNal, true)
else
ProtectRecord(#SpDocNal, false);
Там конечно опечатка: не iPanel, а iTable - номер таблицы.
Вот несколько примеров
if (isProtected(#Oborot)) ProtectRecord(#Oborot,false);
if (CalPlan.Status <> 0)
ProtectRecord(#SpDocNal, true)
else
ProtectRecord(#SpDocNal, false);
-
- Постоянный обитатель
- Сообщения: 151
- Зарегистрирован: 27 авг 2007, 12:16
- Откуда: ОАО КЧХК
- Контактная информация:
const
#include Tunes.inc
end;
#include CrTune.vih
VipInterface CreateTunePatch_USER Implements ObjCreateTunePlugin;
Interface CreateTunePatch_User;
var wState : word;
create view;
Public function SetLastDateModTune : date;
{
SetLastDateModTune := Cur_Date;
}
Public Procedure AddTunePatch(TR : objCreateTune);
{
TR.AddTune(ttUserTune,'RGHTBL.NOUPDATE.KLVAL','RGHTBL.NOUPDATE','каталога курсов валют',ftBoolean,'1','',0);
TR.SetNextNumberTune (5001);
TR.SetParent('0065000000000017h');
}
end.
#include TuneSpec.vih
VipInterface PostTunePatch_user implements ObjPostTunePlugin;
Interface PostTunePatch_user;
Create view;
Public Function PostUpdatePatch (TuneRef : TuneFuncObj; TuneCode : string; TuneObj : word; TuneUser : comp) : boolean;
{
PostUpdatePatch := true;
case UpCase(TuneCode) of
'RGHTBL.NOUPDATE.KLVAL':
{
if boGetTuneEx('RGHTBL.NOUPDATE.KLVAL',0,0065000000000017h)=1
{ _loop x$users
{
ProtectRecord(#CURSVAL, true);
^
неверная функция, параметр или метод
ProtectRecord(#KLVAL, true);
}
}
else
{_loop x$users
{
NoProtectRecord(#CURSVAL, true);
NoProtectRecord(#KLVAL, true);
}
}
else
PostUpdatePatch := false;
end; // case
} // PostUpdatePatch
end. // интерфейс
Ну и как с этим бороться?
#include Tunes.inc
end;
#include CrTune.vih
VipInterface CreateTunePatch_USER Implements ObjCreateTunePlugin;
Interface CreateTunePatch_User;
var wState : word;
create view;
Public function SetLastDateModTune : date;
{
SetLastDateModTune := Cur_Date;
}
Public Procedure AddTunePatch(TR : objCreateTune);
{
TR.AddTune(ttUserTune,'RGHTBL.NOUPDATE.KLVAL','RGHTBL.NOUPDATE','каталога курсов валют',ftBoolean,'1','',0);
TR.SetNextNumberTune (5001);
TR.SetParent('0065000000000017h');
}
end.
#include TuneSpec.vih
VipInterface PostTunePatch_user implements ObjPostTunePlugin;
Interface PostTunePatch_user;
Create view;
Public Function PostUpdatePatch (TuneRef : TuneFuncObj; TuneCode : string; TuneObj : word; TuneUser : comp) : boolean;
{
PostUpdatePatch := true;
case UpCase(TuneCode) of
'RGHTBL.NOUPDATE.KLVAL':
{
if boGetTuneEx('RGHTBL.NOUPDATE.KLVAL',0,0065000000000017h)=1
{ _loop x$users
{
ProtectRecord(#CURSVAL, true);
^
неверная функция, параметр или метод
ProtectRecord(#KLVAL, true);
}
}
else
{_loop x$users
{
NoProtectRecord(#CURSVAL, true);
NoProtectRecord(#KLVAL, true);
}
}
else
PostUpdatePatch := false;
end; // case
} // PostUpdatePatch
end. // интерфейс
Ну и как с этим бороться?
-
- Постоянный гость
- Сообщения: 52
- Зарегистрирован: 28 июн 2006, 08:45
- Откуда: Уфа