-- Шаблон создан мастером бланков
-- 31.01.2006 14:15:57
--
БланкСШаблоном "Справка о дебиторской задолженности";


Наименование	   :String;
ИНН_КПП 	   :String;
Период		   :String;
Политика	   :String;

секДебитор	   :Section;
ПП		   :Integer;
ДебиторНаим	   :String;
ДебиторСФ	   :String;
ДебиторВсего	   :Numeric;
ДебиторНДС	   :Numeric;

секДебитор1	   :Section;
стрДобавить1	   :String  = "+";
стрУдалить1	   :String  = "-";
Раздел1 	   :Integer;
ПП1[]		   :Integer = $;
ДебиторНаим1[]	   :String;
ДебиторСФ1[]	   :String;
ДебиторВсего1[]    :Numeric;
ДебиторНДС1[]	   :Numeric;
ДебиторПустоНаим1[]:String;
ДебиторПустоСФ1[]  :String;

ДебиторИтогВсего1  :Numeric = SumOfArray(ДебиторВсего1);
ДебиторИтогНДС1    :Numeric = SumOfArray(ДебиторНДС1);

секДебитор11	   :Section;
стрДобавить11	   :String  = "+";
стрУдалить11	   :String  = "-";
Раздел11	   :Integer;
ПП11[]		   :Integer = $;
ДебиторНаим11[]    :String;
ДебиторСФ11[]	   :String;
ДебиторВсего11[]   :Numeric;
ДебиторНДС11[]	   :Numeric;

ДебиторИтогВсего11 :Numeric = SumOfArray(ДебиторВсего11);
ДебиторИтогНДС11   :Numeric = SumOfArray(ДебиторНДС11);

секДебитор12	   :Section;
стрДобавить12	   :String  = "+";
стрУдалить12	   :String  = "-";
Раздел12	   :Integer;
ПП12[]		   :Integer = $;
ДебиторНаим12[]    :String;
ДебиторСФ12[]	   :String;
ДебиторВсего12[]   :Numeric;
ДебиторНДС12[]	   :Numeric;

ДебиторИтогВсего12 :Numeric = SumOfArray(ДебиторВсего12);
ДебиторИтогНДС12   :Numeric = SumOfArray(ДебиторНДС12);

ФИОРук		   :String;
ФИОБух		   :String;

  Proc кнРеквизиты_OnClick(Sender: String);
    Наименование = Инфо.ОИ.КорИмя;
    ИНН_КПП	 = Инфо.ОИ.ИНН+if(Инфо.ОИ.КПП<>"", "/"+Инфо.ОИ.КПП, "");
    ФИОРук	 = Инфо.ОИ.ИмяРук;
    ФИОБух	 = Инфо.ОИ.ИмяБух;
  end;

  proc ВыборСотрудника(aField :String);
    var ФИО	:String;
    var vRecord :Record;

    vRecord = OpenCardFile("Сотрудники");
    if vRecord<>Nil:
      ФИО   = GetCardFieldS("Сотрудники", vRecord, "ФИОТ");

      if    aField="ФИОРук" then ФИОРук = ФИО;
      elsif aField="ФИОБух" then ФИОБух = ФИО;
      else
      end;
    end;
  end;

  proc ВыборКонтры(aField :String;
		   aIndex :Integer);

    var Наим, ИНН :String;
    var vRecord   :Record;

    vRecord = OpenCardFile("Контрагент");
    if vRecord<>Nil:
      Наим  = GetCardFieldS("Контрагент", vRecord, "КорИмя");
      ИНН   = GetCardFieldS("Контрагент", vRecord, "ИНН")+"/"+GetCardFieldS("Контрагент", vRecord, "КПП");
      if SubStr(ИНН, Length(ИНН), 1)="/" then
	ИНН = SubStr(ИНН, 1, Length(ИНН)-1);
      end;

      if    aField="Наименование"  then 
	Наименование = Наим;
	ИНН_КПП      = ИНН;
      else
	if aIndex>0 then
	  Наим	     = Наим+" ("+ИНН+")";
	  if	aField="ДебиторНаим1"  then ДебиторНаим1 [aIndex] = Наим;
	  elsif aField="ДебиторНаим11" then ДебиторНаим11[aIndex] = Наим;
	  elsif aField="ДебиторНаим12" then ДебиторНаим12[aIndex] = Наим;
	  else
	  end;
	end;
      end;
    end;
  end;

  Func Наименование_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборКонтры("Наименование", 0);
    Template.HideEditor(False);
    Return("");
  end;

  Func ДебиторНаим1_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборКонтры("ДебиторНаим1",  AsInteger(Template.Frame));
    Template.HideEditor(False);
    Return("");
  end;

  Func ДебиторНаим11_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборКонтры("ДебиторНаим11", AsInteger(Template.Frame));
    Template.HideEditor(False);
    Return("");
  end;

  Func ДебиторНаим12_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборКонтры("ДебиторНаим12", AsInteger(Template.Frame));
    Template.HideEditor(False);
    Return("");
  end;

  Func стрДобавить_OnEnter(FieldName: String; Iter: Integer): logical;
    if	  FieldName="стрДобавить1"  then InsertFrame(Раздел1,  Iter+1);
    elsif FieldName="стрДобавить11" then InsertFrame(Раздел11, Iter+1);
    elsif FieldName="стрДобавить12" then InsertFrame(Раздел12, Iter+1);
    else
    end;
    Return(False);
  end;

  Func стрУдалить_OnEnter(FieldName: String; Iter: Integer): logical;
    if	  FieldName="стрУдалить1"  then  DeleteFrame(Раздел1,  Iter);
    elsif FieldName="стрУдалить11" then  DeleteFrame(Раздел11, Iter);
    elsif FieldName="стрУдалить12" then  DeleteFrame(Раздел12, Iter);
    else
    end;
    Return(False);
  end;

  Func ФИОРук_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборСотрудника("ФИОРук");
    Template.HideEditor(False);
    Return("");
  end;

  Func ФИОБух_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборСотрудника("ФИОБух");
    Template.HideEditor(False);
    Return("");
  end;

  Proc кнЗакрыть_OnClick(Sender: String);
    Close;
  end;



Конец
