-- Шаблон создан мастером бланков
-- 22.05.2008 15:24:09
--
БланкСШаблоном "Содержимое строки расходов";
var Провод:I;
var РКмнт[]:S;
var РПризн[]:S;
var РСчет[]:S;
var РСум[]:N;
var ТСум:N=SumOFArray(РСум);
var РДата[]:D;
var РKey[]:I;
var УKey[]:I;
var УниК[]:S;
var Del:S='-';
var ModRes:I;
var УслСч:S;
var n:S='';


Proc ДобСтроку(ДДата:D;ДСум:N;ДПризн:S;ДСчет:S;ДКмнт:S;ДKey:I);
    Провод=Провод+1;
    Прочие.ЗАКР_РАСШИФР.РДата[Прочие.ЗАКР_РАСШИФР.Провод]=ДДата;
    Прочие.ЗАКР_РАСШИФР.РСум[Прочие.ЗАКР_РАСШИФР.Провод]=ДСум;
    Прочие.ЗАКР_РАСШИФР.РПризн[Прочие.ЗАКР_РАСШИФР.Провод]=ДПризн;
    Прочие.ЗАКР_РАСШИФР.РСчет[Прочие.ЗАКР_РАСШИФР.Провод]=ДСчет;
    Прочие.ЗАКР_РАСШИФР.РКмнт[Прочие.ЗАКР_РАСШИФР.Провод]=ДКмнт;
    Прочие.ЗАКР_РАСШИФР.РKey[Прочие.ЗАКР_РАСШИФР.Провод]=ДKey;
end;



Func Del_OnEnter(FieldName: String; Iter: Integer): logical;
var x:I;
  x=InsertInArraySort(УKey,РKey[Iter]);
  DeleteFrame(Провод,Iter);
  Return False ;
end;


Proc Button3_OnClick(Sender: String);
ModRes=cmCancel;
Close;
end;


Proc Button1_OnClick(Sender: String);
ModRes=cmOk;
Close;

end;


Proc Button2_OnClick(Sender: String);
ModRes=cmOk;
Close;
end;

Func n_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var i,j,a,Iter:I;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 --Построить индекс
 ClearVariable(УниК);
 i=SearchInArray(РСум,РСум[Iter]);
 while i>0 do
   УниК[i]=DateToString(РДата[i])+Str(РСум[i],2)+РПризн[i]+РКмнт[i];
   i=SearchInArray(РСум,РСум[Iter],False,i+1);
 od;
 --Проверить/посчитать дубликаты.
 j=1; 
 a=SearchInArray(УниК,УниК[Iter]);
 while a<Iter do
   j=j+1;
   a=SearchInArray(УниК,УниК[Iter],False,a+1);
 od;
 for Transaction a=УслСч+' {'+Раб.Бюджет.НаборПризнToMask(РПризн[Iter],'&')+'}',РДата[Iter],РДата[Iter]+1 do
   if TransSum(a)=РСум[Iter] and TransComment(a)=РКмнт[Iter] then
     if j=1 then
        TransOpenJur(a); Break;
       else
        j=j-1;
    fi;
   fi;
 od;
 Return Cur;
end;


Конец
