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


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

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

КредиторИтогВсего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);

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

КредиторИтогВсего13 :Numeric = SumOfArray(КредиторВсего13);
КредиторИтогНДС13   :Numeric = SumOfArray(КредиторНДС13);

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

КредиторИтогВсего14 :Numeric = SumOfArray(КредиторВсего14);
КредиторИтогНДС14   :Numeric = SumOfArray(КредиторНДС14);

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

КредиторИтогВсего15 :Numeric = SumOfArray(КредиторВсего15);
КредиторИтогНДС15   :Numeric = SumOfArray(КредиторНДС15);

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

Прод_СФВсегоИтог    :Numeric = SumOfArray(Прод_СФВсего);
Прод_СФНДСИтог	    :Numeric = SumOfArray(Прод_СФНДС);
Прод_ОплВсегоИтог   :Numeric = SumOfArray(Прод_ОплВсего);
Прод_ОплНДСИтог     :Numeric = SumOfArray(Прод_ОплНДС);


ФИОРук		    :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] = Наим;
	  elsif aField="КредиторНаим13" then КредиторНаим13[aIndex] = Наим;
	  elsif aField="КредиторНаим14" then КредиторНаим14[aIndex] = Наим;
	  elsif aField="КредиторНаим15" then КредиторНаим15[aIndex] = Наим;
	  elsif aField="Прод_Наим"	then Прод_Наим	   [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 КредиторНаим13_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборКонтры("КредиторНаим13", AsInteger(Template.Frame));
    Template.HideEditor(False); Return("");
  end;

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

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

  Func КредиторНаим2_OnLookup (Sect: String; Row: Integer; Col: Integer; Cur: String): String;
    ВыборКонтры("Прод_Наим", 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);
    elsif FieldName="стрДобавить13" then InsertFrame(Раздел13, Iter+1);
    elsif FieldName="стрДобавить14" then InsertFrame(Раздел14, Iter+1);
    elsif FieldName="стрДобавить15" then InsertFrame(Раздел15, Iter+1);
    elsif FieldName="стрДобавить2"  then InsertFrame(Раздел2,  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);
    elsif FieldName="стрУдалить13" then  DeleteFrame(Раздел13, Iter);
    elsif FieldName="стрУдалить14" then  DeleteFrame(Раздел14, Iter);
    elsif FieldName="стрУдалить15" then  DeleteFrame(Раздел15, Iter);
    elsif FieldName="стрУдалить2"  then  DeleteFrame(Раздел2,  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;

Конец
