Для примера: надо перекрыть функцию SetPosition, описанную следующим образом:
файл ListSoglDog.vih:
Код: Выделить всё
ObjInterface ListSoglDogObj;
  Function SetPosition(aDogovor: comp; aCanModifyDog: boolean): boolean;
end;
VipInterface ListSoglDog implements ListSoglDogObj licensed(FREE) Parameters(pDogovor: comp; CanModifyDog: boolean);
Код: Выделить всё
#include ListSoglDog.vih
#include ExtAttr.vih
#include GetKau.vih
Interface ListSoglDog 'Лист согласования' (, hcDogEditDogovor, ) EscClose;
...
Function SetPosition(aDogovor: comp; aCanModifyDog: boolean): boolean;
{
  set pDogovor := aDogovor;
  CanModifyDog := aCanModifyDog;
  Result := GetFirst Dogovor = tsOk;
  RereadRecord(#AttrDog);
  if not CheckAttrsLS
    {
      Result := FALSE;
      if not CanModifyDog
        Message('Лист согласования отсутствует!', Information);
    }
  GetAttrsLS;
  SetFieldProtected(#LS_NoReestr  , not CanModifyDog);
}
...