-- Шаблон создан мастером бланков
-- 29.05.2007 14:40:30
--
БланкСШаблоном "Инвентаризационная опись (сличительная ведомость) бланков строгой отчетности и денежных документов";

fДок:L;
fБыстрРасч:L;

НомерИнв:S;

ДК:D;

Учреждение:S;
ОКПО:S;

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

ВидДок:S;
НомСч:S;

ПризнМОЛ:S;
var НаимМОЛ:S=if(Name_A(ПризнМОЛ)="" or Name_A(ПризнМОЛ)=" ",ПризнМОЛ,Name_A(ПризнМОЛ));
ДолжнМОЛ:S;
ФИОМОЛ:S;

УслАнДоп:S;

ДатаРаспис:D;

НомерПриказ:S;
ДатаПриказ:D;
МестоИнв:S;
ДатаНачИнв:D;
ДатаКонИнв:D;

A1:S="+";
D1:S="-";

Поясн1:S;
УпрПоясн:I=[3];
Поясн[]:S;

ДатаПоясн:D;

A2:S="+";
D2:S="-";

Закл1:S;
УпрЗакл:I=[5];
Закл[]:S;

ДолжнЧК[]:S;
ФИОЧК[]:S;

ДатаКомис:D;

Clr:S="Очист.";
A3:S="+";
D3:S="-";

Упр:I;
var пп[]:i=$;
НаимДок[]:S;
Код[]:S;
ЕдИзм[]:S;
Факт_Серия[]:S;
Факт_Номер[]:S;
Факт_Цена[]:N;
Факт_Кол[]:N;
var Факт_Сум[]:N=Факт_Цена[$]*Факт_Кол[$];
Бух_Серия[]:S;
Бух_Номер[]:S;
Бух_Цена[]:N;
Бух_Кол[]:N;
var Бух_Сум[]:N=Бух_Цена[$]*Бух_Кол[$];
ИнвН_Серия[]:S;
ИнвН_Номер[]:S;
ИнвН_Цена[]:N;
ИнвН_Кол[]:N;
var ИнвН_Сум[]:N=ИнвН_Цена[$]*ИнвН_Кол[$];
ИнвИ_Серия[]:S;
ИнвИ_Номер[]:S;
ИнвИ_Цена[]:N;
ИнвИ_Кол[]:N;
var ИнвИ_Сум[]:N=ИнвИ_Цена[$]*ИнвИ_Кол[$];

var Итог_Факт_Кол:N=SumOfArray(Факт_Кол,Упр);
var Итог_Факт_Сум:N=SumOfArray(Факт_Сум,Упр);
var Итог_Бух_Кол:N=SumOfArray(Бух_Кол,Упр);
var Итог_Бух_Сум:N=SumOfArray(Бух_Сум,Упр);
var Итог_ИнвН_Кол:N=SumOfArray(ИнвН_Кол,Упр);
var Итог_ИнвН_Сум:N=SumOfArray(ИнвН_Сум,Упр);
var Итог_ИнвИ_Кол:N=SumOfArray(ИнвИ_Кол,Упр);
var Итог_ИнвИ_Сум:N=SumOfArray(ИнвИ_Сум,Упр);

var tДенДок:S;
var tДт:D;
var tСум:N;
var tКол:N;
var tСерия:S;
var tНомН:N;
var tНомК:N;
var tРазм:I;
var tТип:I;

var Ключ[]:S;
var ДенДок[]:S;
var Серия[]:S;
var Разм[]:I;
var Номер[]:N;
var Кол[]:N;
var Цена[]:N;

var iДенДок[]:S;
var iНаим[]:S;
var iКод[]:S;
var iЕдИзм[]:S;
var iТочн[]:I;

var OWAПрих:I;
var OAПрих:I;

var OWAРасх:I;
var OAРасх:I;

cbДок       : Object;
cbБыстрРасч : Object;

var SelfCrd:s="РПО_ДенДок_Вид";

var Buf[]:S;
var BufSub[]:S;
--
--Процедуры и функции -------------
Proc Очистить;
 ClearVariable(Упр);
 ClearVariable(НаимДок);
 ClearVariable(Код);
 ClearVariable(ЕдИзм);
 ClearVariable(Факт_Серия);
 ClearVariable(Факт_Номер);
 ClearVariable(Факт_Цена);
 ClearVariable(Факт_Кол);
 ClearVariable(Бух_Серия);
 ClearVariable(Бух_Номер);
 ClearVariable(Бух_Цена);
 ClearVariable(Бух_Кол);
 ClearVariable(ИнвН_Серия);
 ClearVariable(ИнвН_Номер);
 ClearVariable(ИнвН_Цена);
 ClearVariable(ИнвН_Кол);
 ClearVariable(ИнвИ_Серия);
 ClearVariable(ИнвИ_Номер);
 ClearVariable(ИнвИ_Цена);
 ClearVariable(ИнвИ_Кол);
 --
 ClearVariable(Ключ);
 ClearVariable(ДенДок);
 ClearVariable(Серия);
 ClearVariable(Разм);
 ClearVariable(Номер);
 ClearVariable(Кол);
 ClearVariable(Цена);
 --
 ClearVariable(iДенДок);
 ClearVariable(iНаим);
 ClearVariable(iКод);
 ClearVariable(iЕдИзм);
 ClearVariable(iТочн);
end;

Proc ОбновитьСостояниеФлагов;
 if fДок and fБыстрРасч:
   fДок = false;
 fi;
 cbДок.Enabled = not fБыстрРасч;
end;

Proc ЗаполнитьРекв(Rec: Record);
 if Rec=nil: Rec=Раб.Бюджет2005.НашРекв; fi;
 if Rec=nil: Exit; fi;
 Учреждение=GetCardFieldS('Контрагент',Rec,"КорИмя");
 ОКПО=GetCardFieldS('Контрагент',Rec,"ОКПО");
end;

Func NumToStr(Value:N; Len:I):S;
var Ret:S;
 if Len=0: ^""; fi;
 Ret=Str(Value);
 Ret=RepStr("0",Len-Length(Ret))+Ret;
 ^Ret;
end;

Proc ВзятьИзКарт(OWA:I; UKey:S; OA:I; t:i);
var z,n,nn:I;
var FF,НомН_,НомК_,Призн_,ПризнДеб_,ПризнКре_,tmp:S;
var Rec: Record;
 tСерия="";
 tНомН=0;
 tНомК=0;
 tРазм=0;
 z=GetRecordNumber(OWA,StringToRecord(UKey));
 if not z=0:
     FF="ДЕНДОКВИД_ПРИЗН='"+tДенДок+"'";
     FF=FF+" and КОЛ="+Str(tКол,TransAccuracy(t));
     FF=FF+" and СУММА="+Str(tСум,Accuracy);
     SetFilter(OA,FF);
     nn=Records(OA);
     if not nn=0:
        tmp=TransSigns(t);
        if not Pos("+",tmp)=0:
           ПризнДеб_=Раб.Бюджет2005.ВзятьСловаИзНабораПоМаске(tmp," ","+*","");
           ПризнДеб_=Раб.Бюджет2005.ЗаменитьРазделительВНабореСлов(SubStr(ПризнДеб_,2,255),"+"," ");
          else
           ПризнДеб_="";
        fi;
        if not Pos("-",tmp)=0:
           ПризнКре_=Раб.Бюджет2005.ВзятьСловаИзНабораПоМаске(tmp," ","-*","");
           ПризнКре_=Раб.Бюджет2005.ЗаменитьРазделительВНабореСлов(SubStr(ПризнКре_,2,255),"-"," ");
          else
           ПризнКре_="";
        fi;
        Призн_=Раб.Бюджет2005.УдалитьСловоИзНабораПоМаске(tmp," ",Trim(GetFieldS(OWA,z,"ОбщПризн")+" "+tДенДок+" "+GetFieldS(OWA,z,"ПризнПодр")+" +* -*")," ");
        for n=1..nn do
         Rec=GetRecordKey(OA,n);
         if SearchInArray(BufSub,Str(OWA)+" "+UKey+" "+RecordToString(Rec),True)=-1: --проверяем былали обработана запись подтаблицы ранее при совпадении критерия поиска
            if Раб.Бюджет2005.ПроверитьНаборСлов(GetFieldS(OA,n,"ПРИЗН")," ",Призн_," ","") and
               Раб.Бюджет2005.ПроверитьНаборСлов(GetFieldS(OA,n,"ПРИЗНДЕБ")," ",ПризнДеб_," ","") and
               Раб.Бюджет2005.ПроверитьНаборСлов(GetFieldS(OA,n,"ПРИЗНКРЕ")," ",ПризнКре_," ",""):
               InsertInArraySort(BufSub,Str(OWA)+" "+UKey+" "+RecordToString(Rec));
               tСерия=GetFieldS(OA,n,"СерияБум");
               НомН_=GetFieldS(OA,n,"НомерБум_Н");
               НомК_=GetFieldS(OA,n,"НомерБум_К");
               tРазм=Max(Length(НомН_),Length(НомК_));
               tНомН=Round(НомН_);
               tНомК=Round(НомК_);
               Break;
            fi;
         fi;
        od;
     fi; --if Records(OA)>0:
 fi; --not z=0:
end;

Proc РасчетОст(k:I);
var n,nn,p1,z:I;
var Кол_:N;
 nn=LengthOfArray(Ключ);
 ShowProgress(nn*3,"Расчет...");
 Кол_=Кол[1];
 p1=1;
 for n=1..nn do
  ProgressPos(nn*k+n);
  if fДок:
     if not Кол[n]=0:
        z=SearchInArray(iДенДок,ДенДок[n],True);
        InsertFrame(Упр,Упр+1);
        НаимДок[Упр]=iНаим[z];
        Код[Упр]=iКод[z];
        ЕдИзм[Упр]=iЕдИзм[z];
        Бух_Серия[Упр]=Серия[n];
        Бух_Номер[Упр]=NumToStr(Номер[n],Разм[n]);
        Бух_Цена[Упр]=Цена[n];
        Бух_Кол[Упр]=Кол[n];
     fi;
    else
     if (ДенДок[n]=ДенДок[n+1] and Серия[n]=Серия[n+1] and Разм[n]=Разм[n+1] and Кол[n]=Кол[n+1] and Номер[n]+1=Номер[n+1]) or
        (ДенДок[n]=ДенДок[n+1] and Серия[n]="" and Серия[n]=Серия[n+1] and Разм[n]=0 and Разм[n]=Разм[n+1]):
        Кол_=Кол_+Кол[n+1];
       else
        if not Кол_=0:
           z=SearchInArray(iДенДок,ДенДок[n],True);
           InsertFrame(Упр,Упр+1);
           НаимДок[Упр]=iНаим[z];
           Код[Упр]=iКод[z];
           ЕдИзм[Упр]=iЕдИзм[z];
           НаимДок[Упр]=iНаим[z];
           Бух_Серия[Упр]=Серия[n];
           Бух_Номер[Упр]=if(Номер[p1]=Номер[n],NumToStr(Номер[p1],Разм[p1]),NumToStr(Номер[p1],Разм[p1])+"-"+NumToStr(Номер[n],Разм[n]));
           Бух_Цена[Упр]=Цена[n];
           Бух_Кол[Упр]=Кол_;
        fi;
        p1=n+1;
        Кол_=Кол[p1];
     fi;
  fi; --if fДок:
 od;
end;

Proc РасчетОст2(k:I);
var n,nn,p1,z:I;
var Кол_:N;
var КартПр :S;
var ЗапПр :Record;
 РАБ.ДИАПАЗОНЫ.Обработка;
 nn=РАБ.ДИАПАЗОНЫ.КолД;
 --ShowProgress(nn,"Расчет...");
 for n=1..nn do
  --ProgressPos(nn*k+n);
  if fДок:
    else
      InsertFrame(Упр,Упр+1);
      РАБ.ДИАПАЗОНЫ.Извлечь(n, 1);
      НаимДок[Упр]=Name_A(РАБ.ДИАПАЗОНЫ.буфПризн1);
      КартПр=SignCardFile(РАБ.ДИАПАЗОНЫ.буфПризн1, false);
      ЗапПр=SignToRecord(РАБ.ДИАПАЗОНЫ.буфПризн1,False);
      if ExistsCardFile(КартПр):Код[Упр]=GetCardFieldS(КартПр,ЗапПр,"ПРИЗНАК"); else Код[Упр]=''; fi;
      if ExistsCardFile(КартПр):ЕдИзм[Упр]=GetCardFieldS(КартПр,ЗапПр,"ЕдИзм"); else ЕдИзм[Упр]=''; fi;
      Бух_Серия[Упр]=РАБ.ДИАПАЗОНЫ.буфСер1;
      Бух_Номер[Упр]=NumToStr(РАБ.ДИАПАЗОНЫ.буфНач1,РАБ.ДИАПАЗОНЫ.буфРазм1)+"-"+NumToStr(РАБ.ДИАПАЗОНЫ.буфКон1,РАБ.ДИАПАЗОНЫ.буфРазм1);
      Бух_Цена[Упр]=РАБ.ДИАПАЗОНЫ.буфЦена1;
      Бух_Кол[Упр]=(РАБ.ДИАПАЗОНЫ.буфКон1-РАБ.ДИАПАЗОНЫ.буфНач1+1)*РАБ.ДИАПАЗОНЫ.буфКол1;
  fi;
 od;
end;

Proc РасчетПров(vУслСч:S; vУслАн:S; vТип:I; k:I);
var t,z,p:i;
var UKey,Crd,Key:S;
var ДН_,ДК_:D;
var Цена,Номинал,n:N;
var Rec: Record;
 ClearVariable(BufSub);
 ДН_=1.1.100;
 ДК_=ДК+1;
 ShowProgress((ДК_-ДН_)*3,"Расчет...");
 tТип=vТип;
 for Transaction t=vУслСч+"{"+vУслАн+"}",ДН_,ДК_ do
  Crd=TransCardFile(t);
  UKey=RecordToString(TransRecord(t));
  tДенДок=Раб.Бюджет2005.ВзятьСловоИзНабораПоМаске(TransSigns(t)," ","ДенДок.*","");
  --
  z=SearchInArray(iДенДок,tДенДок,True);
  if z=-1:
     z=InsertInArraySort(iДенДок,tДенДок);
     InsertInArray(iНаим,z,Name_A(tДенДок)); if iНаим[z]="" or iНаим[z]=" ": iНаим[z]=tДенДок; fi;
     Rec=SignToRecord(tДенДок,False);
     if not Rec=nil and SignCardFile(tДенДок,False)=SelfCrd:
        InsertInArray(iКод,z,GetCardFieldS(SelfCrd,Rec,"КОД")); if iКод[z]="": iКод[z]=SubStr(tДенДок,Pos(".",tДенДок)+1,255); fi;
        InsertInArray(iЕдИзм,z,GetCardFieldS(SelfCrd,Rec,"ЕдИзм"));
        InsertInArray(iТочн,z,GetCardFieldI(SelfCrd,Rec,"Точ"));
       else
        InsertInArray(iКод,z,SubStr(tДенДок,Pos(".",tДенДок)+1,255));
        InsertInArray(iЕдИзм,z,"");
        InsertInArray(iТочн,z,0);
     fi;
  fi;
  --
  tДт=TransDate(t);
  tСум=TransSum(t);
  tКол=TransSum(t,"Кол");
  p=(ДК_-ДН_)*k+(tДт-ДН_);
  ProgressPos(p);
  if Crd="РПО_ДенДок_Приход" and not OAПрих=-1: ВзятьИзКарт(OWAПрих,UKey,OAПрих,t);
    |Crd="РПО_ДенДок_Расход" and not OAРасх=-1: ВзятьИзКарт(OWAРасх,UKey,OAРасх,t);
    |True: tСерия=""; tНомН=0; tНомК=0; tРазм=0;
  fi;
  --Остатки
  Цена=Round(tСум/tКол,Accuracy);
  Номинал=Round(tКол/(tНомК-tНомН+1),iТочн[z]);
  n=tНомН;
  While Round(n)<=Round(tНомК) do
   Key=tДенДок+" "+tСерия+" "+Str16(tРазм)+" "+NumToStr(n,tРазм)+" "+Str(Цена,Accuracy);
   z=SearchInArray(Ключ,Key,True);
   if z=-1:
      z=InsertInArraySort(Ключ,Key);
      InsertInArray(ДенДок,z,tДенДок);
      InsertInArray(Серия,z,tСерия);
      InsertInArray(Разм,z,tРазм);
      InsertInArray(Номер,z,n);
      InsertInArray(Кол,z,Номинал*tТип);
      InsertInArray(Цена,z,Цена);
     else
      Кол[z]=Кол[z]+(Номинал*tТип);
   fi;
   n=n+1;
  od;
 od; --for Transaction t=vУслСч+"{"+vУслАн+"}",ДН_,ДК_ do
end;

Proc Расчет;
var УслСч,УслАн:S;
 Очистить;
 УслСч=if(НомСч="","*",НомСч);
 УслАн=Раб.Бюджет2005.Объединить(ПризнПодр,ПризнМОЛ,"&");
 УслАн=Раб.Бюджет2005.Объединить(УслАн,if(УслАнДоп="","","("+УслАнДоп+")"),"&");
 УслАн=Раб.Бюджет2005.Объединить(УслАн,"ДенДок.*","&");
 if fБыстрРасч: 
    РАБ.ВСПОМ.ДЕНДОК_ОСТ.РАСЧЕТОСТ(УслСч,УслАн,ДК+1);
    РасчетОст2(2);
   else
    Refresh;
    OWAПрих=OpenWorkArea("РПО_ДенДок_Приход","");
    Try
     if not Records(OWAПрих)=0: OAПрих=OpenArray(OWAПрих,1,"Приход","","1=0"); else OAПрих=-1; fi;
     OWAРасх=OpenWorkArea("РПО_ДенДок_Расход","");
     Try
      if not Records(OWAРасх)=0: OAРасх=OpenArray(OWAРасх,1,"Расход","","1=0"); else OAРасх=-1; fi;
      РасчетПров("+"+УслСч,УслАн, 1,0);
      РасчетПров("-"+УслСч,УслАн,-1,1);
      РасчетОст(2);
     Finally
      CloseWorkArea(OWAРасх);
     end;
    Finally
     CloseWorkArea(OWAПрих);
     CloseProgress;
    end;
 fi;

 Template.Field="НаимДок";
 Template.Frame=Упр;
 Template.Frame=1;
end;
--Процедуры и функции -------------                           
--
--
--Обработчики событий полей шаблона-----
Func Дата_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Field:S;
var tmp:D;
 Template.HideEditor(False);
 Field=AsString(Template.Field);
 tmp=Calendar;
 if tmp=1.1.100: ^Cur; fi;
 PutVariableD(Field,tmp);
 if Field="ДК": 
    Очистить;
    Message('Внимание: дата (' + DateToString(ДК) +  ') берется включительно, т.е. на конец дня!');
 fi;
 Return Cur;
end;

Proc ДК_OnExit(FieldName: String; Iter: Integer);
  Message('Внимание: дата (' + DateToString(ДК) +  ') берется включительно, т.е. на конец дня!');

end;

Func Учреждение_OnEnter(FieldName: String; Iter: Integer): logical;
var Rec: Record;
 Rec=OpenCardFile("Контрагент","НАШЕ",nil,crdRecordOnly);
 if Rec=nil: ^False; fi;
 ЗаполнитьРекв(Rec);
 Return False;
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(FieldName: String; Iter: Integer): logical;
var n:i;
 ClearVariable(Buf);
 Buf[1]="Бланки строгой отчетности";
 Buf[2]="Денежные документы";
 n=Alternate("Вид документа",Buf,-1,SearchInArray(Buf,ВидДок),12);
 if n=1: НомСч="ЗАБ.03!|ЗАБ.08!";
   |n=2: НомСч="*.?.201.35.*";
   |True: ^False;
 fi;
 ВидДок=Buf[n];
 Очистить;
 ^False;
end;

Proc ВидДок_OnExit(FieldName: String; Iter: Integer);
 НомСч="";
 Очистить;
end;

Func НаимМОЛ_onEnter(FieldName: String; Iter: Integer): logical;
var tmp:S;
var Rec: Record;
 tmp=AnaElection("МОЛ.*");
 if tmp="": ^False; fi;
 ПризнМОЛ=tmp;
 Rec=SignToRecord(ПризнМОЛ);
 if not Rec=nil and  SignCardFile(ПризнМОЛ)="Сотрудники":
    ДолжнМОЛ=GetCardFieldS("Сотрудники",Rec,"Должность.Долж");
    ФИОМОЛ=GetCardFieldS("Сотрудники",Rec,"ФАМИЛИЯ")+" "+GetCardFieldS("Сотрудники",Rec,"ИНИЦИАЛЫ");
    if Trim(ФИОМОЛ)="": ФИОМОЛ=НаимМОЛ; fi;
 fi;
 Очистить;
 Return False;
end;

Proc НаимМОЛ_OnExit(FieldName: String; Iter: Integer);
 ПризнМОЛ="";
 Очистить;
end;

Func УслАнДоп_OnVerify(FieldName: String; Iter: Integer; Value: String): Logical;
var z:N;
 Try
  z=Turn("{"+Value+"}",1.1.100,1.1.100);
 Except
  Raise;
  ^False;
 end;
 Return True;
end;

Proc УслАнДоп_OnExit(FieldName: String; Iter: Integer);
 Очистить;
end;

Func УслАнДоп_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var tmp,Field:s;
 Template.HideEditor(False);
 if НомСч="": НомСч="*"; fi;
 tmp=Раб.Бюджет2005.СписокСправ(НомСч,0,"");
 if not tmp="": tmp="("+tmp+")|~*.*"; else tmp="*"; fi;
 tmp=AnaElection(tmp);
 if tmp="": ^Cur; fi;
 УслАнДоп=Раб.Парам_Отч.Объединить(УслАнДоп,tmp);
 Очистить;
 Return  Cur;
end;

Func МОЛ_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
 Template.HideEditor(False);
 НаимМОЛ_onEnter(AsString(Template.Field),AsInteger(Template.Frame));
 Return Cur;
end;

Func A_OnEnter(FieldName: String; Iter: Integer): logical;
 if FieldName="A1": InsertFrame(УпрПоясн,Iter+1);
   |FieldName="A2": InsertFrame(УпрЗакл,Iter+1);
   |FieldName="A3": InsertFrame(Упр,Iter+1);
 fi;
 Return False;
end;

Func D_OnEnter(FieldName: String; Iter: Integer): logical;
 if FieldName="D1": DeleteFrame(УпрПоясн,Iter);
   |FieldName="D2": DeleteFrame(УпрЗакл,Iter);
   |FieldName="D3": DeleteFrame(Упр,Iter);
 fi;
 Return False;
end;

Func Комиссия_onLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Rec: Record;
var v1,v2,Field:S;
var p,Iter:I;
 Template.HideEditor(False);
 Rec=OpenCardFile("Сотрудники");
 Field=AsString(Template.Field);
 if Rec=nil: ^Cur; fi;
 v1=GetCardFieldS("Сотрудники",rec,"ДОЛЖНОСТЬ.Долж");
 v2=GetCardFieldS("Сотрудники",rec,"ФАМИЛИЯ")+" "+GetCardFieldS("Сотрудники",rec,"ИНИЦИАЛЫ");
 p=Pos("[",Field);
 PutVariableS("ДолжнЧК"+SubStr(Field,p,255),v1);
 PutVariableS("ФИОЧК"+SubStr(Field,p,255),v2);
 Return Cur;
end;

Func Clr_OnEnter(FieldName: String; Iter: Integer): logical;
 if EnqOkCancel("Таблица будет очищена, продолжить ?")=cmCancel: ^False; fi;
 Очистить;
 Return False;
end;
--Обработчики событий полей шаблона-----
--
--Обработчики событий объектов шаблона-----
Proc btnРасчет_onClick (Obj:S);
 if ДК=1.1.100: Message("Введите дату",mtError); Template.Field="ДК"; Exit; fi;
 if НомСч="" and ПризнМол="": Message("Укажите вид документа и материально-отвественное лицо",mtError); Template.Field="ВидДок"; Exit; fi;
 Расчет;
 Message("Расчет завершен");
end;

Proc btnПечать_OnClick(Sender: String);
 Раб.Настр_Печать.Prn('','','РПО.ОТЧЕТЫ.РЕГИСТРЫ.ИНВОПИСЬ_0504086.000.cfg','',1);
 Раб.Настр_Печать.Prn('','','РПО.ОТЧЕТЫ.РЕГИСТРЫ.ИНВОПИСЬ_0504086.001.cfg','',1);
end;

Proc cbДок_OnChange(Sender: String);
 Очистить;
end;

Proc cbБыстрРасч_OnChange(Sender: String);
 ОбновитьСостояниеФлагов;
end;

Proc btnЗакрыть_OnClick(Sender: String);
 Close;
end;
--Обработчики событий объектов шаблона-----
--
--
--Обработчики событий шаблона -----
Proc OnOpen(Create: Logical);
 ОбновитьСостояниеФлагов;
 if Учреждение="": ЗаполнитьРекв(nil); fi;
 Раб.Настр_Печать.Cfg("","РПО.ОТЧЕТЫ.РЕГИСТРЫ.ИНВОПИСЬ_0504086.000.cfg");
 Раб.Настр_Печать.Cfg("","РПО.ОТЧЕТЫ.РЕГИСТРЫ.ИНВОПИСЬ_0504086.001.cfg");
end;
--Обработчики событий шаблона -----
--



Конец
