БланкСШаблоном "Товарная Накладная (ТОРГ-12)", Редактор ТНакладная;

КорИмя	     :String=Рекв.КорИмя;
ОКПО	     :String=Рекв.ОКПО;
ОКДП	     :String=Рекв.ОКДП;--=ИНФО.ОИ.ОКДП;
КорИмяОтпр   :String=Отправитель.КорИмя;
ГрОКПО	     :String=Отправитель.ОКПО;
КорИмяПост   :String=Поставщик.КорИмя;
ПостОКПО     :String=Поставщик.ОКПО;
КорИмяПлат   :String=Плательщик.КорИмя;
ПлатОКПО     :String=Плательщик.ОКПО;

Num[]	     :String=Str($);

ВсегоМест   :Numeric=SumOfArray(Позиции[].Мест);
ВсегоБрутто :Numeric=SumOfArray(Позиции[].Брутто);
ВсегоНетто  :Numeric=SumOfArray(Позиции[].Нетто);
ВсегоСум    :Numeric=SumOfArray(Позиции[].Сумма);
ВсегоНДС    :Numeric=SumOfArray(Позиции[].СуммаНДС);
Всего	    :Numeric=SumOfArray(Позиции[].СумСНДС);

ФИО11Д:String=if(ФИО11=nil,Рекв.ДолжнРук,ФИО11.Должность.Долж);
ФИО11Ф:String=if(ФИО11=nil,Рекв.ФиоРук,ФИО11.ФИОТ);
ФИО12Ф:String=if(ФИО12=nil,Рекв.ФиоБух,ФИО12.ФИОТ);

КНПлюс:String="+";
КНМинус:String="-";

ТекстВалюта:String=if(Валюта='','РУБ',Валюта);

ТипВыбора:Integer=[0]; -- 0 - ТМЦ, 2 - Текст

ФлТМЦ:String=if(ТипВыбора=0,'V','');
флТекст:String=if(ТипВыбора=2,'V','');
СФильтром:Logical; -- Выбор ТМЦ с фильтром


Func Написать(x :Numeric) :String;
Var spl :String;
  If x>0 :
    spl=if(Round(x,0)=x,'ЕД0',if(Round(x,1)=x,'ЕД1',if(Round(x,2)=x,'ЕД2','ЕД3')));
    ^SLO_(x,spl);
  Fi;
End;

var КоличПроп :String=If(Позиции>0, СЛО_(Позиции,'ДОКН'), "");
var МестПроп :String=If(Позиции>0, СЛО_(ВсегоМест,'ДОКН'), "");

-- Сенков Илья (начало)
-- отключил переменные, так как
--test1:numeric=ВсегоБрутто-round(ВсегоБрутто);
--s1:string=str(ВсегоБрутто,3);
--s2:string=if(substr(s1,length(s1),1)<>"0","ЕДЦ3",if(substr(s1,length(s1)-1,1)<>"0","ЕДЦ2","ЕДЦ1"));
--s3:string=if(test1=0,"ДОКН",s2);

--test11:numeric=ВсегоНетто-round(ВсегоНетто);
--s11:string=str(ВсегоНетто,3);
--s21:string=if(substr(s11,length(s11),1)<>"0","ЕДЦ3",if(substr(s11,length(s11)-1,1)<>"0","ЕДЦ2","ЕДЦ1"));
--s31:string=if(test11=0,"ДОКН",s21);

--ПоказНетто: Logical = [True];
--ПоказБрутто: Logical = [True];
--НеттоПроп :String=If(Позиции>0 and ПоказНетто, СЛО_(ВсегоНетто, s31), "");
--БруттоПроп :String=If(Позиции>0 And ВсегоБрутто>=ВсегоНетто and ПоказБрутто, СЛО_(ВсегоБрутто,s3),"");
-- Сенков Илья (Конец)

var ОбновитьНетто: String = 'О';
var ОбновитьБрутто: String = 'О';

func ВалПр: String;
  if Валюта = 'usd' :
    return 'дол';
  elsif Валюта = 'eur' :
    return 'евр';
  end;
  return '';
end;

var ВсегоПроп :String=If(Позиции>0, СЛО_(Всего, ВалПр), "");

var ЗагЦена :String= 'Цена' + if(Валюта = '' or Валюта = 'РУБ', ', руб. коп.', '');
var ЗагСуммаБн :String= 'Сумма без учета НДС' + if(Валюта = '' or Валюта = 'РУБ', ', руб.коп.', '');
var ЗагСумма :String= 'Сумма с учетом НДС' + if(Валюта = '' or Валюта = 'РУБ', ', руб.коп.', '');
var НДСсумма :String= 'сумма' + if(Валюта = '' or Валюта = 'РУБ', ', руб.коп.', '');
ПрилПроп:String;

proc проверить_Брутто(f:String;i:Integer);
   if позиции[i].Брутто<позиции[i].Нетто:message("Масса брутто не может быть меньше массы НЕТТО");
      позиции[i].Брутто=0;
   fi;
end;


Proc ПриСчитывании;
Var i :Integer;
var rec:Record;
var РО:Integer;


--  ClearVariable(Сумма);
  if Номер=0:if BlankExist("РАБ.ТСС.БИБ.SQL"):Изсистемы=2;fi;fi;


  If Номер = 0:
    Номер=Раб.Обл.СледСУчетомГода("ТНакладная","Номер","Дата");
    НомерБум=СТР(Номер);
  Fi;

  For i=1..Позиции Do
    If Позиции[i].Нетто=0 And Позиции[i].ВОдном<>0:
      Позиции[i].Нетто=Позиции[i].ВОдном*Позиции[i].Мест;
    Fi;
  --  Сумма[I] = Позиции[I].Нетто * Позиции[I].Цена;
  Od;


  If Дата = 01.01.100: Дата = Сегодня; ДатаПоставщика = Дата;Fi;
  If Рекв = NIL: Рекв = РАБ.Обл.ПервЗапись("Контрагент","","Наше"); Fi;

  If Стр_Рекв="":
    if рекв<>nil:
      Поставщик=рекв;
      стр_рекв=Поставщик.КорИмя+', '+Поставщик.юрадрес+', '+Поставщик.Телефон;

      РО=OpenWorkArea('БАНК_СЧЕТА','УМОЛЧАНИЕ','УМОЛЧАНИЕ AND КОНТРАГЕНТ='+RecordToString(rec));
      Try
	if Records(РО)>0:
	 стр_рекв=стр_рекв+', '+GetFieldS(РО,1,"БАНК")+', рас.счет:'+GetFieldS(РО,1,"РСЧЕТ")+
			  ',БИК:'+GetFieldS(РО,1,"БИК")+',Кор.Счет:'+GetFieldS(РО,1,"КСЧЕТ");
	end;
      Finally
	CloseWorkArea(РО);
      End;
    end;

    ФИО11=Рекв.Руководитель;
    ФИО12=Рекв.БУХГАЛТЕР;
  Fi;
End;

Func ПриПроверке:Logical;
Var l :Logical;
  If Стр_Рекв="" And Рекв<>NIL: Рекв=NIL; Fi;
  If Стр_Отпр="" And Отправитель<>NIL: Отправитель=NIL; Fi;
  If Стр_Пост="" And Поставщик<>NIL: Поставщик=NIL ;Fi;
  If Стр_Плат="" And Плательщик<>NIL: Плательщик=NIL; Fi;
  ^True;
end;

Func Выбор (S:String;It:Integer):Logical;
Var ss :String;
Var D1 :Date;
Var Rec :Record;

  If s="Дата":
    D1=Calendar;
    If D1>1.1.100: Дата=D1; ^False; Else ^True; Fi;
  | s="ДатаДов":
    D1 = Calendar;
    If D1>1.1.100: ДатаДов=D1; ^False; Else ^True; Fi;
  | s="Дата1":
    D1 = Calendar;
    If D1>1.1.100: Дата1=D1; ^False; Else ^True; Fi;
  | s="Дата2":
    D1 = Calendar;
    If D1>1.1.100: Дата2=D1; ^False; Else ^True; Fi;

  | s="Склад":
    ss = ВыборПризнака("П.*");
    Склад = Наим_П(ss);
    ^False;

  | s="ФИО11.Должносн":
     rec=ОткрытьКартотеку("сотрудники","МОЛ",nil,crdRecordOnly);
     if rec<>nil: ФИО11=rec; ^False; fi;
  | s="ФИО12.Должносн":
     rec=ОткрытьКартотеку("сотрудники","МОЛ",nil,crdRecordOnly);
     if rec<>nil: ФИО11=rec; ^False; fi;
  | s="ФИО21.Должносн":
     rec=ОткрытьКартотеку("сотрудники","МОЛ",nil,crdRecordOnly);
     if rec<>nil: ФИО11=rec; ^False; fi;
  | s="ФИО22.Должносн":
     rec=ОткрытьКартотеку("ФизЛицо","МОЛ",nil,crdRecordOnly);
     if rec<>nil: ФИО11=rec; ^False; fi;
  Fi;
End;

Proc OK(S:String);
  EditorApply;
  Close;
End;

Proc Cancel(S:String);
  EditorCancel;
  Close;
End;

Proc Help(S:String);
End;

proc НомерБ(Field:String;Iter:Integer);
var WW:Integer;
  WW = ЦЕЛ(НомерБум);
  If WW > 0 And  Номер <> WW :
    Номер=WW;
  Fi;
end;

proc РасчетСуммы(Field: String; Index: Integer);
  if Field = 'Нетто' or Field = 'Цена' :
    Позиции[Index].Сумма = Позиции[Index].Нетто * Позиции[Index].Цена;
  elsif Field = 'Сумма' :
    Позиции[Index].Цена = Позиции[Index].Сумма / Позиции[Index].Нетто;
  end;
  Позиции[Index].СуммаНДС = Позиции[Index].Сумма * Позиции[Index].НДС/100;
  Позиции[Index].СумСНдс = Позиции[Index].Сумма + Позиции[Index].СуммаНДС;
end;

СписокДокументов[]:String;

proc ЗаполнитьСписок;
  ClearVariable(СписокДокументов);
  СписокДокументов[1]=' 		  Счета';
  СписокДокументов[2]=' 	    Счет-фактуры';
end;

func ВзятьРеквизитыРекв:String;
var Robl:Integer;
var банк,рассчет,бик,ксчет,рез:String;
  if Рекв<>nil:
   Robl=OpenWorkArea("Банк_счета","Умолчание","Умолчание and КОНТРАГЕНТ="+RecordToString(Рекв));
   try
     if records(Robl)>0:
       банк=GetFieldS(Robl,1,"БАНК");
       рассчет=GetFieldS(Robl,1,"РСЧЕТ");
       бик=GetFieldS(Robl,1,"БИК");
       ксчет=GetFieldS(Robl,1,"КСЧЕТ");
     fi;
   finally
     CloseWorkArea(Robl);
   end;
   рез=Рекв.КорИмя+', '+Рекв.юрадрес+', '+Рекв.телефон+', '+банк+', рас.счет:'+рассчет+
   ',БИК:'+бик+',Кор.Счет:'+ксчет;
  fi;
  return рез;
end;

func ВзятьРеквизитыОтпр:String;
var Robl:Integer;
var банк,рассчет,бик,ксчет,рез:String;
  if Рекв<>nil:
   Robl=OpenWorkArea("Банк_счета","Умолчание","Умолчание and КОНТРАГЕНТ="+RecordToString(Отправитель));
   try
     if records(Robl)>0:
       банк=GetFieldS(Robl,1,"БАНК");
       рассчет=GetFieldS(Robl,1,"РСЧЕТ");
       бик=GetFieldS(Robl,1,"БИК");
       ксчет=GetFieldS(Robl,1,"КСЧЕТ");
     fi;
   finally
     CloseWorkArea(Robl);
   end;
   рез=Отправитель.КорИмя+', '+Отправитель.юрадрес+', '+Отправитель.телефон+', '+банк+', рас.счет:'+рассчет+
   ',БИК:'+бик+',Кор.Счет:'+ксчет;
  fi;
  return рез;
end;

Proc ИмпортИзСчета;
var ВыбрЗап:Record;
var Robl,RSubObl,НомЗап,i,Кол:Integer;
  ВыбрЗап=OpenCardFile('Счет');
  if ВыбрЗап<>Nil:
      Robl=OpenWorkArea('Счет','НомерБум','');
      Try

	-- Основная часть
	НомЗап=GetRecordNumber(Robl,ВыбрЗап);
	Рекв=GetFieldR(Robl,НомЗап,'Рекв');
	Поставщик=Рекв;
	Отправитель=GetFieldR(Robl,НомЗап,'РеквП');
	Валюта=GetFieldS(Robl,НомЗап,'Валюта');
	Плательщик=Отправитель;
	Стр_Отпр=GetFieldS(Robl,НомЗап,'Пост');
	Стр_рекв=ВзятьРеквизитыРекв;
	Стр_Пост=Стр_Рекв;
	Стр_Отпр=ВзятьРеквизитыОтпр;
	Стр_Плат=Стр_Отпр;


	ClearVariable(Позиции);

	-- Табличная часть
	RSubObl=OpenArray(Robl,НомЗап,'КОЛПОЗСЧ','');
	Try
	  кол=Records(RSubObl);
	  for i=1..кол do
	    InsertFrame(Позиции,Позиции+1);
	    Позиции[i].Наим  =GetFieldS(RSubobl,i,'НАИМ');
	    Позиции[i].Нетто =GetFieldN(RSubobl,i,'КОЛИЧ');
	    Позиции[i].Цена  =GetFieldN(RSubobl,i,'ЦЕНА');
	    Позиции[i].НДС   =GetFieldN(RSubobl,i,'НДС');
	    Позиции[i].ЕдИзм =GetFieldS(RSubobl,i,'ЕдИзм');
	    Позиции[i].Сумма =GetFieldN(RSubobl,i,'Сумма');
	    Позиции[i].СуммаНДС=GetFieldN(RSubobl,i,'СуммаНДС');
	    Позиции[i].СумсНДС	 =GetFieldN(RSubobl,i,'Всего');
	  end;
	Finally
	  CloseWorkArea(RSubobl);
	End;

      Finally
	CloseWorkArea(Robl);
      End;
  fi;
End;

proc ИмпортИзСФ;
var ВыбрЗап:Record;
var Robl,RSubObl,НомЗап,i,Кол:Integer;
  ВыбрЗап=OpenCardFile('СЧЕТФАКТ');
  if ВыбрЗап<>Nil:
      Robl=OpenWorkArea('СЧЕТФАКТ','НомерБум','');
      Try

	-- Основная часть
	НомЗап=GetRecordNumber(Robl,ВыбрЗап);
	Рекв=GetFieldR(Robl,НомЗап,'Рекв');
	Поставщик=Рекв;
	Отправитель=GetFieldR(Robl,НомЗап,'РеквП');
	Плательщик=Отправитель;
	Стр_рекв=ВзятьРеквизитыРекв;
	Стр_Пост=Стр_Рекв;
	Стр_Отпр=GetFieldS(Robl,НомЗап,'ГрузПол');
	Стр_Плат=ВзятьРеквизитыОтпр;
	Валюта=GetFieldS(Robl,НомЗап,'Валюта');

	ClearVariable(Позиции);

	-- Табличная часть
	RSubObl=OpenArray(Robl,НомЗап,'КОЛНАИМ','');
	Try
	  кол=Records(RSubObl);
	  for i=1..кол do
	    InsertFrame(Позиции,Позиции+1);
	    Позиции[i].Наим  =GetFieldS(RSubobl,i,'Наим');
	    Позиции[i].Нетто =GetFieldN(RSubobl,i,'КОЛИЧ');
	    Позиции[i].Цена  =GetFieldN(RSubobl,i,'ЦЕНА');
	    Позиции[i].НДС   =GetFieldN(RSubobl,i,'НДС');
	    Позиции[i].ЕдИзм =GetFieldS(RSubobl,i,'ЕДИЗМ');
	    Позиции[i].Сумма   =GetFieldN(RSubobl,i,'Сумма');
	    Позиции[i].СуммаНДС=GetFieldN(RSubobl,i,'СуммаНДС');
	    Позиции[i].СумСНДС =GetFieldN(RSubobl,i,'Всего');
	  end;
	Finally
	  CloseWorkArea(RSubobl);
	End;
      Finally
	CloseWorkArea(Robl);
      End;
  fi;
end;

proc кнИмпорт_ПриНажатии(Кнопка:String);
var  НомерВыбора:Integer;
  ЗаполнитьСписок;
  НомерВыбора=Alternate('Импорт из:',СписокДокументов,20);
  if НомерВыбора=1:
       ИмпортИзСчета;
    |НомерВыбора=2:
       ИмпортИзСФ;
  fi;
end;

proc Помощь='Помощь';
  Раб.Сис.ShowHelpContext(133);
end;

func ПоказБруттоНетто_OnEnter(FieldName: String; Iter: Integer): logical;
var нетто: Logical;
var test1: numeric;
var s1, s2, s3: string;
  нетто = FieldName = 'ОбновитьНетто';
  if EnqOkCancel('Заполнить массу ' + if(нетто, 'нетто', 'брутто') + ' ?') = кмдВерно :
    if нетто :
      test1 = ВсегоНетто-round(ВсегоНетто);
      s1 = str(ВсегоНетто,3);
    else
      test1 = ВсегоБрутто - round(ВсегоБрутто);
      s1 = str(ВсегоБрутто,3);
    end;
    s2 = if(substr(s1, length(s1), 1) <> "0", "ЕДЦ3", if(substr(s1, length(s1) - 1, 1) <> "0", "ЕДЦ2", "ЕДЦ1"));
    s3 = if(test1 = 0, "ДОКН", s2);
    if нетто :
      НеттоСтр = СЛО_(ВсегоНетто, s3);
    elsif FieldName = 'ОбновитьБрутто' :
      БруттоСтр = СЛО_(ВсегоБрутто,s3);
    end;
  end;
  return False;
end;

func ВыборСотрудника_ПриВходе(Клетка:String;Итер:Integer):Logical;
var tmp:record;
  tmp=OpenCardFile('Сотрудники','');
  if tmp<>nil:
    if Клетка='ФИО11Ф':
	ФИО11=tmp;
      |Клетка='ФИО12Ф':
	ФИО12=tmp;
    fi;
  fi;
  ^false;
end;


func Организация_ПриОбзоре(Секц:String;Итер:Integer;Столб:Integer;Тек:String):String;
var rec:Record;
var РО:Integer;
  rec = ОткрытьКартотеку("Контрагент","Наше",nil,crdRecordOnly);
  if rec<>nil:
    Поставщик=rec;
    Рекв = rec;
    стр_рекв=Поставщик.КорИмя+', '+Поставщик.юрадрес+', '+Поставщик.Телефон;

    РО=OpenWorkArea('БАНК_СЧЕТА','УМОЛЧАНИЕ','УМОЛЧАНИЕ AND КОНТРАГЕНТ='+RecordToString(rec));
    Try
      if Records(РО)>0:
       стр_рекв=стр_рекв+', '+GetFieldS(РО,1,"БАНК")+', рас.счет:'+GetFieldS(РО,1,"РСЧЕТ")+
			',БИК:'+GetFieldS(РО,1,"БИК")+',Кор.Счет:'+GetFieldS(РО,1,"КСЧЕТ");
      end;
    Finally
      CloseWorkArea(РО);
    End;

  end;
  ^стр_рекв;
end;


func ГрузоПолучатель_ПриОбзоре(Секц:String;Итер:Integer;Столб:Integer;Тек:String):String;
var rec:Record;
var РО:Integer;
  rec = ОткрытьКартотеку("Контрагент","",nil,crdRecordOnly);
  if rec<>nil:
    Отправитель = rec;
    стр_отпр=Отправитель.КорИмя+', '+Отправитель.Почтадрес+', '+Отправитель.Телефон;

    РО=OpenWorkArea('БАНК_СЧЕТА','УМОЛЧАНИЕ','УМОЛЧАНИЕ AND КОНТРАГЕНТ='+RecordToString(rec));
    Try
      if Records(РО)>0:
       стр_отпр=стр_отпр+', '+GetFieldS(РО,1,"БАНК")+', рас.счет:'+GetFieldS(РО,1,"РСЧЕТ")+
			',БИК:'+GetFieldS(РО,1,"БИК")+',Кор.Счет:'+GetFieldS(РО,1,"КСЧЕТ");
      end;
    Finally
      CloseWorkArea(РО);
    End;

  end;
  ^стр_отпр;
end;


func Поставщик_ПриОбзоре(Секц:String;Итер:Integer;Столб:Integer;Тек:String):String;
var rec:Record;
var РО:Integer;
  rec = ОткрытьКартотеку("Контрагент","",nil,crdRecordOnly);
  if rec<>nil:
    Поставщик = rec;
    стр_пост=Поставщик.КорИмя+', '+Поставщик.Юрадрес+', '+Поставщик.Телефон;

    РО=OpenWorkArea('БАНК_СЧЕТА','УМОЛЧАНИЕ','УМОЛЧАНИЕ AND КОНТРАГЕНТ='+RecordToString(rec));
    Try
      if Records(РО)>0:
       стр_пост=стр_пост+', '+GetFieldS(РО,1,"БАНК")+', рас.счет:'+GetFieldS(РО,1,"РСЧЕТ")+
			',БИК:'+GetFieldS(РО,1,"БИК")+',Кор.Счет:'+GetFieldS(РО,1,"КСЧЕТ");
      end;
    Finally
      CloseWorkArea(РО);
    End;

  end;
  ^стр_пост;
end;


func Плательщик_ПриОбзоре(Секц:String;Итер:Integer;Столб:Integer;Тек:String):String;
var rec:Record;
var РО:Integer;
  rec = ОткрытьКартотеку("Контрагент","",nil,crdRecordOnly);
  if rec<>nil:
    Плательщик = rec;
    стр_плат=Плательщик.КорИмя+', '+Плательщик.Юрадрес+', '+Плательщик.Телефон;

    РО=OpenWorkArea('БАНК_СЧЕТА','УМОЛЧАНИЕ','УМОЛЧАНИЕ AND КОНТРАГЕНТ='+RecordToString(rec));
    Try
      if Records(РО)>0:
       стр_плат=стр_плат+', '+GetFieldS(РО,1,"БАНК")+', рас.счет:'+GetFieldS(РО,1,"РСЧЕТ")+
			',БИК:'+GetFieldS(РО,1,"БИК")+',Кор.Счет:'+GetFieldS(РО,1,"КСЧЕТ");
      end;
    Finally
      CloseWorkArea(РО);
    End;

  end;
  ^стр_плат;
end;

func КНПлюс_ПриВходе(Поле:String;Итер:Integer):Logical;
  InsertFrame(Позиции,Позиции+1);
  ^false;
end;


func КНМИНУС_ПриВходе(Поле:String;Итер:Integer):Logical;
  DeleteFrame(Позиции,Итер);
  ^false;
end;


func ФлВыбора_ПриВходе(Поле:String;Итер:Integer):Logical;
  if Поле='флТМЦ':
      ТипВыбора=0;
    |Поле='флТекст':
      ТипВыбора=2;
  fi;
  ^false;
end;

func ВыборТовара_ПриВходе(Об:String;Итер:Integer):Logical;
var TMPRec:Record;
var Карт,Фильтр:String;
  if ТипВыбора=1: Карт="УчетКарточкаОС";фильтр="";
    |ТипВыбора=0:
       Карт="ТМЦ";
       Фильтр="";
    |ТипВыбора=2:^True;
  else message("Выберите тип открываемой картотеки");^False;
  fi;

  If Позиции = 0 :
    InsertFrame(Позиции,Позиции+1);
  Fi;

  if СФильтром: TMPRec=Раб.документы.ВыборСФильтром(Карт,"Коммент",Фильтр);
   else  TMPRec = ОткрытьКартотеку(Карт,Фильтр);
  fi;
   If TMPRec = NIL :  ^False;
     | True :
      if Карт="ТМЦ":
	  Позиции[Итер].Наим = GetCardFieldS("ТМЦ",TMPRec,"Коммент") +
			       if(Trim(GetCardFieldS("ТМЦ",TMPRec,"Артикул")) = '', '', ', ' + Trim(GetCardFieldS("ТМЦ",TMPRec,"Артикул")));
	  Позиции[Итер].ЕдИзм= GetCardFieldS("ТМЦ",TMPRec,"ЕдИзм");
	  Позиции[Итер].ОКЕИ= GetCardFieldS("ТМЦ",TMPRec,"ОКЕИ");
	  Позиции[Итер].НДС  = GetCardFieldN("ТМЦ",TMPRec,"НДС");

	|Карт="УчетКарточкаОС":
	  Раб.Документы.OCSelect(TMPRec);
	  Позиции[Итер].Наим = Раб.Документы.НаимОС;
     fi;
   Fi;
 ^False;
end;

func Фильтр_ПриВходе(Поле:String;Итер:Integer):Logical;
  СФильтром=true;
  ВыборТовара_ПриВходе(Поле,Итер);
  СФильтром=false;
  ^false;
end;

func ВыборВалюты_Входе(Поле:String;Итер:Integer):Logical;
  Валюта=Раб.Бух.ВыбратьВалюту(Валюта);
  ^false;
end;


Proc OnOpen(Create: Logical);
  Раб.Настр_Печать.Cfg("","Накладные.торг12.cfg");
end;


Конец
