-- Шаблон создан мастером бланков
-- 20.12.2008 17:08:41
--
БланкСШаблоном "...";

var Загл:S;

var Фамилия:S;
var Имя:s;
var Отчество:s;
var Должность:s;
var Телефон:S;
var ДокНаим:S;
var ДокСерия:S;
var ДокНом:S;
var ДокКемВыдан:S;
var ДокДат:D;

S1: Section;
S2: Section;

var Flags1:S;
var Flags2:S;
var isСотр:L;
var Падеж:S;
--
--Процедуры и функции -------------
Proc Оформление;
var Obj: Object;
var s,r,rr:i;
var tmp,Flags:S;
 for s=1..2 do
  if FindObject("S"+Str(s),Obj):
     Flags=GetVariableS("Flags"+Str(s));
     r=1;
     rr=asInteger(Obj.RowsCount);
     While r<=rr do
      tmp=Up(asString(Obj.Cell(r,5,CellContents,"",False)));
      if not tmp="": Obj.Row(r,RowVisible,(not Pos(tmp,Flags)=0 or (not Flags="" and tmp="!"))); fi;
      r=r+1;
     od;
  fi;
 od;
end;

Proc Вызвать (Head:S; Val1:S; Val2:S; aСотр:L; aПадеж:S);  --Val1=ФИОДТ (Фамилия,Имя,Отчество,Должность,Телефон), --Val2=ИСНВД (Наименование документа,серия,номер,кем выдан,дата выдачи)
 Загл=Head;
 Flags1=Up(Val1);
 Flags2=Up(Val2);
 isСотр=aСотр;
 Падеж=aПадеж;
 OpenBlank("Раб.Вспом.ФизЛицо",True);
end;
--Процедуры и функции -------------			      
--
--
--Обработчики событий полей шаблона-----
Func OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Rec: Record;
var Crd:S;
var OWA,nr:i;
 Template.HideEditor(not isСотр);
 if isСотр:
    Crd="Сотрудники";
    Rec=OpenCardFile(Crd);
    if not Rec=nil:
       if Падеж="КОГО":
	  Фамилия=GetCardFieldS(Crd,Rec,"ФКого");
	  Имя=ExtractWord(1,GetCardFieldS(Crd,Rec,"ИОКого")," ");
	  Отчество=ExtractWord(2,GetCardFieldS(Crd,Rec,"ИОКого")," ");
	  Должность=GetCardFieldS(Crd,Rec,"Должность.РПО_Долж_Кого");
	 |Падеж="ОТКОГО":
	  Фамилия=GetCardFieldS(Crd,Rec,"ФОтКого");
	  Имя=ExtractWord(1,GetCardFieldS(Crd,Rec,"ИОтКого")," ");
	  Отчество=ExtractWord(2,GetCardFieldS(Crd,Rec,"ИОтКого")," ");
	  Должность=GetCardFieldS(Crd,Rec,"Должность.РПО_Долж_ОтКого");
	 |Падеж="КОМУ":
	  Фамилия=GetCardFieldS(Crd,Rec,"ФКому");
	  Имя=ExtractWord(1,GetCardFieldS(Crd,Rec,"ИОКому")," ");
	  Отчество=ExtractWord(2,GetCardFieldS(Crd,Rec,"ИОКому")," ");
	  Должность=GetCardFieldS(Crd,Rec,"Должность.РПО_Долж_Кому");
	 |True:
	  Фамилия=GetCardFieldS(Crd,Rec,"ФАМИЛИЯ");
	  Имя=GetCardFieldS(Crd,Rec,"ИМЯСОТРУДНИКА");
	  Отчество=GetCardFieldS(Crd,Rec,"ОТЧЕСТВО");
	  Должность=GetCardFieldS(Crd,Rec,"Должность.Долж");
       fi;
       Телефон=GetCardFieldS(Crd,Rec,"ТелефонРабочий");
       if not Flags2="":
	  OWA=OpenWorkArea("Сотр_Документ","ДатаВыдачи","Сотр="+RecordToString(Rec)+" And Действующий");
	  Try
	   nr=Records(OWA);
	   if not nr=0:
	      ДокНаим=GetFieldS(OWA,nr,"ВидДокумента.Вид");
	      ДокСерия=GetFieldS(OWA,nr,"Серия");
	      ДокНом=GetFieldS(OWA,nr,"Номер");
	      ДокКемВыдан=GetFieldS(OWA,nr,"Кем");
	      ДокДат=GetFieldD(OWA,nr,"ДатаВыдачи");
	   fi;
	  Finally
	   CloseWorkArea(OWA);
	  end;
       fi;
    fi;
 fi;
 Return Cur;
end;
--Обработчики событий полей шаблона-----
--
--Обработчики событий объектов шаблона-----
Proc btnЗакрыть_OnClick(Sender: String);
 Close;
end;
--Обработчики событий объектов шаблона-----
--
--
--Обработчики событий шаблона -----
Proc AfterOpen(Destroy: Logical);
 Оформление;
end;
--Обработчики событий шаблона -----
--


Конец
