-- Шаблон создан мастером бланков
-- 28.11.2008 15:39:22
--
БланкСШаблоном "Запрос на аннулирование заявки (консолидированной заявки)", Редактор РПО_ЗАПРОС_АННУЛ;

var f15н:L=ДатаДок>=1.7.2010;

fУтвДок:L;

var НоваяЗапись:L=(CurrentState=crdusInserted);

var КолКопий:I=[2];

var Клиент:S=Рекв.ПолнИмя+Рекв.РПО_ПолнИмя2;
var ФинОрган:S=Банк.РПО_ФО_Наим1+Банк.РПО_ФО_Наим2;

var АннулТипДок_:S=if(АннулТипДок="ZN":"Заявка на получение денежных средств, перечисляемых на карту"|АннулТипДок="ZR":"Заявка на кассовый расход"|АннулТипДок="ZK":"Сводная заявка на кассовый расход (для уплаты налогов)"|АннулТипДок="ZV":"Заявка на возврат"|АннулТипДок="ZS":"Заявка на получение наличных денег"|АннулТипДок="ZZ":"Консолидированная заявка"|АннулТипДок="PP":"Платежное поручение"|АннулТипДок="RN":"Расшифровка сумм неиспользованных (внесенных через банкомат или пункт выдачи наличных денежных средств) средств"|True:"");

hГлава:S;
hГРБС:S;


var Buf[]:S;

var SelfCrd:S="РПО_ЗАПРОС_АННУЛ";
var SelfCfg:S="ТББ.ДОКУМЕНТЫ.БАНК.ЗАПРОС_АННУЛ.000.cfg";

cbУчитывать: Object;
cbВБанк    : Object;

S1: Section;
S2: Section;
S3: Section;
S4: Section;
S5: Section;

var BufField[]:S;
var BufColorBg[]:I;
var BufColorFo[]:I;
var FlagInit:L;

SC1: Section;

var XS:I=2100; --Размер листа
var YS:I=2970; --Размер листа

ДолжнИспФК:S;
ФИОИспФК:S;
ТелИспФК:S;
--
--Процедуры и функции -------------
Proc Инициализация;
var Obj:Object;
var s,r,rr,c,cc,n,l,bgColor:i;
var Field:S;
 ClearVariable(BufField);
 ClearVariable(BufColorBg);
 ClearVariable(BufColorFo);
 for s=1..5 do
  if FindObject("S"+Str(s),Obj):
     rr=asInteger(Obj.RowsCount);
     cc=asInteger(Obj.ColsCount);
     for r=1 ..rr  do
      for c=1 ..cc  do
       BgColor=asInteger(Obj.Cell(r,c,CellBgColor,""));
       if BgColor=coAqua or BgColor=coTeal:
          Field=asString(Obj.Cell(r,c,CellContents,""));
          if SearchInArray(BufField,Field,True)=-1:
             n=InsertInArraySort(BufField,Field); 
             InsertInArray(BufColorBg,n,BgColor);
          fi;
       fi;
      od;
     od;
  fi;
 od;
 l=LengthOfArray(BufField);
 for n=1..l do
  if BufColorBg[n]=coTeal: BufColorFo[n]=coWhite;
    |True: BufColorFo[n]=coBlack;
  fi;
 od;
end;

Proc Оформление;
var s,c,r,cc,rr,n:i;
var Obj: Object;
var Field:S;
-- btnРасчет.Enabled=not Проводить;
-- btnОчистить.Enabled=not Проводить;
-- btnНастр.Enabled=not Проводить;
-- btnДатаОпер.Enabled=not Проводить;
-- edДатаОпер.Enabled=not Проводить;
 for s=1..5 do
  if FindObject("S"+Str(s),Obj):
     rr=asInteger(Obj.RowsCount);
     cc=asInteger(Obj.ColsCount);
     for r=1 .. rr do
      for c=1 .. cc do
       Field=asString(Obj.Cell(r,c,CellContents,""));
       n=SearchInArray(BufField,Field,True);
       if not n=-1:
          if Учитывать:
             Obj.Cell(r,c,CellFontColor,coBlack); 
             Obj.Cell(r,c,CellBgColor,coTransparent); 
             Obj.Cell(r,c,CellReadOnly,True);
            else
             Obj.Cell(r,c,CellFontColor,BufColorFo[n]); 
             Obj.Cell(r,c,CellBgColor,BufColorBg[n]); 
             Obj.Cell(r,c,CellReadOnly,False);
          fi;
       fi;
      od;
     od;
  fi;
 od;
end;

Func ВысотаОбласти (S1: S; r1:I; S2: S; r2:i): I;
var Obj1,Obj2:Object;
var y1,y2:i;
 if not FindObject(S1,Obj1): Message("Секция '"+s1+"' не найдена",mtError); ^0; fi;
 if not FindObject(S2,Obj2): Message("Секция '"+s2+"' не найдена",mtError); ^0; fi;
 y1=AsInteger(Obj1.Row(r1,RowTop,""));
 y2=AsInteger(Obj2.Row(r2,RowTop,""));
 ^y2-y1;
end;

Proc ЗаполнитьНаимКлиента(Flag:L);
var ww,w,s:i;
var tmp:S;
var Obj:Object;
 if FindObject("S3",Obj):
    Obj.Row(1,RowVisible,not Flag);
    Obj.Row(2,RowVisible,False);
    Obj.Row(3,RowVisible,False);
    Obj.Row(4,RowVisible,False);
    if not Flag: Exit; fi;
    if Length(Рекв.ПолнИмя)+Length(Рекв.РПО_ПолнИмя2)<=255:
       Obj.Row(1,RowVisible,True);
      else
       Раб.Бюджет2005.BufS[1]=Рекв.ПолнИмя;
       Раб.Бюджет2005.BufS[2]=Рекв.РПО_ПолнИмя2;
       ww=Раб.Бюджет2005.Str2Word(2," ");
       ww=Раб.Бюджет2005.Word2SingleStr(1,2,Obj,ww," ");
       s=0;
       ClearVariable(Buf);
       tmp=Раб.Бюджет2005.BufS[1];
       for w=2..ww do
        if Length(tmp)+1+Length(Раб.Бюджет2005.BufS[w])>255:
           s=s+1;
           Buf[s]=tmp;
           tmp=Раб.Бюджет2005.BufS[w];
          else
           tmp=tmp+" "+Раб.Бюджет2005.BufS[w];
        fi;
       od;
       s=s+1;
       Buf[s]=tmp;
       Obj.Cell(2,2,CellContents,Buf[1],True);
       Obj.Row(2,RowVisible,True);
       Obj.CellLinks(2,2,2,2);
       Obj.Cell(3,2,CellContents,Buf[2],True);
       Obj.Row(3,RowVisible,not Buf[2]="");
       Obj.CellLinks(2,3,2,3);
       Obj.Cell(4,2,CellContents,Buf[3],True);
       Obj.Row(4,RowVisible,not Buf[3]="");
       Obj.CellLinks(2,4,2,4);
    fi;
 fi;
end;

Proc РазметкаЛиста (Flag:L);
var Obj:Object;
var y0,y,yy,h,h0,s:i;
 if Flag:
    Раб.Настр_Печать.ReadCfg("",SelfCfg);
    yy=Раб.Настр_Печать.Sheet(XS,YS); --размер рабочей области
    y0=0;
 fi;
 --Клиент
 ЗаполнитьНаимКлиента(Flag);
 --
 for s=1..1 do
  if FindObject("SC"+Str(s),Obj):
     if Flag:
        if s=1: h0=47+80+ВысотаОбласти("S3",7,"S3",8); --размер области непечатоемой, но видимой +Аннулируемый документ
        fi;
        y=AsInteger(Obj.Row(4,RowTop,""));
        h=yy-(y-y0)+h0;
        if h<10: Message("Внимание ! Страница "+Str(s)+" выходит за границы листа^MОбратитесь к разработчику или уменьшите количество строк раздела "+if(s=1:"1. Реквизиты документа"|s=2:"2. Реквизиты документа - основания, 3. Реквизиты контрагента, 4. Реквизиты налоговых платежей"|s=3:"5. Расшифровка заявки на кассовый расход"|true:""),mtWarning); fi;
       else
        h=10;
     fi;
     h=Max(h,10);
     Obj.Row(1,RowHeight,h);
     y0=AsInteger(Obj.Row(4,RowTop,""));
  fi;
 od;
end;

Proc ОбработатьНомер (aНомерДок:S);
var tmp:i;
 tmp=Int(aНомерДок);
 if tmp=0:
    if ДатаДок=1.1.100:
       tmp=РАБ.ОБЛ.СледСУчетомГодаФ(SelfCrd,"Номер","ДатаДок","not UKey="+RecordToString(Current));
      else
       tmp=РАБ.ОБЛ.СледСУчетомДатыФ(SelfCrd,"Номер","ДатаДок",ДатаДок,"not UKey="+RecordToString(Current));
    fi;
 fi;
 if not Номер=tmp:
    Номер=tmp;
    if Раб.Бюджет2005.Сетевая: EditorApply; fi;
 fi;
end;

Proc ОбработатьДату (prevДата:D; newДата:D);
var prevYYYY,newYYYY:I;
 prevYYYY=Year(prevДата);
 newYYYY=Year(newДата);
 if prevYYYY=newYYYY: Exit; fi;
 if not prevYYYY=100:
    if EnqOkCancel("Изменился отчетный год ("+Str(prevYYYY)+") документа, получить номер документа соответствуещего года ("+Str(newYYYY)+") ?",mtWarning)=cmCancel: Exit; fi;
 fi;
 НомерДок=Str(Раб.Обл.СледСУчетомДатыФ(SelfCrd,"Номер","ДатаДок",ДатаДок,"not UKey="+RecordToString(Current)));
 ОбработатьНомер(НомерДок);
 Template.Field="НомерДок";
end;

Proc ПоУмолчанию;
 if Глава="":
    Глава=hГлава;
    ГРБС=hГРБС;
 fi;
end;

Proc ЗаполнитьКлиента (vRec: Record);
 if not vRec=nil:
    Глава=Рекв.РПО_ППП;
    ГРБС=Раб.Бюджет.НаимКБК("ППП2006",Глава);
    ДолжнРук=Рекв.ДолжнРук;
    ФИОРук=Рекв.ФИОРук;
    ДолжнБух=Рекв.ДолжнБух;
    ФИОБух=Рекв.ФИОБух;
    Банк=Раб.Бюджет2005.БанкСчет(Рекв,False);
 fi;
 if Глава="":
    Глава=hГлава;
    ГРБС=hГРБС;
 fi;
end;

Func Проверить:L;
var Iter:I;
 if НомерДок="": Message("Заполните номер заявки",mtError); Template.Field="НомерДок"; ^False; fi;
 if ДатаДок=1.1.100: Message("Заполните дату заявки",mtError); Template.Field="ДатаДок"; ^False; fi;
 if Рекв=nil or Клиент="": Message("Заполните наименование клиента",mtError); Template.Field="Клиент"; ^False; fi;
 if Банк=nil: Message("Заполните поле 'Федеральное казначейство, орган Федерального казначейства'",mtError); Template.Field="Банк.РПО_ОФК_Имя"; ^False; fi;
 if Банк.РПО_КодБюдж="1" and Рекв.РПО_КБП="": Message("Заполните код клиента по сводному реестру",mtError); Template.Field="Рекв.РПО_КБП"; ^False; fi;
 if Банк.РПО_ЛСчет="": Message("Заполните номер лицевого счета",mtError); Template.Field="Банк.РПО_ЛСчет"; ^False; fi;
 if Глава="": Message("Заполните главу по БК",mtError); Template.Field="Глава"; ^False; fi;
 if ГРБС="": Message("Заполните наименование главного распорядителя бюджетных средств, главного администратора источников финансирования дефицита бюджета",mtError); Template.Field="ГРБС"; ^False; fi;
-- if Банк.РПО_НаимБюдж="": Message("Заполните наименование бюджета",mtError); Template.Field="Банк.РПО_НаимБюдж"; ^False; fi;
 if Банк.РПО_КодБюдж="": Message("Заполните код бюджета",mtError); Template.Field="Банк.РПО_НаимБюдж"; ^False; fi;
 --if ФинОрган="": Message("Заполните поле 'Финансовый орган'",mtError); Template.Field="ФинОрган"; ^False; fi;
 if Банк.РПО_ОФК_Код="": Message("Заполните код федерального казначейства, органа федерального казначейства",mtError); Template.Field="Банк.РПО_ОФК_Код"; ^False; fi;
 if АннулТипДок="": Message("Введите аннулируемый документ",mtError); Template.Field="АннулТипДок"; ^False; fi;
 if АннулНомДок="": Message("Введите внутрений номер аннулируемого документа",mtError); Template.Field="АннулНомДок"; ^False; fi;
 if АннулДатДок=1.1.100: Message("Введите дату регистрации аннулируемого документа",mtError); Template.Field="АннулДатДок"; ^False; fi;
 if ДолжнРук="" and not f15н: Message("Заполните должность руководителя",mtError); Template.Field="ДолжнРук"; ^False; fi;
 if ФИОРук="": Message("Заполните ФИО руководителя",mtError); Template.Field="ФИОРук"; ^False; fi;
 if ДолжнБух="": Message("Заполните должность бухгалтера",mtError); Template.Field="ДолжнБух"; ^False; fi;
 if ФИОБух="": Message("Заполните ФИО бухгалтера",mtError); Template.Field="ФИОБух"; ^False; fi;
 if ДатаПодписи=1.1.100: Message("Заполните дату подписи",mtError); Template.Field="ДатаПодписи"; ^False; fi;
 if ДатаПодписи<ДатаДок: Message("Дата подписи не может быть ранее даты документа",mtError); Template.Field="ДатаПодписи"; ^False; fi;
 ^True;
end;
--Процедуры и функции -------------                           
--
--
--Обработчики событий полей шаблона-----
Proc НомерДок_OnExit(FieldName: String; Iter: Integer);
 ОбработатьНомер(НомерДок);
end;

func НомерДок_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
 Template.HideEditor(False);
 if ДатаДок=1.1.100:
    НомерДок=Str(РАБ.ОБЛ.СледСУчетомГодаФ(SelfCrd,"Номер","ДатаДок","not UKey="+RecordToString(Current)));
   else
    НомерДок=Str(РАБ.ОБЛ.СледСУчетомДатыФ(SelfCrd,"Номер","ДатаДок",ДатаДок,"not UKey="+RecordToString(Current)));
 fi;
 ОбработатьНомер(НомерДок);
 ^Cur;
end;

Func ДатаДок_OnVerify(FieldName: String; Iter: Integer; Value: Date):Logical;
var prevД:D;
 prevД=ДатаДок;
 ДатаДок=Value;
 ОбработатьДату(prevД,ДатаДок);
 Return True;
end;

Proc ДатаДок_OnExit(FieldName: String; Iter: Integer);
 if not ДатаДок=1.1.100 and not ДатаПодписи=ДатаДок:
    if ДатаПодписи=1.1.100:
       ДатаПодписи=ДатаДок;
      else
       if EnqOkCancel("Изменить дату подписи с "+DateToString(ДатаПодписи)+" на "+DateToString(ДатаДок)+" ?",mtWarning)=cmOk:
          ДатаПодписи=ДатаДок;
       fi;
    fi;
 fi;
end;

Func Дата_OnLookup(Sect:S; Row:I; Col:I; Cur:S) :S;
var tmp,prevД:d;
var Field:S;
 Template.HideEditor(False);
 Field=AsString(Template.Field);
 tmp=Calendar;
 if tmp=1.1.100: ^Cur; fi;
 prevД=GetVariableD(Field);
 PutVariableD(Field,tmp);
 if Field="ДатаДок":
    ОбработатьДату(prevД,tmp);
    ДатаДок_OnExit(Field,1);
 fi;
end;

Func Клиент_OnEnter(FieldName: String; Iter: Integer): logical;
var Rec:Record;
 Rec=OpenCardFile("Контрагент","Наше",Рекв,crdRecordOnly);
 if not Rec=nil:
    Рекв=Rec;
    ЗаполнитьКлиента(Рекв);
 fi;
 Return False;
end;

Proc Глава_OnExit(FieldName: String; Iter: Integer);
var tmp:S;
 tmp=GetVariableS(FieldName);
 if not tmp="":
    PutVariableS("h"+FieldName,tmp);
    if FieldName="Глава": 
       ГРБС=Раб.Бюджет.НаимКБК("ППП2006",Глава);
       hГРБС=ГРБС;
    fi;
 fi;
end;

Func Глава_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Rec: Record;
 Template.HideEditor(False);
 Rec=OpenCardFile("РПО_БЮДЖ_КЛАСС_000","NAME_VOC='ППП2006'",nil,crdRecordOnly);
 if not Rec=nil:
    Глава=GetCardFieldS("РПО_БЮДЖ_КЛАСС",Rec,"CODE");
    ГРБС=GetCardFieldS("РПО_БЮДЖ_КЛАСС",Rec,"TXT");
    hГлава=Глава;
    hГРБС=ГРБС;
 fi;
 Return Cur;
end;

Proc Банк_OnClick(Row: Integer; Col: Integer; Double: Logical);
var Field:S;
 if Double:
    if Банк=nil: Message("Выберите банковские реквизиты",mtError); Template.Field="Банк.РПО_ОФК_Имя"; Exit; fi;
    Field=AsString(Template.Field);
    if Field="Банк.РПО_ЛСчет": Field="РПО_ЛСчет";
      |Field="Банк.РПО_НаимБюдж": Field="РПО_НаимБюдж";
      |Field="ФинОрган": Field="РПО_ФО_Наим1";
      |Field="Банк.РПО_ОФК_Код": Field="РПО_ОФК_Код";
      |True: Field="";
    fi;
    ExecuteProc("ИНФО.БАНКСЧЕТА.Вызвать",Банк,Field,0);
 fi;
end;

Func Банк_OnEnter(FieldName: String; Iter: Integer): logical;
var Rec: Record;
 if Рекв=nil: Message("Выберите клиента",mtError); Template.Field="Клиент"; ^False; fi;
 Rec=OpenCardFile("Банк_Счета","Контрагент="+RecordToString(Рекв),Банк,crdRecordOnly);
 if not Rec=nil:
    Банк=Rec;
 fi;
 Return False;
end;

Func АннулТипДок_OnEnter(FieldName: String; Iter: Integer): logical;
var n:i;
var hАннулТипДок:S;
 ClearVariable(Buf);
 Buf[1]="ZN --Заявка на получение денежных средств, перечисляемых на карту";
 Buf[2]="ZR --Заявка на кассовый расход";
 Buf[3]="ZK --Сводная заявка на кассовый расход (для уплаты налогов)";
 Buf[4]="ZV --Заявка на возврат";
 Buf[5]="ZS --Заявка на получение наличных денег";
 Buf[6]="ZZ --Консолидированная заявка";
 Buf[7]="PP --Платежное поручение";
 Buf[8]="RN --Расшифровка сумм неиспользованных (внесенных через банкомат или пункт выдачи наличных денежных средств) средств";
 n=Alternate("Аннулируемый документ",Buf,-1,1,12);
 if not n=0:
    hАннулТипДок=АннулТипДок;
    АннулТипДок=SubStr(Buf[n],1,2);
    if not hАннулТипДок=АннулТипДок:
       ClearVariable(АннулНомДок);
       ClearVariable(АннулДатДок);
       ClearVariable(АннулДок);
       if n=1: Примеч="Заявка на получение денежных средств+, перечисляемых на карту";
         |n=2: Примеч="ЗКР"; -- "ЗКР (сокращенная)" ???
         |n=3: Примеч="Сводная заявка на кассовый расход (для уплаты налогов)";
         |n=4: Примеч="Заявка на возврат";
         |n=5: Примеч="ЗНД";
         |n=6: Примеч="Консолидированная заявка";
         |n=7: Примеч="Платежное поручение";
         |n=8: Примеч="Расшифровка сумм неиспользованных (внесенных через банкомат или пункт выдачи наличных денежных средств) средств";
       fi;
       Примеч="("+Примеч+")";
    fi;
 fi;
 Return False;
end;

Func АннулДок_OnEnter(FieldName: String; Iter: Integer): logical;
 if АннулТипДок="": Message("Выберите аннулируемый документ",mtError); Template.Field="АннулТипДок_"; ^False; fi;
 Return True;
end;

Func АннулДок_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Crd:S;
var Rec: Record;
 Template.HideEditor(False);
 Crd=if(АннулТипДок="ZR":"РПО_ЗАЯВКА_КР"|АннулТипДок="ZV":"РПО_ЗАЯВКА_ВОЗВРАТ"|АннулТипДок="ZS":"РПО_ЗАЯВКА_НАЛ"|True:"");
 Rec=Раб.Поиск.ВыборИзКартотеки(АннулТипДок_,Crd,"НомерДок|ДатаДок","Номер документа|Дата документа","Учитвать");
 if not Rec=nil:
    АннулНомДок=GetCardFieldS(Crd,Rec,"НомерДок");
    АннулДатДок=GetCardFieldD(Crd,Rec,"ДатаДок"); --??? дата регистрации, ху из ю ??
    АннулДок=RecordToInteger(Rec);
 fi;
 Return Cur;
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;
      |Field="ДолжнБух" or Field="ФИОБух": ДолжнБух=v1; ФИОБух=v2;
    fi;
 fi;
 Return Cur;
end;
--Обработчики событий полей шаблона-----
--
--Обработчики событий объектов шаблона-----
Proc cbУчитывать_OnChange(Sender: String);
 if Учитывать:
    Учитывать=Проверить;
   else
    if EnqOkCancel("Вы уверены, что хотите исключить документ из обработки ?",mtWarning)=cmCancel:
       Учитывать=True;
      else
       if ВБанк:
          ВБанк=False;
          cbВБанк.State=ВБанк;
       fi;
    fi;
 fi;
 cbУчитывать.State=Учитывать;
 Оформление;
 EditorApply;
end;

Proc cbВБанк_OnChange(Sender: String);
 --ClearVariable(ДатаРейс);
 --ClearVariable(НомРейс);
 --ClearVariable(ВЛВС);
 if НомРейс>0: НомРейс=-НомРейс; fi;
 if not Учитывать and ВБанк:
    Учитывать=True;
    cbУчитывать.State=Учитывать;
    ВБанк=Учитывать;
    cbВБанк.State=ВБанк;
 fi;
end;

Proc btnПечать_onClick (Obj:S);
 if КолКопий<=0: КолКопий=1; fi;
 if КолКопий>2:
    if EnqOkCancel("Вы уверены, что хотите распечатать "+Str(КолКопий)+" копий документа ?")=cmCancel:
       Message("Отказ от печати"); 
       Exit;
    fi;
 fi;
 РазметкаЛиста(True);
 Try
  Раб.Настр_Печать.Prn("","",SelfCfg,"",КолКопий);
 Finally
  РазметкаЛиста(False);
 end;
end;


Func OnInsert(SectName: String): Logical;
 Return not Учитывать;
end;

Func OnDelete(SectName: String; Iter: Integer): Logical;
 Return not Учитывать;
end;
--Обработчики событий объектов шаблона-----
--
--
--Обработчики событий шаблона -----
Proc OnOpen(Create: Logical);
 FlagInit=True;
 Раб.Настр_Печать.Cfg("",SelfCfg);
end;

Proc AfterOpen(Destroy: Logical);
 Инициализация;
 Оформление;
 FlagInit=False;
end;

Proc OnRead;
 if НоваяЗапись:
    if Номер=0:
       ДатаДок=ToDay;
       ДатаПодписи=ДатаДок;
       Рекв=Раб.Бюджет2005.НашРекв;
       ЗаполнитьКлиента(Рекв);
       ПоУмолчанию;
    fi;
    Номер=РАБ.ОБЛ.СледСУчетомДаты(SelfCrd,"Номер","ДатаДок",ДатаДок);
    НомерДок=Str(Номер);
    Проводить=False;
    ВБанк=False;
    Учитывать=False;
    НомРейс=0;
    ДатаРейс=1.1.100;
    if Раб.Бюджет2005.Сетевая: EditorApply; fi;
 fi;
 if not FlagInit: Оформление; fi;
end;
--Обработчики событий шаблона -----
--

Конец
