БланкСШаблоном "Шаблон заполнения платежного поручения", Редактор ШАБЛОНЫ;

cbБюджет: Object;

var HandleMono  :L=if(РПО_MultiStr=False,True,False);
var HandleMulti :L=if(РПО_MultiStr,True,False);

var Плательщик:S=if(РПО_Банк<>Nil,РПО_Банк.БанкИмя,РПО_Рекв.КорИмя);
var Получатель:S=if(РПО_БанкП<>Nil,РПО_БанкП.БанкИмя,РПО_РеквП.КорИмя);

var Массив[]:S;

var Т:String='...';

ТекСчета:S="*.?.201.?1.610!|*.?.201.?7.610!|*.?.304.05!";
--
--Процедуры и функции -------------                           
--Процедуры и функции -------------                           
--
--
--Обработчики событий полей шаблона-----
Func Рекв_onEnter (Field:S; Iter:I):L;
var Rec:Record;
 Rec=OpenCardFile("КОНТРАГЕНТ","НАШЕ",РПО_Рекв,crdRecordOnly);
 if Rec=nil: ^false; fi;
 РПО_Рекв=Rec;
 Rec=Раб.Бюджет2005.БанкСчет(РПО_РЕКВ,False);
 РПО_БАНК=Rec;
end;

Proc Рекв_onExit (Field:S; Iter:I);
 РПО_Рекв=nil;
 РПО_Банк=nil;
end;

Func Банк_onEnter(Field:S; Iter:I):L;
var Rec:Record;
 if РПО_Рекв=nil: Message("Выберите платильщика!"); Template.Field="Платильщик"; ^False; fi;
 Rec=ОткрытьКартотеку("Банк_Счета","Контрагент="+RecordToString(РПО_Рекв),РПО_Банк);
 if Rec=nil: ^False; fi;
 РПО_Банк=Rec;
 ^False;
end;

Func РеквП_onEnter (Field:S; Iter:I):L;
var Rec:Record;
 Rec=OpenCardFile("КОНТРАГЕНТ","",РПО_РеквП,crdRecordOnly);
 if Rec=nil: ^false; fi;
 РПО_РеквП=Rec;
 Rec=Раб.Бюджет2005.БанкСчет(РПО_РЕКВП,False);
 РПО_БАНКП=Rec;
end;

Proc РеквП_onExit (Field:S; Iter:I);
 РПО_РеквП=nil;
 РПО_БанкП=nil;
end;

Func БанкП_onEnter(Field:S; Iter:I):L;
var Rec:Record;
 if РПО_РеквП=nil: Message("Выберите получателя!"); Template.Field="Получатель"; ^False; fi;
 Rec=ОткрытьКартотеку("Банк_Счета","Контрагент="+RecordToString(РПО_РеквП),РПО_БанкП);
 if Rec=nil: ^False; fi;
 РПО_БанкП=Rec;
 ^False;
end;

Func П_onEnter(Field:S; Iter:I):L;
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
 ^True;
end;

Func ВыборСтатуса(Field:S; Iter:I):L;
var n:I;
 ClearVariable(Массив);
 Массив[1]="01 - юридическое лицо";
 Массив[2]="02 - налоговый агент";
 Массив[3]="03 - сборщик налогов и сборов";
 Массив[4]="04 - налоговый орган";
 Массив[5]="05 - служба судебных приставов";
 Массив[6]="06 - участник внешнеэкономической  деятельности";
 Массив[7]="07 - таможенный орган";
 Массив[8]="08 - плательщик иных обязательных платежей";
 Массив[9]="09 - налогоплательщик (плательщик сборов) индивидуальный предприниматель";
 Массив[10]="10 - налогоплательщик (плательщик сборов) частный нотариус";
 Массив[11]="11 - налогоплательщик (плательщик сборов) адвокат";
 Массив[12]="12 - налогоплательщик (плательщик сборов) глава крестьянского (фермерского) хозяйства";
 Массив[13]="13 - налогоплательщик (плательщик сборов) иное физическое лицо - клиент банка (владелец счета)";
 Массив[14]="14 - налогоплательщик, производящий выплаты физическим лицам";
 Массив[15]="15 - кредитная организация";
 n=Alternate('Статус',Массив);
 if n=0: ^false; fi;
 П1=SubStr(Массив[n],1,2);
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
^False;
end;

Func ВыборКБК(Field:S; Iter:I):L;
var n:i;
var tmp:S;
 Template.HideEditor(False);
 tmp=Раб.КБК.ВыбратьКД;
 if tmp="": ^False; fi;
 П2=tmp;
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
^False;
end;

Func ВыборОКАТО(Field:S; Iter:I):L;
 П3=РПО_РеквП.ОКАТО;
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
^False;
end;

Func ВыборОснПлатежа(Field:S; Iter:I):L;
var n:I;
 ClearVariable(Массив);
 Массив[1]="ТП - платежи текущего года";
 Массив[2]="ЗД - добровольное погашение задолженности";
 Массив[3]="ТР - погашение  задолженности  по  требованию";
 Массив[4]="РС - погашение рассроченной задолженности";
 Массив[5]="ОТ - погашение отсроченной задолженности";
 Массив[6]="РТ - погашение реструктурируемой задолженности";
 Массив[7]="ВУ - погашение отсроченной задолженности в связи с введением внешнего управления";
 Массив[8]="ПР - погашение задолженности, приостановленной к взысканию";
 Массив[9]="АП - погашение задолженности по акту проверки";
 Массив[10]="АР - погашение задолженности по исполнительному документу";
 n=Alternate('Основание платежа',Массив);
 if n=0: ^false; fi;
 П4=SubStr(Массив[n],1,2);
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
^False;
end;

Func ВыборНалогПер(Field:S; Iter:I):L;
var n,yyyy:I;
 ClearVariable(Массив);
 Массив[01]="МС.01 - Месячный платеж за январь";
 Массив[02]="МС.02 - Месячный платеж за февраль";
 Массив[03]="МС.03 - Месячный платеж за март";
 Массив[04]="МС.04 - Месячный платеж за апрель";
 Массив[05]="МС.05 - Месячный платеж за май";
 Массив[06]="МС.06 - Месячный платеж за июнь";
 Массив[07]="МС.07 - Месячный платеж за июль";
 Массив[08]="МС.08 - Месячный платеж за август";
 Массив[09]="МС.09 - Месячный платеж за сентябрь";
 Массив[10]="МС.10 - Месячный платеж за октярь";
 Массив[11]="МС.11 - Месячный платеж за ноябрь";
 Массив[12]="МС.12 - Месячный платеж за декабрь";
 Массив[13]="КВ.01 - Квартальный платеж за I квартал";
 Массив[14]="КВ.02 - Квартальный платеж за II квартал";
 Массив[15]="КВ.03 - Квартальный платеж за III квартал";
 Массив[16]="КВ.04 - Квартальный платеж за IV квартал";
 Массив[17]="ПЛ.01 - Полугодовой платеж за I полугодие";
 Массив[18]="ПЛ.02 - Полугодовой платеж за II полугодие";
 Массив[19]="ГД.00 - Годовой платеж";
 n=Alternate('Основание платежа',Массив);
 if n=0: ^False; fi;
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
 if Input(yyyy,"Введите год налогового периода")=cmCancel: ^False; fi;
 if YYYY=0: YYYY=Year(ToDay); fi;
 П5=SubStr(Массив[n],1,5)+"."+Str(yyyy);
 ^False;
end;

Func ВыборТипПлатежа(Field:S; Iter:I):L;
var n:I;
 ClearVariable(Массив);
 Массив[1]="НС - уплата налога или сбора";
 Массив[2]="АВ - уплата аванса или предоплата (в том числе декадные платежи)";
 Массив[3]="ПЕ - уплата пени";
 Массив[4]="ПЦ - уплата процентов";
 Массив[5]="СА - налоговые санкции,установленные Налоговым кодексом РФ";
 Массив[6]="АШ - административные штрафы";
 Массив[7]="ИШ - иные штрафы";
 Массив[8]="ПЛ - уплата платежа";
 Массив[9]="ГП - уплата пошлины";
 Массив[10]="ВЗ -  уплата взноса";
 n=Alternate('Тип платежа',Массив);
 if n=0: ^false; fi;
 П8=SubStr(Массив[n],1,2);
 РПО_Бюджет=True;
 cbБюджет.State=РПО_Бюджет;
^False;
end;
--Обработчики событий полей шаблона-----
--
--
--Обработчики событий объектов шаблона-----
Proc btnСохранить_onClick(Obj:s);
 EditorApply;
 Close;
end;

Proc btnОтмена_onClick(Obj:S);
 EditorCancel;
 Close;
end;

Proc cbMultiStr_onChange (Obj:S);
 if РПО_MultiStr=False:
    Шаблон=Trim(Шаблон)+" "+Trim(РПО_Шаблон1)+" "+Trim(РПО_Шаблон2)+" "+Trim(РПО_Шаблон3)+" "+Trim(РПО_Шаблон4);
    РПО_Шаблон1=""; РПО_Шаблон2=""; РПО_Шаблон3=""; РПО_Шаблон4="";
   else
    РПО_Шаблон1=""; РПО_Шаблон2=""; РПО_Шаблон3=""; РПО_Шаблон4="";
 fi;
end;
--Обработчики событий объектов шаблона-----
--
--
--Обработчики событий шаблона -----
--Обработчики событий шаблона -----
--

Конец
