-- Шаблон создан мастером бланков
-- 26.02.2006 10:59:01
--
БланкСШаблоном [14.06.2006] "Объявление на взнос наличными", Редактор ВЗНОСНАЛ;

var FlagInit:L;

var НовыйШаблон:I;

--var Дебет:S=ДОКУМЕНТЫ.БАНК.ВЗНОС.Дебет;

var СК_:I=Int((Сумма-Trunc(Сумма))*100);
var СК:S=if(СК_=0 and not (НовыйШаблон=2 or НовыйШаблон=3),"=",Format("%.2D",СК_));
--var СК:S=Format("%.2D",Int((Сумма-Trunc(Сумма))*100));

Func MyFormat(Val:N):S;
var СР,СК,СК2,sp:S;
var СК_:I;
 СР=Str(Trunc(Val),0);
 СК_=Int((Val-Trunc(Val))*100);
 СК2=Format("%.2D",СК_);
 СК=if(СК_=0 and not (НовыйШаблон=2 or НовыйШаблон=3),"=",СК2);
 sp=if(СК_=0 and not (НовыйШаблон=2 or НовыйШаблон=3),"","-");
 ^СР+sp+СК;
end;

var Сумма_:S=MyFormat(Сумма);

var Сумма1_:s=if(not Символ1="" or not Сумма1=0,MyFormat(Сумма1),"");
var Сумма2_:s=if(not Символ2="" or not Сумма2=0,MyFormat(Сумма2),"");
var Сумма3_:s=if(not Символ3="" or not Сумма3=0,MyFormat(Сумма3),"");
var Сумма4_:s=if(not Символ4="" or not Сумма4=0,MyFormat(Сумма4),"");

var БанкИмя_ :S=if(ФИОЧерез="",if(Банк=nil,Рекв.КорИмя,Банк.БанкИмя),ФИОЧерез);
var Банк_    :S=Банк.Банк+" "+Банк.Город;
var БанкИмяП_:S=if(БанкП=nil,РеквП.КорИмя,БанкП.БанкИмя);
var БанкП_   :S=БанкП.Банк+" "+БанкП.Город;
var ИННП     :S=if(БанкП.РПО_ИНН_БАНКА=False,РеквП.ИНН,БанкП.РПО_БАНК_ИНН);
var КППП     :S=if(БанкП.РПО_ИНН_БАНКА=False,РеквП.КПП,БанкП.РПО_БАНК_КПП);
var ОКАТОП   :S=if(БанкП.РПО_ИНН_БАНКА=False,РеквП.ОКАТО,БанкП.РПО_БАНК_ОКАТО);

var SelfCrd:S="ВЗНОСНАЛ";

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

S8 : Section;
S9 : Section;
S10: Section;
S11: Section;
S12: Section;
S13: Section;

S14: Section;
S15: Section;
S16: Section;
S17: Section;
S18: Section;
S19: Section;
S20: Section;

T1: Section;
T2: Section;
T5: Section;
T8: Section;
T9: Section;

--
--Процедуры и функции ------------- 
Proc Обработать_ОтКого(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Obj.Row(3,RowHeight,20);
    Obj.Row(4,RowVisible,False);
    Obj.Column(5,ColWidth,360);
    Obj.Column(6,ColVisible,False);
    Test="";
    ww=WordsCount(БанкИмя_," ");
    for w=1..ww do
     Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,БанкИмя_," ")," ");
     if AsInteger(T1.Cell(1,1,CellLinesCount,Test))>1:
	Obj.Cell(1,2,CellContents,ExtractWords(1,w-1,БанкИмя_," ")); --От кого
	Obj.Row(3,RowHeight,10); --чтобы прижимался текст
	Obj.Row(4,RowVisible,True);
	Obj.Cell(4,2,CellContents,ExtractWords(w,ww,БанкИмя_," ")); --От кого (строка ниже)
	Obj.CellLinks(2,4,2,4);
	Break;
     fi;
    od;
    if w>ww: Obj.Cell(1,2,CellContents,БанкИмя_); fi; --От кого
    if НовыйШаблон=1 or НовыйШаблон=2:
       for w=0..35 do
	T1.Column(2,ColWidth,360-(w*10));
	if AsInteger(T1.Cell(1,2,CellLinesCount,Сумма_))>1:
	   Obj.Column(5,ColWidth,360-(Max(w-1,0)*10));
	   Obj.Column(6,ColVisible,True);
	   Obj.Column(6,ColWidth,(w-1)*10);
	   Break;
	fi;
       od;
    fi;
 fi;
end;

Proc Обработать_БанкВнос(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Obj.Column(6,ColWidth,230);
    Obj.Column(7,ColVisible,False);
    Test="";
    ww=WordsCount(Банк_," ");
    for w=1..ww do
     Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,Банк_," ")," ");
     if AsInteger(T2.Cell(1,1,CellLinesCount,Test))>1:
	Obj.Cell(1,2,CellContents,ExtractWords(1,w-1,Банк_," ")); --Наименование банка-вносителя
	Obj.Cell(2,1,CellContents,ExtractWords(w,ww,Банк_," ")); --Наименование банка-вносителя (строка ниже)
	Break;
     fi;
    od;
    if w>ww: Obj.Cell(1,2,CellContents,Банк_); fi;--Наименование банка-вносителя
    if НовыйШаблон=1 or НовыйШаблон=2:
       for w=0..22 do
	T2.Column(2,ColWidth,230-(w*10));
	if AsInteger(T2.Cell(1,2,CellLinesCount,Сумма1_))>1:
	   Obj.Column(6,ColWidth,230-(Max(w-1,0)*10));
	   Obj.Column(7,ColVisible,True);
	   Obj.Column(7,ColWidth,(w-1)*10);
	   Break;
	fi;
       od;
    fi;
 fi;
end;

Proc Обработать_БанкПолуч(S:S);
var w,ww:i;
var Test:S;
var Obj1,Obj2: Object;
 if not FindObject(S,Obj1): Exit; fi;
 if not FindObject("S"+Str(Int(SubStr(S,2,255))+1),Obj2): Exit; fi;
 Obj1.Column(6,ColWidth,230);
 Obj1.Column(7,ColVisible,False);
 Obj2.Column(6,ColWidth,230);
 Obj2.Column(7,ColVisible,False);
 Test="";
 ww=WordsCount(БанкП_," ");
 for w=1..ww do
  Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,БанкП_," ")," ");
  if AsInteger(T2.Cell(1,1,CellLinesCount,Test))>1:
     Obj1.Cell(1,2,CellContents,ExtractWords(1,w-1,БанкП_," ")); --Наименование банка-получателя
     Obj2.Cell(1,1,CellContents,ExtractWords(w,ww,БанкП_," ")); --Наименование банка-получателя (строка ниже)
     Break;
  fi;
 od;
 if w>ww: Obj1.Cell(1,2,CellContents,БанкП_); fi;--Наименование банка-получателя
 if НовыйШаблон=1 or НовыйШаблон=2:
    for w=0..22 do
     T2.Column(2,ColWidth,230-(w*10));
     if AsInteger(T2.Cell(1,2,CellLinesCount,Сумма2_))>1:
	Obj1.Column(6,ColWidth,230-(Max(w-1,0)*10));
	Obj1.Column(7,ColVisible,True);
	Obj1.Column(7,ColWidth,(w-1)*10);
	Break;
     fi;
    od;
    for w=0..22 do
     T2.Column(2,ColWidth,230-(w*10));
     if AsInteger(T2.Cell(1,2,CellLinesCount,Сумма3_))>1:
	Obj2.Column(6,ColWidth,230-(Max(w-1,0)*10));
	Obj2.Column(7,ColVisible,True);
	Obj2.Column(7,ColWidth,(w-1)*10);
	Break;
     fi;
    od;
 fi;
end;

Proc Обработать_Пропись(S:S; w1:i);
var w,ww,w1_:i;
var Test,Пропись_,s1,s2:S;
var Obj1,Obj2: Object;
 if not FindObject(S,Obj1): Exit; fi;
 if not FindObject("S"+Str(Int(SubStr(S,2,255))+1),Obj2): Exit; fi;
 Obj1.Column(2,ColWidth,w1);
 Obj1.Column(3,ColVisible,False);
 if AsInteger(Obj1.ColsCount)>=5:
    Obj1.Column(5,ColWidth,230);
    Obj1.Column(6,ColVisible,False);
 fi;
 Obj2.Column(1,ColVisible,True);
 Obj2.Column(2,ColVisible,False);
 Пропись_=Slo_(Trunc(Сумма),"РУБ1");
 Пропись_=SubStr(Пропись_,1,Pos("руб",Пропись_)-1);
 s1=""; s2="";
 ww=WordsCount(Пропись_," ");
 T5.Column(1,ColWidth,w1);
 T5.CellLinks(1,1,1,1);
 Test="";
 for w=1..ww do
  Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,Пропись_," ")," ");
  if AsInteger(T5.Cell(1,1,CellLinesCount,Test))>1:
     s1=ExtractWords(1,w-1,Пропись_," ");
     Obj1.Cell(1,2,CellContents,s1); --Сумма прописью
     s2=ExtractWords(w,ww,Пропись_," ");
     Obj2.Cell(1,1,CellContents,s2); --Сумма прописью (строка ниже)
     Break;
  fi;
 od;
 if w>ww: 
    s1=Пропись_;
    Obj1.Cell(1,2,CellContents,s1);--Сумма прописью
 fi;
 if (НовыйШаблон=1 or НовыйШаблон=2) and (s="S5" or s="S18"):
    for w=0..22 do
     T5.Column(2,ColWidth,230-(w*10));
     if AsInteger(T5.Cell(1,2,CellLinesCount,Сумма4_))>1:
	Obj1.Column(5,ColWidth,230-(Max(w-1,0)*10));
	Obj1.Column(6,ColVisible,True);
	Obj1.Column(6,ColWidth,(w-1)*10);
	Break;
     fi;
    od;
 fi;
 if s2="":
    w1_=Int(w1/10-1);
    for w=0..w1_ do
     T5.Column(1,ColWidth,w1-(w*10));
     if AsInteger(T5.Cell(1,1,CellLinesCount,s1))>1:
	Obj1.Column(2,ColWidth,w1-(Max(w,0)*10)+5);
	Obj1.Column(3,ColVisible,True);
	Obj1.Column(3,ColWidth,(w)*10-5);
	Break;
     fi;
    od;
    Obj2.Column(1,ColVisible,False);
    Obj2.Column(2,ColVisible,True);
    Obj2.Column(2,ColWidth,1430);
   else
    for w=0..142 do
     T5.Column(3,ColWidth,1430-(w*10));
     if AsInteger(T5.Cell(1,3,CellLinesCount,s2))>1:
	Obj2.Column(1,ColWidth,1430-(Max(w,0)*10)+5);
	Obj2.Column(2,ColVisible,True);
	Obj2.Column(2,ColWidth,(w)*10-5);
	Break;
     fi;
    od;
 fi;
end;

Proc Обработать_Ист(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Test="";
    ww=WordsCount(Источник," ");
    for w=1..ww do
     Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,Источник," ")," ");
     if AsInteger(Obj.Cell(1,2,CellLinesCount,Test))>1:
	Obj.Cell(1,2,CellContents,ExtractWords(1,w-1,Источник," ")); --Источник поступления
	Obj.Cell(2,1,CellContents,ExtractWords(w,ww,Источник," ")); --Источник поступления(строка ниже)
	Obj.CellLinks(1,2,5,2);
	Break;
     fi;
    od;
    if w>ww: Obj.Cell(1,2,CellContents,Источник); fi;--Источник поступления
 fi;
end;

Proc Обработать_Сумма(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Obj.Column(5,ColWidth,440);
    Obj.Column(6,ColVisible,False);
    if НовыйШаблон=1 or НовыйШаблон=2:
       for w=0..43 do
	T8.Column(1,ColWidth,440-(w*10));
	if AsInteger(T8.Cell(1,1,CellLinesCount,Сумма_))>1:
	   Obj.Column(5,ColWidth,440-(Max(w-1,0)*10));
	   Obj.Column(6,ColVisible,True);
	   Obj.Column(6,ColWidth,(w-1)*10);
	   Break;
	fi;
       od;
    fi;
 fi;
end;

Proc Обработать_БанкВнос2(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Test="";
    ww=WordsCount(Банк_," ");
    for w=1..ww do
     Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,Банк_," ")," ");
     if AsInteger(Obj.Cell(1,2,CellLinesCount,Test))>1:
	Obj.Cell(1,2,CellContents,ExtractWords(1,w-1,Банк_," ")); --Наименование банка-вносителя
	Obj.Cell(2,1,CellContents,ExtractWords(w,ww,Банк_," ")); --Наименование банка-вносителя (строка ниже)
	Break;
     fi;
    od;
    if w>ww: Obj.Cell(1,2,CellContents,Банк_); fi;--Наименование банка-вносителя
 fi;
end;

Proc Обработать_БанкПолуч2(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Test="";
    ww=WordsCount(БанкП_," ");
    for w=1..ww do
     Test=Раб.Бюджет2005.Объединить(Test,ExtractWord(w,БанкП_," ")," ");
     if AsInteger(Obj.Cell(1,2,CellLinesCount,Test))>1:
	Obj.Cell(1,2,CellContents,ExtractWords(1,w-1,БанкП_," ")); --Наименование банка-получателя
	Obj.Cell(2,1,CellContents,ExtractWords(w,ww,БанкП_," ")); --Наименование банка-получателя (строка ниже)
	Break;
     fi;
    od;
    if w>ww: Obj.Cell(1,2,CellContents,БанкП_); fi;--Наименование банка-получателя
 fi;
end;

Proc Обработать_Коп(S:S);
var w,ww:i;
var Test:S;
var Obj: Object;
 if FindObject(S,Obj):
    Obj.Column(4,ColWidth,210);
    Obj.Column(5,ColVisible,False);
    if НовыйШаблон=1 or НовыйШаблон=2:
       for w=0..20 do
	T9.Column(1,ColWidth,210-(w*10));
	if AsInteger(T9.Cell(1,1,CellLinesCount,СК))>1:
	   Obj.Column(4,ColWidth,210-(Max(w-1,0)*10));
	   Obj.Column(5,ColVisible,True);
	   Obj.Column(5,ColWidth,(w-1)*10);
	   Break;
	fi;
       od;
    fi;
 fi;
end;

Proc Оформление;
 Обработать_ОтКого("S1");
 Обработать_БанкВнос("S2");
 Обработать_БанкПолуч("S3");
 Обработать_Пропись("S5",1170);
 Обработать_Коп("S6");
 Обработать_Ист("S7");
 --
 Обработать_Сумма("S8");
 Обработать_БанкВнос2("S9");
 Обработать_БанкПолуч2("S10");
 Обработать_Пропись("S11",1540);
 Обработать_Коп("S12");
 Обработать_Ист("S13");
 --
 Обработать_ОтКого("S14");
 Обработать_БанкВнос("S15");
 Обработать_БанкПолуч("S16");
 Обработать_Пропись("S18",1170);
 Обработать_Коп("S19");
 Обработать_Ист("S20");
end;
--Процедуры и функции -------------			      
--
--
--Обработчики событий полей шаблона-----
--Обработчики событий полей шаблона-----
--
--
--Обработчики событий объектов шаблона-----
Proc rbШаблон_OnChange(Sender: String);
 Оформление;
end;

Proc btnПечать_OnClick(Sender: String);
 Close;
end;
--Обработчики событий объектов шаблона-----
--
--
--Обработчики событий шаблона -----
Proc onOpen(Create:L);
 FlagInit=True;
 Раб.Настр_Печать.Cfg("","ТББ.ДОКУМЕНТЫ.КАССА.ВЗНОС_318П.000.cfg");
end;

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

Proc OnRead;
 if Дата>=1.11.2014:
    OpenBlank("ДОКУМЕНТЫ.БАНК.ВЗНОС_ПЕЧАТЬ_3352_У",ModalMode,Current);
    Close;
 fi;
 if not FlagInit: Оформление; fi;
end;
--Обработчики событий шаблона -----
--

Конец
