-- Шаблон создан мастером бланков
-- 13.06.2002 11:29:35
--
БланкСШаблоном "Книга учета материальных ценностей поступивших в централизованном порядке";

var Упр: Handle;
var УпрОтправ:Handle;

var ПолнИмя[]:S;
var ОКПО1[]:S;

ПризнПодр:S;
var НаимПодр:S=if(Name_A(ПризнПодр)="" or Name_A(ПризнПодр)=" ",ПризнПодр,Name_A(ПризнПодр));

var ОтправОРГ[]:S;
var NameCrd:S="РПО_ИЗВЕЩЕНИЯ_ВХ";

var ОРГ:S;
var НаимОРГ:S;
var ОКПО2:S;

Вал:S=[BaseCurrency];
ОКЕИ:S;


FlagНИ:L;

MM:I;
var MMTxt:S=if(MM<=12,Месяц(MM),if(MM=13,"Год",if(MM=14,"I квартал",if(MM=15,"II квартал",if(MM=16,"III квартал","IV квартал")))));
YYYY:I=[Year(ToDay)];
var ДН_:D=if(MM<13,Dat(1,MM,YYYY),if(MM=13,Dat(1,1,YYYY),if(MM=14,Dat(1,1,YYYY),if(MM=15,Dat(1,4,YYYY),if(MM=16,Dat(1,7,YYYY),Dat(1,10,YYYY))))));
var ДН:D=if(FlagНИ,Dat(1,1,YYYY),ДН_);
var ДК:D=if(MM<12,Dat(1,MM+1,YYYY),if(MM=12 or MM=13 or MM=17,Dat(1,1,YYYY+1),if(MM=14,Dat(1,4,YYYY),if(MM=15,Dat(1,7,YYYY),if(MM=16,Dat(1,10,YYYY))))));

var пп[]:i=$;
var c01[]:S;
var c02[]:S;
var c03[]:S;
var c04[]:S;
var c06[]:N;
var c07[]:S;
var c08[]:N;
var Ukey[]:Record;
var is69н[]:L;

var SumC06:N;
var SumC08:N;

var Buf[]:S;
var Buf1[]:S;
var Buf2[]:S;
var BufОтправОРГ[]:S;
var BufНаимОтправОРГ[]:S;
var BufОрг[]:S;
var BufНаимОрг[]:S;

var StoreMM:I;
var StoreYYYY:I;
var StoreОтправОРГ:S;

FlagДок:L;
--
--Процедуры и функции -------------   

Proc ClearData;
 ClearVariable(Упр);
 ClearVariable(c01);
 ClearVariable(c02);
 ClearVariable(c03);
 ClearVariable(c04);
 ClearVariable(c06);
 ClearVariable(c07);
 ClearVariable(c08);
 ClearVariable(Ukey);
 ClearVariable(is69н);
 ClearVariable(SumC06);
 ClearVariable(SumC08);
end;

Proc Clear;
 ClearVariable(Buf);
 ClearVariable(Buf1);
 ClearData;
end;

Proc УдалитьПустыеСтроки;
var n:i;
 n=1; 
 While n<=УпрОтправ do
  if ПолнИмя[n]="":
     DeleteFrame(УпрОтправ,n);
    else
     n=n+1;
  fi;
 od;
 if УпрОтправ<1: InsertFrame(УпрОтправ,УпрОтправ+1);fi;
end;

Proc СписокОтправОргField;
var OWA:I;
var NumRec1,n1,n:I;
var Rec,tmp:s;
var Filter:S;
 Filter="(ДВОЗВРАТ2>="+DateToString(ДН)+"and ДВОЗВРАТ2<"+DateToString(ДК)+") and ПРОВОДИТЬ=True";
 ClearVariable(BufОтправОрг);
 ClearVariable(BufНаимОтправОРГ);
 OWA=OpenWorkArea(NameCrd,"",Filter+" and Валюта='"+Вал+"'");
 Try
  NumRec1=Records(OWA);
  ShowProgress(NumRec1,"Поиск учреждений отправителей...");
  for n1=1..NumRec1 do
   ProgressPos(n1);
   Rec=RecordToString(GetFieldR(OWA,n1,"ОТПРАВРЕКВ"));
   if Rec<>"":
      n=SearchInArray(BufОтправОРГ,Rec,False);
      if n=-1:
	 tmp=GetFieldS(OWA,n1,"ОТПРАВРЕКВ.КОРИМЯ");
	 if tmp="": tmp=CardFileRecSign("КОНТРАГЕНТ","ПРИЗНАК","",StringToRecord(Rec)); tmp=SubStr(tmp,2,255); fi;
	 n=InsertInArraySort(BufНаимОтправОРГ,tmp);
	 InsertInArray(BufОтправОРГ,n,Rec);
      fi;
   fi;
  od;
  InsertInArray(BufОтправОРГ,1,"!");
  InsertInArray(BufНаимОтправОРГ,1,"Все учреждения-отправители");
 Finally
  CloseWorkArea(OWA);
  CloseProgress;
 end;
 ClearVariable(ПолнИмя);
 ClearVariable(ОтправОРГ);
 ClearVariable(ОКПО1);
 ClearVariable(НаимОРГ);
 ClearVariable(ОРГ);
 ClearVariable(ОКПО2);
end;

Proc СписокОргField;
var OWA,OA:I;
var NumRec1,NumRec2,n,n1,n2:I;
var Rec,tmp:s;
var Filter,F1,F2:S;
var f69н:L;
 F1="(ДВОЗВРАТ2>="+DateToString(ДН)+" and ДВОЗВРАТ2<"+DateToString(ДК)+" and ПРОВОДИТЬ=True)";
 if ОтправОрг[1]<>"!":
    F2=" and (";
    for n=1..УпрОтправ do
     F2=F2+"ОТПРАВРЕКВ="+ОтправОрг[n]+" or ";
    od;
    F2=SubStr(F2,1,Length(F2)-4)+")";
 fi;
 if Length(F1)+Length(F2)>255: Message("Слишком длинное условие отбора извещений, сократите список учреждений отправителей",mtError); Template.Field="ПолнИмя"; Template.Frame=УпрОтправ; Exit; fi;
 Filter=F1+F2;
 ClearVariable(BufОрг);
 ClearVariable(BufНаимОрг);
 OWA=OpenWorkArea(NameCrd,"",Filter+" and Валюта='"+Вал+"'");
 Try
  NumRec1=Records(OWA);
  ShowProgress(NumRec1,"Поиск учреждений получателей...");
  for n1=1..NumRec1 do
   ProgressPos(n1);
   f69н=GetFieldL(OWA,n1,"is69н");
   if n1=1: OA=OpenArray(OWA,n1,"ПОЛУЧ",""); fi;
   if f69н:
      Rec=RecordToString(GetFieldR(OWA,n1,"ПОЛУЧРЕКВ"));
      if not Rec="":
	 n=SearchInArray(BufОРГ,Rec,False);
	 if n=-1:
	    tmp=GetFieldS(OWA,n1,"ПОЛУЧРЕКВ.КОРИМЯ");
	    if tmp="": tmp=CardFileRecSign("КОНТРАГЕНТ","ПРИЗНАК","",StringToRecord(Rec)); tmp=SubStr(tmp,2,255); fi;
	    n=InsertInArraySort(BufНаимОРГ,tmp);
	    InsertInArray(BufОРГ,n,Rec);
	 fi;
      fi;
   fi;
   NumRec2=Records(OA);
   for n2=1..NumRec2 do
    Rec=RecordToString(GetFieldR(OA,n2,"РЕКВ"));
    if Rec<>"":
       n=SearchInArray(BufОРГ,Rec,False);
       if n=-1:
	  tmp=GetFieldS(OA,n2,"РЕКВ.КОРИМЯ");
	  if tmp="": tmp=CardFileRecSign("КОНТРАГЕНТ","ПРИЗНАК","",StringToRecord(Rec)); tmp=SubStr(tmp,2,255); fi;
	  n=InsertInArraySort(BufНаимОРГ,tmp);
	  InsertInArray(BufОРГ,n,Rec);
       fi;
    fi;
   od;
  od;
 Finally
  CloseWorkArea(OWA);
  CloseProgress;
 end;
 ClearVariable(ОРГ);
 ClearVariable(НаимОРГ);
 ClearVariable(ОКПО2);
end;

Proc РасчетField;
var OWA,OAПолуч,OAПозиции:I;
var NumRec1,NumRec2,n,n1,n2:I;
var tmp:s;
var Filter,F1,F2:S;
var Sum1,Sum2:N;
var f69н:L;
 Sum1=0;
 Sum2=0;
 F1="(ДВОЗВРАТ2>="+DateToString(ДН)+" and ДВОЗВРАТ2<"+DateToString(ДК)+" and ПРОВОДИТЬ=True)";
 if ОтправОрг[1]<>"!":
  F2=" and (";
  for n=1..УпрОтправ do
   F2=F2+"ОТПРАВРЕКВ="+ОтправОрг[n]+" or ";
  od;
  F2=SubStr(F2,1,Length(F2)-4)+")";
 fi;
 if Length(F1)+Length(F2)>255: Message("Слишком длинное условие отбора извещений, сократите список учреждений отправителей",mtError); Template.Field="НаимОтправ"; Template.Frame=УпрОтправ; Exit; fi;
 Filter=F1+F2;
 ClearData;
 OWA=OpenWorkArea(NameCrd,"ДАТАИЗВ; НОМЕР",Filter+" and Валюта='"+Вал+"'");
 Try
  NumRec1=Records(OWA);
  ShowProgress(NumRec1,"Расчет...");
  for n1=1..NumRec1 do
   ProgressPos(n1);
   Sum1=0;
   Sum2=0;
   f69н=GetFieldL(OWA,n1,"is69н");
   if n1=1: 
      OAПолуч=OpenArray(OWA,n1,"ПОЛУЧ","","РЕКВ="+ОРГ);
      OAПозиции=OpenArray(OWA,n1,"ПОЗИЦИИ","","Match(ПолучПризн,'*"+ПризнПодр+"*')or Match(ПолучПризнДеб,'*"+ПризнПодр+"*')or Match(ПолучПризнКре,'*"+ПризнПодр+"*')");
   fi;
   if not Records(OAПолуч)=0 or (f69н and RecordToString(GetFieldR(OWA,n1,"ПолучРекв"))=ОРГ):
      NumRec2=Records(OAПозиции);
      if FlagДок:
	 if not NumRec2=0:
	    InsertFrame(Упр,Упр+1);
	    c01[Упр]=DateToString(GetFieldD(OWA,n1,"ДатаОрд"));
	    c01[Упр]=c01[Упр]+" ж/о "+SubStr(GetFieldS(OWA,n1,"НомОрд"),4,255);
	    c02[Упр]=DateToString(GetFieldD(OWA,n1,"ДатаИзв"));
	    c02[Упр]=c02[Упр]+" № "+GetFieldS(OWA,n1,"НомерБум");
	    c03[Упр]=GetFieldS(OWA,n1,"ОтправРекв.КорИмя");
	    c06[Упр]=GetFieldN(OWA,n1,"Сумма");
	    Sumc06=Sumc06+c06[Упр];
	    c07[Упр]=DateToString(GetFieldD(OWA,n1,"ДВозврат2"));
	    c08[Упр]=GetFieldN(OWA,n1,"СуммаПолуч");
	    Sumc08=Sumc08+c08[Упр];
	    Ukey[Упр]=GetRecordKey(OWA,n1);
	    is69н[Упр]=f69н;
	  fi;
	else
	 for n2=1..NumRec2 do
	  InsertFrame(Упр,Упр+1);
	  c01[Упр]=DateToString(GetFieldD(OWA,n1,"ДатаОрд"));
	  c01[Упр]=c01[Упр]+" ж/о "+SubStr(GetFieldS(OWA,n1,"НомОрд"),4,255);
	  c02[Упр]=DateToString(GetFieldD(OWA,n1,"ДатаИзв"));
	  c02[Упр]=c02[Упр]+" № "+GetFieldS(OWA,n1,"НомерБум");
	  tmp=Раб.Бюджет2005.ВзятьСловоИзНабораПоМаске(GetFieldS(OAПозиции,n2,"ПолучПризн")," ","К.*","");
	  if tmp="": Раб.Бюджет2005.ВзятьСловоИзНабораПоМаске(GetFieldS(OAПозиции,n2,"ПолучПризнДеб")," ","К.*",""); fi;
	  if tmp="": Раб.Бюджет2005.ВзятьСловоИзНабораПоМаске(GetFieldS(OAПозиции,n2,"ПолучПризнКре")," ","К.*",""); fi;
	  if tmp="":
	     c03[Упр]=GetFieldS(OWA,n1,"ОтправРекв.КорИмя");
	    else
	     c03[Упр]=Name_A(tmp);
	     if c03[Упр]="" or c03[Упр]=" ": c03[Упр]=tmp; fi;
	  fi;
	  c04[Упр]=GetFieldS(OAПозиции,n2,"Содерж");
	  c06[Упр]=GetFieldN(OAПозиции,n2,"Сум");
	  Sum1=Sum1+c06[Упр];
	  c07[Упр]=DateToString(GetFieldD(OWA,n1,"ДВозврат2"));
	  c08[Упр]=GetFieldN(OAПозиции,n2,"ПолучСум");
	  Sum2=Sum2+c08[Упр];
	  Ukey[Упр]=GetRecordKey(OWA,n1);
	  is69н[Упр]=f69н;
	 od; --for n2=1..NumRec2 do
	 --Итого по извещению
	 if NumRec2>1:
	    InsertFrame(Упр,Упр+1);
	    c01[Упр]="		     x";
	    c02[Упр]="Итого";
	    c03[Упр]="				     x";
	    c04[Упр]="					       x";
	    c06[Упр]=Sum1;
	    c07[Упр]=DateToString(GetFieldD(OWA,n1,"ДВозврат2"));
	    c08[Упр]=Sum2;
	    Ukey[Упр]=GetRecordKey(OWA,n1);
	    is69н[Упр]=f69н;
	 fi; --if NumRec2>1:
	 SumC06=SumC06+Sum1;
	 SumC08=SumC08+Sum2;
      fi; --if FlagДок:
   fi; --Records(OAПолуч)>0
  od; --for n1=1..NumRec1 do
 Finally
  CloseWorkArea(OWA);
  CloseProgress;
 end;
end;

Func Проверить:L;
 if MM=0: Message("Введите месяц расчета",mtError); Template.Field="MMTxt"; ^False; fi;
 if YYYY=0: Message("Введите год расчета",mtError); Template.Field="YYYY"; ^False; fi;
 if Вал="": Message("Введите валюту отчета",mtError); Template.Field="Вал"; ^False; fi;
 ^True;
end;
--Процедуры и функции -------------			      
--
--Обработчики событий полей шаблона-----
Func MMTxt_onEnter (Field:S; Iter:I):L;
var i:I;
 ClearVariable(Buf);
 for i=1..12 do Buf[i]=Месяц(i); od;
 Buf[13]="Год";
 Buf[14]="I квартал";
 Buf[15]="II квартал";
 Buf[16]="III квартал";
 Buf[17]="IV квартал";
 I=Alternate("Выбор месяца расчета",Buf,30,Mon(ToDay),12);
 if I=0: ^False; fi;
 MM=I;
 ClearVariable(Buf);
 ClearData;
 if MM>0 and YYYY>100: 
  СписокОтправОргField;
  if BufОтправОрг[1]="": Message("В данном периоде ни одно из учреждений извещений не отправляло"); fi;
 fi;
 ^False;
end;

Func YYYY_onEnter (Field:S; Iter:I):L;
var i:i;
 ClearVariable(Buf);
 for i=1..5 do	Buf[i]=Str(Year(ToDay)+I-4); od;
 i=Alternate("Выбор года расчета",Buf,30,4,12);
 if I=0: ^False; fi;
 YYYY=Int(Buf[i]);
 ClearVariable(Buf);
 ClearData;
 if MM>0 and YYYY>100: 
  СписокОтправОргField;
  if BufОтправОрг[1]="": Message("В данном периоде ни одно из учреждений извещений не отправляло"); fi;
 fi;
 ^False;
end;

Func ПолнИмя_onEnter (Field:S; Iter:i):L;
var Rec:Record;
var n:i;
 if not Проверить: ^False; fi;
 if BufОтправОрг[1]="": Message("В данном периоде ни одно из учреждений извещений не отправляло"); ^False; fi;
 n=Alternate("Список учреждений-отправителей за "+MMTxt+" "+Str(YYYY),BufНаимОтправОрг,-1,1,12);
 if n=0: ^false; fi;
 if n=1: --все отправители
    ClearVariable(УпрОтправ);
    InsertFrame(УпрОтправ,1);
    ОтправОрг[1]="!";
    ПолнИмя[1]="Все учреждения-отправители";
    ОКПО1[1]="";
    НаимОРГ="";
    Орг="";
    ОКПО2="";
    ClearData;
    ^False;
 fi;
 ОтправОрг[Iter]=BufОтправОрг[n];
 Rec=StringToRecord(ОтправОрг[Iter]);
 if Rec=Nil: ^False; fi;
 ПолнИмя[Iter]=GetCardFieldS("Контрагент",Rec,"КорИмя");
 if ПолнИмя[Iter]="": ПолнИмя[Iter]=GetCardFieldS("Контрагент",Rec,"Признак"); fi;
 ОКПО1[Iter]=GetCardFieldS("Контрагент",Rec,"ОКПО");
 Орг="";
 НаимОРГ="";
 ОКПО2="";
 ClearData;
 ^False;
end;

Proc ПолнИмя_OnExit(FieldName: String; Iter: Integer);
 ОтправОрг[1]="";
 ОКПО1[1]="";
 НаимОРГ="";
 Орг="";
 ОКПО2="";
 ClearData;
end;

Func ОКПО1_onEnter (Field:S; Iter:i):L;
 ^True;
end;

Func НаимПодр_OnEnter(FieldName: String; Iter: Integer): logical;
var tmp:S;
 tmp=AnaElection("П.*");
 if tmp="": ^False; fi;
 ПризнПодр=tmp;
 ^False;
end;

Proc НаимПодр_OnExit(FieldName: String; Iter: Integer);
 ПризнПодр="";
end;

Func НаимОрг_onEnter (Field:S; Iter:i):L;
var Rec:Record;
var n:i;
var Lst:S;
 if not Проверить: ^False; fi;
 УдалитьПустыеСтроки;
 for n=1..УпрОтправ do
  if ПолнИмя[n]="": Message("Введите учреждение отправителя",mtError); Template.Field="ПолнИмя"; Template.Frame=n; ^False; fi;
  Lst=Lst+ОтправОРГ[n];
 od;
 if StoreMM<>MM or StoreYYYY<>YYYY or StoreОтправОрг<>Lst:
    СписокОргField; 
    StoreMM=MM;
    StoreYYYY=YYYY;
    StoreОтправОрг=Lst;
 fi;
 if BufОрг[1]="": Message("В данном периоде ни одному из получателей извещение не отправлялось"); ^False; fi;
 n=Alternate("Список учреждений получателей за "+MMTxt+" "+Str(YYYY)+" ",BufНаимОрг,-1,1,12);
 if n=0: ^false; fi;
 Орг=BufОрг[n];
 Rec=StringToRecord(Орг);
 if Rec=Nil: ^False; fi;
 НаимОРГ=GetCardFieldS("Контрагент",Rec,"КорИмя");
 if НаимОРГ="": НаимОРГ=GetCardFieldS("Контрагент",Rec,"Признак"); fi;
 ОКПО2=GetCardFieldS("Контрагент",Rec,"ОКПО");
 ClearData;
 ^False;
end;

Func Вал_OnEnter(FieldName: String; Iter: Integer): logical;
var n:i;
var Cur:S;
 ClearVariable(Buf);
 ClearVariable(Buf2);
 n=0;
 for Currencies Cur="*" do
  n=n+1;
  Buf[n]=Up(Cur);
  Buf2[n]=Buf[n]+" --"+Name_C(Cur);
 od;
 n=Alternate("Валюта",Buf2,-1,SearchInArray(Buf,Вал),12);
 if n=0: ^False; fi;
 Вал=Buf[n];
 ClearData;
 СписокОтправОргField;
 if BufОтправОрг[1]="": Message("В данном периоде ни одно из учреждений извещений не отправляло"); fi;
 Return False;
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);
var n:i;
 if not Проверить: Exit; fi;
 УдалитьПустыеСтроки;
 for n=1..УпрОтправ do
  if ПолнИмя[n]="": Message("Введите учреждение отправителя",mtError); Template.Field="ПолнИмя"; Template.Frame=n; Exit; fi;
 od;
 if НаимОРГ="": Message("Введите учреждение получателя",mtError); Template.Field="НаимОРГ"; Exit; fi;
 РасчетField;
 Message("Расчет завершен");
end;

Proc btnВызовИзвещение_onClick (Obj:S);
 Message("Установите курсор на нужную позицию и нажмите Enter");
end;

Proc btnПоискОрг_onClick (Obj:S);
var Mask,Lst:s;
var n,nn:i;
var Rec:Record;
 if not Проверить: Exit; fi;
 УдалитьПустыеСтроки;
 for n=1..УпрОтправ do
  if ПолнИмя[n]="": Message("Введите учреждение-отправитель,mtError"); Template.Field="ПолнИмя"; Template.Frame=n; Exit; fi;
  Lst=Lst+ОтправОРГ[n];
 od;
 if StoreMM<>MM or StoreYYYY<>YYYY or StoreОтправОрг<>Lst:
    СписокОргField; 
    StoreMM=MM;
    StoreYYYY=YYYY;
    StoreОтправОрг=Lst;
 fi;
 if BufОрг[1]="": Message("В данном периоде ни одному из получателей извещение не отправлялось"); Exit; fi;
 ClearVariable(Buf);
 ClearVariable(Buf1);
 n=Input(Mask,"Введите строку поиска");
 if n=cmCancel: Exit; fi;
 Mask="*"+Mask+"*";
 n=1; nn=0;
 While BufНаимОрг[n]<>"" do
  if Match(BufНаимОрг[n],Mask): nn=nn+1; Buf[nn]=BufНаимОрг[n]; Buf1[nn]=BufОрг[n]; fi;
  n=n+1;
 od;
 if Buf1[1]="": Message("Не найден ни один получатель соотвествующий строке поиска: "+Mask); Exit; fi;
 n=Alternate("Список учреждений получателей за "+MMTxt+" "+Str(YYYY),Buf);
 if n=0: Exit; fi;
 Орг=Buf1[n];
 Rec=StringToRecord(Орг);
 if Rec=Nil: Exit; fi;
 НаимОРГ=GetCardFieldS("Контрагент",Rec,"КорИмя");
 if НаимОРГ="": НаимОРГ=GetCardFieldS("Контрагент",Rec,"Признак"); fi;
 ОКПО2=GetCardFieldS("Контрагент",Rec,"ОКПО");
 ClearData;
 ClearVariable(Buf);
 ClearVariable(Buf1);
end;

Proc btnRefresh_onClick (Obj:S);
 if not Проверить: Exit; fi;
 StoreMM=0;
 StoreYYYY=0;
 StoreОтправОрг="";
 СписокОтправОргField;
 ClearData;
end;

Proc btnAdd_onClick (Obj:S);
 if ОтправОРГ[1]="!": Message("Отчет составляется по всем учреждениям отправителям, добавление отдельного отправителя невозможно",mtError); Exit; fi;
 if AsString(Template.Field)="ПолнИмя" or AsString(Template.Field)="ОКПО1":
    InsertFrame(УпрОтправ,AsInteger(Template.Frame)+1);
   else
    InsertFrame(УпрОтправ,УпрОтправ+1);
 fi;
end;

Proc btnDel_onClick (Obj:S);
 if AsString(Template.Field)="ПолнИмя" or AsString(Template.Field)="ОКПО1":
    DeleteFrame(УпрОтправ,AsInteger(Template.Frame));
    if УпрОтправ<1: InsertFrame(УпрОтправ,УпрОтправ+1);fi;
   else
    Message("Укажите позицию которую необходимо удалить",mtWarning);
 fi;
end;

Proc btnПечать_onClick (Obj:S);
 Раб.Настр_Печать.Prn("","","ТББ.ДОКУМЕНТЫ.ЦЕНТРСНАБ.КНИГА_ИЗВ_ВХ.000.cfg","",1);
end;

Proc cbFlagНИ_onChange	(Obj:S);
 ClearData;
 if MM>0 and YYYY>100: 
  СписокОтправОргField;
  if BufОтправОрг[1]="": Message("В данном периоде ни одно из учреждений извещений не отправляло"); fi;
 fi;
end;

Proc cbДок_OnChange(Sender: String);
 if EnqOkCancel("Для вступления изменений в силу необходимо выполинть перерасчет")=cmOk: btnРасчет_onClick (Sender); fi;
end;
--Обработчики событий объектов шаблона-----
--
--Обработчики событий шаблона -----
Proc OnOpen(Create: Logical);
 if УпрОтправ<1: InsertFrame(УпрОтправ,УпрОтправ+1); fi;
 Раб.Настр_Печать.Cfg("","ТББ.ДОКУМЕНТЫ.ЦЕНТРСНАБ.КНИГА_ИЗВ_ВХ.000.cfg");
end;

Proc AfterOpen(Destroy: Logical);
end;
--Обработчики событий шаблона -----
--


Конец