-- Шаблон создан мастером бланков
-- 04.12.2003 11:32:39
--
БланкСШаблоном "Сводный реестр неподтвержденных извещений";

var Упр:Handle;

ДК:D=[ToDay];
var ДН:D=If(Day(ДК)=1 and Mon(ДК)=1,Dat(1,1,Year(ДК)-1),Dat(1,1,Year(ДК)));
ДСрок:D=[ToDay+15];

var пп[]:i=$;
var НаимПСБ[]:S;
var НомИзв[]:S;
var ДатаИзв[]:D;
var СумИзв[]:N;
var UKey[]:Record;
var ПСБ[]:S;
var is69н[]:L;

var Folder:S;
var BufПСБ[]:S;
var BufНаимПСБ[]:S;

Учр: Record;
НаимУчр: S;
МаскаБК:S;
var МаскаБК_:S=if(МаскаБК="","","Бюджетная классификация: "+МаскаБК);

cbПечатьШтамп	 : Object;
btnЗагрузитьШтамп: Object;
ed_Штамп_X	 : Object;
ed_Штамп_Y	 : Object;
ed_Штамп_W	 : Object;
ed_Штамп_H	 : Object;
cbШтампАвтоРазмер: Object;
btnПроверитьШтамп: Object;
picШтамп	 : Object;
lbШтамп 	 : Object;


Штамп:S;
ШтампПечать: L;
Штамп_X:I;
Штамп_Y:I;
Штамп_W:I=[700];
Штамп_H:I=[700];
ШтампАвтоРазмер:L;

var Buf[]:S;

var OA:I;

ДолжнБух:S;
ФИОБух:S;
--
--Процедуры и функции -------------			      
Func Symbol (S:S):S;
 if S='"': ^"_";
   |S="*": ^"_";
   |S="/": ^"_";
   |S=":": ^"_";
   |S="<": ^"_";
   |S=">": ^"_";
   |S="\": ^"_";
   |S="|": ^"_";
   |True: ^S;
fi;
end;

Func Convert (Src:S):S;
var L,n:i;
var S:S;
var R:S;
 R="";
 L=Length(Src);
 for n=1..L do
  S=SubStr(Src,n,1);
  R=R+Symbol(S);
 od;
 ^R;
end;

Proc Clear;
 ClearVariable(Упр);
 ClearVariable(НаимПСБ);
 ClearVariable(НомИзв);
 ClearVariable(ДатаИзв);
 ClearVariable(СумИзв);
 ClearVariable(UKey);
 ClearVariable(ПСБ);
 ClearVariable(is69н);
 ClearVariable(BufПСБ);
 ClearVariable(BufНаимПСБ);
end;

Func PlaceПСБ (ПСБ_:S):I;
var n:i;
 for n=1..Упр do
  if НаимПСБ[n]=ПСБ_:
     if НаимПСБ[n+1]<>ПСБ_:
	InsertFrame(Упр,n+1);
	^n+1;
     fi;
  fi;
 od;
 InsertFrame(Упр,Упр+1);
 ^Упр;
end;

Func РасчетИзвПСБTrans (OWA:I; N:I; F:S):L;
var ПСБ_,ПСБ__,tmp,:S;
var Сум:N;
var f69н:L;
var nn,nr:I;
 f69н=GetFieldL(OWA,n,"is69н");
 if f69н: ПСБ_=GetFieldS(OWA,n,"ПолучПризнак"); fi;
 OA=OpenArray(OWA,n,"ПОЗИЦИИ","",F);
 nr=Records(OA);
 if nr=0: ^True; fi;
 ПСБ__="";
 Сум=0;
 for nn=1..nr do
  if not f69н:
     tmp=GetFieldS(OA,nn,"ПРИЗН");
     ПСБ_=Раб.Бюджет.ВзятьПризнакИзНабораПоМаске(tmp,"ПБС.*"," ");
     if nn=1: ПСБ__=ПСБ_; fi;
     if ПСБ__<>ПСБ_: Message("Несколько получателей в извещении",mtError); ^False; fi;
  fi;
  Сум=Сум+GetFieldN(OA,nn,"СУМ");
 od;
 nn=PlaceПСБ(ПСБ_);
 НаимПСБ[nn]=ПСБ_;
 НомИзв[nn]=GetFieldS(OWA,n,"НОМЕРБУМ");
 ДатаИзв[nn]=GetFieldD(OWA,n,"ДАТАИЗВ");
 СумИзв[nn]=Сум;
 Ukey[nn]=GetRecordKey(OWA,n);
 is69н[nn]=f69н;
 ПСБ[nn]=ПСБ_;
 ^True;
end;

Proc Расчет;
var OWA,n,nr,nn:i;
var F1,ПСБ_,F2,БК,КОСГУ:S;
var Flag:L;
 if ДК=1.1.100: Message("Введите дату",mtError); Template.Field="ДК"; Exit; fi;
 Try
  Clear;
  F1="ДАТАИЗВ<="+DateToString(ДК)+" and ПРОВОДИТЬ=True and not ВОЗВРАТ2";
  if МаскаБК="": 
     F2=""; 
    else 
     БК=Раб.Бюджет2005.ВзятьКодКБК(МаскаБК,"","КБК",False);
     КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(МаскаБК,"","КОСГУ",False);
     F2="Match(СЧДЕБ,'"+БК+".?.304.04."+КОСГУ+"') or Match(СЧКРЕ,'"+БК+".?.304.04."+КОСГУ+"')";
  fi;
  OWA=OpenWorkArea("РПО_ИЗВЕЩЕНИЯ_ИСХ","ДАТАИЗВ;НОМЕР",F1);
  Try
   Nr=Records(OWA);
   ShowProgress(nr*2,"Расчет....");
   Flag=True;
   for n=1..NR do
    ProgressPos(n);
    Flag=РасчетИзвПСБTrans(OWA,N,F2);
    if Flag=False:
       OpenBlankEditor("ДОКУМЕНТЫ.ЦЕНТРСНАБ.ИЗВЕЩ_ИСХ",OWA,n);
       Break;
    fi;
   od;
  Finally
   CloseWorkArea(OWA);
  end;
  ПСБ_="";
  nn=0;
  ShowProgress(Упр*2,"Расчет.....");
  for n=1..Упр do
   if BufПСБ[nn]<>ПСБ[n]: nn=nn+1; BufПСБ[nn]=ПСБ[n]; BufНаимПСБ[nn]=Name_A(ПСБ[n]); fi;
   ProgressPos(Упр+n);
   if ПСБ_<>НаимПСБ[n]:
      ПСБ_=НаимПСБ[n];
      НаимПСБ[n]=Name_A(ПСБ_);
      if НаимПСБ[n]="" or НаимПСБ[n]=" ": НаимПСБ[n]=ПСБ_; fi;
     else
      НаимПСБ[n]='-""-';
   fi;
  od;
 Finally
  CloseProgress;
 end;
 Message("Расчет завершен");
end;

Proc Оформление;
 btnЗагрузитьШтамп.Enabled=ШтампПечать;
 btnПроверитьШтамп.Enabled=ШтампПечать;
 ed_Штамп_X.Enabled=ШтампПечать;
 ed_Штамп_Y.Enabled=ШтампПечать;
 ed_Штамп_W.Enabled=if(ШтампПечать,if(ШтампАвтоРазмер,False,True),False);
 ed_Штамп_H.Enabled=if(ШтампПечать,if(ШтампАвтоРазмер,False,True),False);
 cbШтампАвтоРазмер.Enabled=ШтампПечать;
 picШтамп.Visible=ШтампПечать;
 picШтамп.Width=Штамп_W;
 picШтамп.Height=Штамп_H;
 picШтамп.AutoSize=ШтампАвтоРазмер;
 lbШтамп.Visible=ШтампПечать;
end;

Proc ПередатьШтамп;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.Штамп=Штамп;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.ШтампПечать=ШтампПечать;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.Штамп_X=Штамп_X;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.Штамп_Y=Штамп_Y;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.Штамп_W=Штамп_W;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.Штамп_H=Штамп_H;
 РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО.ШтампАвтоРазмер=ШтампАвтоРазмер;
end;
--Процедуры и функции -------------			      
--
--
--Обработчики событий полей шаблона-----
Proc Дата_OnExit(FieldName: String; Iter: Integer);
 if FieldName="ДК" and not ДК=1.1.100: ДСрок=ДК+14; fi;
 Clear;
end;

Func Дата_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var tmp:D;
var Field:S;
 Template.HideEditor(False);
 tmp=Calendar;
 if not tmp=1.1.100:
    Field=AsString(Template.Field);
    PutVariableD(Field,tmp);
    if Field="ДК": ДСрок=ДК+14; fi;
    Clear;
 fi;
 Return Cur;
end;

Func НаимУчр_OnEnter(FieldName: String; Iter: Integer): logical;
var Rec: Record;
 Rec=OpenCardFile("Контрагент","Наше",Учр,crdRecordOnly);
 if Rec=nil: ^False; fi;
 Учр=Rec;
 НаимУчр=GetCardFieldS("Контрагент",Rec,"КорИмя");
 Return False;
end;

Func МаскаБК_OnEnter(FieldName: String; Iter: Integer): logical;
var n:i;
 ClearVariable(Buf);
 Buf[1]="ФКР --Классификация расходов";
 Buf[2]="КД --Классификация доходов";
 Buf[3]="КИФД --Классификация источников финансирования дефицитов";
 n=Alternate("Тип классификации",Buf,-1,1,12);
 if n=0: ^False; fi;
 МаскаБК=Раб.КБК.ВыбратьМаскуКБК(SubStr(Buf[n],1,Pos(" --",Buf[n])-1),"*.?.304.04.*",МаскаБК,True);
 Clear;
 Return False;
end;


Proc МаскаБК_OnExit(FieldName: String; Iter: Integer);
 МаскаБК="";
 Clear;
end;

Func ФИО_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Field:S;
var Rec:Record;
var v1,v2:S;
 Template.HideEditor(False);
 Field=AsString(Template.Field);
 Template.HideEditor(False);
 Rec=OpenCardFile("Сотрудники");
 if not Rec=nil:
    v1=GetCardFieldS("Сотрудники",rec,"ДОЛЖНОСТЬ.Долж");
    v2=GetCardFieldS("Сотрудники",rec,"ФАМИЛИЯ")+" "+GetCardFieldS("Сотрудники",rec,"ИНИЦИАЛЫ");
    if Field="ДолжнБух" or Field="ФИОБух": ДолжнБух=v1; ФИОБух=v2; fi;
 fi;
 Return Cur;
end;

Func Изв (Field:S; Iter:I):L;
 if not UKey[Iter]=nil:
    if is69н[Iter]:
       OpenBlank("ДОКУМЕНТЫ.ЦЕНТРСНАБ.ИЗВЕЩ_ИСХ_69Н",True,UKey[Iter]);
      else
       OpenBlank("ДОКУМЕНТЫ.ЦЕНТРСНАБ.ИЗВЕЩ_ИСХ",True,UKey[Iter]);
    fi;
 fi;
 ^False;
end;
--Обработчики событий полей шаблона-----
--
--
--Обработчики событий объектов шаблона-----
Proc btnРасчет_onClick (Obj:S);
 Расчет;
end;

Proc btnФайл_onClick (Obj:S);
var Rec:Record;
var n,p:i;
var ПСБ_,tmp:S;
 if ДСрок=1.1.100: Message("Введите срок",mtError); Template.Field="ДСрок"; Exit; fi;
 if Учр=nil or not RecordExists("Контрагент",Учр) or НаимУчр="": НаимУчр=""; Message("Выберите учреждение отправитель",mtError); Template.Field="НаимУчр"; Exit; fi;
 if ШтампПечать and Штамп="": Message("Выберите угловой штамп",mtError);  Template.Object="btnЗагрузитьШтамп"; Exit; fi;
 p=ChooseFolder(Folder,"Выберите папку");
 if p=cmCancel: Message("Отказ от импорта",mtError); Exit; fi;
 ПередатьШтамп;
 n=1;
 RefreshAna;
 While n<=Упр do
  Раб.вспом.изв_исх_неподтв_письмо.Clear;
  Раб.вспом.изв_исх_неподтв_письмо.ОтКого=НаимУчр;
  Раб.вспом.изв_исх_неподтв_письмо.ДолжнБух=ДолжнБух;
  Раб.вспом.изв_исх_неподтв_письмо.ФИОБух=ФИОБух;
  Раб.вспом.изв_исх_неподтв_письмо.Кому=НаимПСБ[n];
  Rec=SignToRecord(ПСБ[n],False);
  if Rec<>nil:
     Раб.вспом.изв_исх_неподтв_письмо.Адрес=GetCardFieldS("Контрагент",Rec,"ПочтАдрес");
     tmp=GetCardFieldS("Контрагент",Rec,"ДОЛЖНРУК");
     if SubStr(tmp,Length(tmp),1)<>"у" and tmp<>"": tmp=tmp+"у"; fi;
    -- ДОКУМЕНТЫ.РЕЕСТР_ИЗВ_НЕП0ДТВ_ПИСЬМО.Начальнику=tmp;
  fi;
  Раб.вспом.изв_исх_неподтв_письмо.Дата=ДК;
  Раб.вспом.изв_исх_неподтв_письмо.Срок=ДСрок;
  Раб.вспом.изв_исх_неподтв_письмо.МаскаБК=МаскаБК_;
  ПСБ_=ПСБ[n];
  tmp=НаимПСБ[n];
  p=Pos('"',tmp);
  While p>0 do
   tmp=Раб.Формат.ReplaceSubstr(tmp,'"',"'");
   p=Pos('"',tmp);
  od;
  While ПСБ_=ПСБ[n] do
   Раб.вспом.изв_исх_неподтв_письмо.Упр=Раб.вспом.изв_исх_неподтв_письмо.Упр+1;
   Раб.вспом.изв_исх_неподтв_письмо.НомИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=НомИзв[n];
   Раб.вспом.изв_исх_неподтв_письмо.ДатаИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=ДатаИзв[n];
   Раб.вспом.изв_исх_неподтв_письмо.СумИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=СумИзв[n];
   n=n+1;
  od;
  tmp=Trim(tmp);
  tmp=Convert(tmp);
  tmp=tmp+".rtf";
  ExportRTF("Раб.вспом.изв_исх_неподтв_письмо",folder+tmp);
 od;
 Message("Импорт завершен");
end;

Proc btnПисьмо_onClick (Obj:S);
var Rec:Record;
var n:i;
var ПСБ_,tmp:S;
 if ДСрок=1.1.100: Message("Введите срок подтверждения",mtError); Template.Field="ДСрок"; Exit; fi;
 if Учр=nil or not RecordExists("Контрагент",Учр) or НаимУчр="": НаимУчр=""; Message("Выберите учреждение отправитель",mtError); Template.Field="НаимУчр"; Exit; fi;
 if ШтампПечать and Штамп="": Message("Выберите угловой штамп",mtError);  Template.Object="btnЗагрузитьШтамп"; Exit; fi;
 if Упр=0: Message("Выполните расчет",mtError); Template.Object="btnРасчет"; Exit; fi;
 ClearVariable(Buf);
 for n=1..Упр do
  AddInArray(Buf,True,False,ПСБ[n]);
 od;
 if EnqOkCancel("Вы уверены что хотите распечать "+Str(LengthOfArray(Buf))+" писем ?",mtWarning)=cmCancel: Exit; fi;
 ПередатьШтамп;
 n=1;
 RefreshAna;
 While n<=Упр do
  Раб.вспом.изв_исх_неподтв_письмо.Clear;
  Раб.вспом.изв_исх_неподтв_письмо.ОтКого=НаимУчр;
  Раб.вспом.изв_исх_неподтв_письмо.ДолжнБух=ДолжнБух;
  Раб.вспом.изв_исх_неподтв_письмо.ФИОБух=ФИОБух;
  Раб.вспом.изв_исх_неподтв_письмо.Кому=НаимПСБ[n];
  Rec=SignToRecord(ПСБ[n],False);
  if Rec<>nil:
     Раб.вспом.изв_исх_неподтв_письмо.Адрес=GetCardFieldS("Контрагент",Rec,"ПочтАдрес");
     tmp=GetCardFieldS("Контрагент",Rec,"ДОЛЖНРУК");
     if SubStr(tmp,Length(tmp),1)<>"у": tmp=tmp+"у"; fi;
    -- ДОКУМЕНТЫ.РЕЕСТР_ИЗВ_НЕП0ДТВ_ПИСЬМО.Начальнику=tmp;
  fi;
  Раб.вспом.изв_исх_неподтв_письмо.Дата=ДК;
  Раб.вспом.изв_исх_неподтв_письмо.Срок=ДСрок;
  Раб.вспом.изв_исх_неподтв_письмо.МаскаБК=МаскаБК_;
  ПСБ_=ПСБ[n];
  While ПСБ_=ПСБ[n] do
   Раб.вспом.изв_исх_неподтв_письмо.Упр=Раб.вспом.изв_исх_неподтв_письмо.Упр+1;
   Раб.вспом.изв_исх_неподтв_письмо.НомИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=НомИзв[n];
   Раб.вспом.изв_исх_неподтв_письмо.ДатаИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=ДатаИзв[n];
   Раб.вспом.изв_исх_неподтв_письмо.СумИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=СумИзв[n];
   n=n+1;
  od;
  Раб.вспом.изв_исх_неподтв_письмо.Prn=True;
  OpenBlank("Раб.вспом.изв_исх_неподтв_письмо");
 od;
 Message("Печать завершена");
end;

Proc btnПисьмо1_onClick (Obj:S);
var Rec:Record;
var n,z:i;
var ПСБ_,tmp:S;
 if ДСрок=1.1.100: Message("Введите срок подтверждения",mtError); Template.Field="ДСрок"; Exit; fi;
 if Учр=nil or not RecordExists("Контрагент",Учр) or НаимУчр="": НаимУчр=""; Message("Выберите учреждение отправитель",mtError); Template.Field="НаимУчр"; Exit; fi;
 if ШтампПечать and Штамп="": Message("Выберите угловой штамп",mtError);  Template.Object="btnЗагрузитьШтамп"; Exit; fi;
 z=Alternate("Выберите грузополучателя",BufНаимПСБ,-1,1,12);
 ПередатьШтамп;
 n=1;
 RefreshAna;
 While n<=Упр do
  if ПСБ[n]=BufПСБ[z]:
     Раб.вспом.изв_исх_неподтв_письмо.Clear;
     Раб.вспом.изв_исх_неподтв_письмо.ОтКого=НаимУчр;
     Раб.вспом.изв_исх_неподтв_письмо.ДолжнБух=ДолжнБух;
     Раб.вспом.изв_исх_неподтв_письмо.ФИОБух=ФИОБух;
     Раб.вспом.изв_исх_неподтв_письмо.Кому=НаимПСБ[n];
     Rec=SignToRecord(ПСБ[n],False);
     if Rec<>nil: 
	Раб.вспом.изв_исх_неподтв_письмо.Адрес=GetCardFieldS("Контрагент",Rec,"ПочтАдрес");
	tmp=GetCardFieldS("Контрагент",Rec,"ДОЛЖНРУК");
	if SubStr(tmp,Length(tmp),1)<>"у": tmp=tmp+"у"; fi;
       --- ДОКУМЕНТЫ.РЕЕСТР_ИЗВ_НЕП0ДТВ_ПИСЬМО.Начальнику=tmp;
     fi;
     Раб.вспом.изв_исх_неподтв_письмо.Дата=ДК;
     Раб.вспом.изв_исх_неподтв_письмо.Срок=ДСрок;
     Раб.вспом.изв_исх_неподтв_письмо.МаскаБК=МаскаБК_;
     ПСБ_=ПСБ[n];
     While ПСБ_=ПСБ[n] do
      Раб.вспом.изв_исх_неподтв_письмо.Упр=Раб.вспом.изв_исх_неподтв_письмо.Упр+1;
      Раб.вспом.изв_исх_неподтв_письмо.НомИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=НомИзв[n];
      Раб.вспом.изв_исх_неподтв_письмо.ДатаИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=ДатаИзв[n];
      Раб.вспом.изв_исх_неподтв_письмо.СумИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=СумИзв[n];
      n=n+1;
     od;
     Раб.вспом.изв_исх_неподтв_письмо.Prn=False;
     OpenBlank("Раб.вспом.изв_исх_неподтв_письмо");
    else
     n=n+1;
  fi;
 od;
end;

Proc btnФайл1_onClick (Obj:S);
var Rec:Record;
var n,p,z:i;
var ПСБ_,tmp:S;
 if ДСрок=1.1.100: Message("Введите срок подтверждения",mtError); Template.Field="ДСрок"; Exit; fi;
 if Учр=nil or not RecordExists("Контрагент",Учр) or НаимУчр="": НаимУчр=""; Message("Выберите учреждение отправитель",mtError); Template.Field="НаимУчр"; Exit; fi;
 if ШтампПечать and Штамп="": Message("Выберите угловой штамп",mtError);  Template.Object="btnЗагрузитьШтамп"; Exit; fi;
 z=Alternate("Выберите грузополучателя",BufНаимПСБ,-1,1,12);
 if z=0: Message("Отказ от печати"); Exit; fi;
 ПередатьШтамп;
 p=ChooseFolder(Folder,"Выберите папку");
 if p=cmCancel: Message("Отказ от импорта",mtError); Exit; fi;
 n=1;
 RefreshAna;
 While n<=Упр do
  if ПСБ[n]=BufПСБ[z]:
     Раб.вспом.изв_исх_неподтв_письмо.Clear;
     Раб.вспом.изв_исх_неподтв_письмо.ОтКого=НаимУчр;
     Раб.вспом.изв_исх_неподтв_письмо.ДолжнБух=ДолжнБух;
     Раб.вспом.изв_исх_неподтв_письмо.ФИОБух=ФИОБух;
     Раб.вспом.изв_исх_неподтв_письмо.Кому=НаимПСБ[n];
     Rec=SignToRecord(ПСБ[n],False);
     if Rec<>nil: 
	Раб.вспом.изв_исх_неподтв_письмо.Адрес=GetCardFieldS("Контрагент",Rec,"ПочтАдрес");
	tmp=GetCardFieldS("Контрагент",Rec,"ДОЛЖНРУК");
	if SubStr(tmp,Length(tmp),1)<>"у": tmp=tmp+"у"; fi;
       -- ДОКУМЕНТЫ.РЕЕСТР_ИЗВ_НЕП0ДТВ_ПИСЬМО.Начальнику=tmp;
     fi;
     Раб.вспом.изв_исх_неподтв_письмо.Дата=ДК;
     Раб.вспом.изв_исх_неподтв_письмо.Срок=ДСрок;
     Раб.вспом.изв_исх_неподтв_письмо.МаскаБК=МаскаБК_;
     ПСБ_=ПСБ[n];
     tmp=НаимПСБ[n];
     p=Pos('"',tmp);
     While p>0 do
      tmp=Раб.Формат.ReplaceSubstr(tmp,'"',"'");
      p=Pos('"',tmp);
     od;
     While ПСБ_=ПСБ[n] do
      Раб.вспом.изв_исх_неподтв_письмо.Упр=Раб.вспом.изв_исх_неподтв_письмо.Упр+1;
      Раб.вспом.изв_исх_неподтв_письмо.НомИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=НомИзв[n];
      Раб.вспом.изв_исх_неподтв_письмо.ДатаИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=ДатаИзв[n];
      Раб.вспом.изв_исх_неподтв_письмо.СумИзв[Раб.вспом.изв_исх_неподтв_письмо.Упр]=СумИзв[n];
      n=n+1;
     od;
     tmp=Раб.Формат.Trim(tmp);
     tmp=Convert(tmp);
     tmp=tmp+".rtf";
     ExportRTF("Раб.вспом.изв_исх_неподтв_письмо",folder+tmp);
     if ExistFile(folder+tmp):
	if EnqOkCancel("Импорт завершен. Открыть документ ?")=cmOk: ExecuteProgram('"'+folder+tmp+'"'); fi;
     fi;
    else
     n=n+1;
  fi;
 od;
end;

Proc btnПечать_onClick(Sender: String);
 Раб.Настр_Печать.Prn("","","Rpo_Изв_Исх_Неподтв_Письмо_000.cfg","",1);
end;

Proc btnЗагрузитьШтамп_OnClick(Sender: String);
 if ChooseFile(Штамп,"Изображение углового штампа...","Рисунки|*.bmp; *.pic; *.wmf;*.emf")=cmCancel: Exit; fi;
 picШтамп.LoadPicture(Штамп);
end;

Proc cbПечатьШтамп_OnChange(Sender: String);
 Оформление;
 ПередатьШтамп;
end;

Proc btnПроверитьШтамп_OnClick(Sender: String);
 if Штамп="": Message("Выберите угловой штамп",mtError);  Template.Object="btnЗагрузитьШтамп"; Exit; fi;
 ПередатьШтамп;
 OpenBlank("РАБ.ВСПОМ.ИЗВ_ИСХ_НЕПОДТВ_ПИСЬМО",True);
end;

Proc ed_Штамп_W_OnEditing (Sender: String; L: Logical);
var Obj:Object;
 if not L:
    if not FindObject(Sender,Obj): Exit; fi;
    Штамп_W=AsInteger(Obj.Text);
    picШтамп.Width=Штамп_W;
 fi;
end;

Proc ed_Штамп_H_OnEditing (Sender: String; L: Logical);
var Obj:Object;
 if not L:
    if not FindObject(Sender,Obj): Exit; fi;
    Штамп_H=AsInteger(Obj.Text);
    picШтамп.Height=Штамп_H;
 fi;
end;

Proc cbШтампАвтоРазмер_OnChange(Sender: String);
 Оформление;
end;
--Обработчики событий объектов шаблона-----
--
--
--Обработчики событий шаблона -----
Proc OnOpen(Create: Logical);
 Оформление;
 if Учр=nil or НаимУчр="":
    Учр=Раб.Бюджет2005.НашРекв;
    if Учр=nil: НаимУчр=""; else НаимУчр=GetCardFieldS("Контрагент",Учр,"КорИмя"); fi;
 fi;
 Раб.Настр_Печать.Cfg("","Rpo_Изв_Исх_Неподтв_Письмо_000.cfg");
 ШтампАвтоРазмер=False;
end;
--Обработчики событий шаблона -----
--



Конец
