-- Шаблон создан мастером бланков
-- 11.11.2004 11:41:19
--
БланкСШаблоном "Остатки НФА";
2-- Секции и управляющие переменные к ним --
СекцВыборШапка0:Секция;
СекцВыборШапка:Секция;
СекцВыбор     :Секция;
УпрВыбор      :i;

2-------------------------------------------
2-- Переменные и массивы шаблона --
var ВыборСтроки:i;
var NN[]:i;
var ПоискВбланке:s='L';
var ПродолжитьПоискВбланке:s='L~';
var Заг[]  :s;-- массив заголовков
var Заг_ТИП[]:s;-- массив заголовков
var Заг_ФОРМАТ[]:s;-- массив заголовков
var НФАКОД[]:s;
var НФАКОД_[]:s=НФАКОД[$];
--var НФАИмя[]:s=Name_A(НФАКОД[$]);
var НФАИмя[]:s;
var НФАИмя_[]:s=НФАИмя[$];
var НФАед[]:s;
var НФАед_[]:s=НФАед[$];

var ДОППОЛЕ1[]:s;
var ДОППОЛЕ1_[]:s=ДОППОЛЕ1[$];
var ДОППОЛЕ2[]:s;
var ДОППОЛЕ2_[]:s=ДОППОЛЕ2[$];
var ДОППОЛЕ3[]:s;
var ДОППОЛЕ3_[]:s=ДОППОЛЕ3[$];
var ДОППОЛЕ4[]:s;
var ДОППОЛЕ4_[]:s=ДОППОЛЕ4[$];
var ДОППОЛЕ5[]:s;
var ДОППОЛЕ5_[]:s=ДОППОЛЕ5[$];

var ДОППОЛЕЧ1[]:n;
--var ДОППОЛЕЧ1_[]:s=ДОППОЛЕЧ1[$];
var ДОППОЛЕЧ2[]:n;
--var ДОППОЛЕЧ2_[]:s=ДОППОЛЕЧ2[$];
var ДОППОЛЕЧ3[]:n;
--var ДОППОЛЕЧ3_[]:s=ДОППОЛЕЧ3[$];
var ДОППОЛЕЧ4[]:n;
--var ДОППОЛЕЧ4_[]:s=ДОППОЛЕЧ4[$];
var ДОППОЛЕЧ5[]:n;
--var ДОППОЛЕЧ5_[]:s=ДОППОЛЕЧ5[$];
var Заг_[]:s=Заг[$];
var ТекСортНом:i;
var ТекСортНом_способ:l;
var ТекСорт:s=Заг_[ТекСортНом]+if(ТекСортНом_способ,' в алфавитном порядке',' в обратном порядке');

Proc ClearArray;
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.NN	);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.Заг  );
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.НФАКОД );
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.НФАИмя );
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.НФАед  );
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕ1);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕ2);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕ3);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕ4);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕ5);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕЧ1);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕЧ2);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕЧ3);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕЧ4);
 ClearVariable(РАБ.ВСПОМ.ОСТАТКИНФА.ДОППОЛЕЧ5);
end;


proc ЗаморозкаОбластиБланка;
 var obj:object;
 var x,y,xx,yy:i;
 if Найтиобъект('СекцВыбор',obj):
   x=КакЦелое(obj.Столбец(2,ColLeft,''));
   y=КакЦелое(obj.Строка(1,RowTop,''));
   Шаблон.Заморозить(x,y);
 fi;
end;

Proc ini;
var z:i;
УпрВыбор=lengthofarray(НФАКОД);
for z=1..УпрВыбор do nn[z]=z;od;
ВыборСтроки=-1;
ТекСортНом_способ=true;
ЗаморозкаОбластиБланка;
end;

func ПриВходе(s:s;i:i):l;
var j:i;
 if соотв(s,'Заг_*'):
    s=SubStr(s,6,255);
    s=SubStr(s,1,Length(s)-1);
    j=int(s);
    if ТекСортНом=j:
       ТекСортНом_способ=not ТекСортНом_способ;
     | true:
       ТекСортНом=j;
       ТекСортНом_способ=true;
    fi;
    SortSection(УпрВыбор,ТекСортНом+1,ТекСортНом_способ);
--    ClearVariable(nn);
    ^false;
  | true:ВыборСтроки=nn[i];
    Close;
 fi;
^false;
end;


Proc ПриВыходе(s:s;i:i);
end;
Proc ШаблонПриОткрытии(l:l);
end;
Proc ШаблонПослеОткрытия(l:l);
var k,z:i;
  for k=4..8 do
    СекцВыборШапка.column(k+1,colvisible,Заг[k]<>'');
    СекцВыбор.column	 (k+1,colvisible,Заг[k]<>'');
    if Заг[k]<>'':-- рабочий столбец
       if Заг_ТИП[k]='Ч':
	  СекцВыбор.Cell(1,k+1,CellContents,'ДОППОЛЕЧ'+str(k-3));
	  СекцВыбор.Cell(1,k+1,CellFieldType,cftNumericField);
	  СекцВыбор.Cell(1,k+1,CellFormat,if(Заг_ФОРМАТ[k]<>'',Заг_ФОРМАТ[k],',##0.######;; '));
       fi;
    fi;
  od;
--var Заг_ТИП[]:s;-- массив заголовков
--var Заг_ФОРМАТ[]:s;-- массив заголовков

  ini;
  ТекСортНом=1;
end;

Proc ШаблонПриЗакрытии(l:l);
end;

Проц КнПоиск_ПриНажатии(Отправитель: Строка);
  if Отправитель='КнПоиск'           :Раб.WSH.Menu_Search(false,0,false);
   | Отправитель='КнПоиск_продолжить':Раб.WSH.Menu_Search_Repeat;
  fi;
end;




Конец
