-- Шаблон создан мастером бланков
-- 03.11.2003 10:22:19
--
БланкСШаблоном "Рабочие массивы,константы,функции";
2-- Константы матучета
   ПроверятьОшибки:l;
   Delta:i=10; -- Количество значащих цифр в числе
2-- символы в обычных шрифтах
   ch_параграф        :s=''+chr(167);
   ch_е               :s=''+chr(168);
   ch_C               :s=''+chr(169);
   ch_R               :s=''+chr(174);
   ch_плюс_минус      :s=''+chr(177);
   ch_N               :s=''+chr(185);

2-- символы в 'symbol' шрифте
   ch_S_сумма         :s=''+chr(229);
   ch_S_галка         :s=''+chr(214);
   ch_S_влево         :s=''+chr(220);
   ch_S_вверх         :s=''+chr(221);
   ch_S_вправо        :s=''+chr(222);
   ch_S_вниз          :s=''+chr(223);
   ch_S_ввод          :s=''+chr(191);
   ch_S_меньше_равно  :s=''+chr(163);
   ch_S_больше_равно  :s=''+chr(179);
   ch_S_не_равно      :s=''+chr(185);
   ch_S_примерно_равно:s=''+chr(187);
2-- символы в 'WingDings' шрифте
   ch_S_Wвлево        :s='п';
   ch_S_Wвверх        :s='с';
   ch_S_Wвправо       :s='р';
   ch_S_Wвниз         :s='т';

2-- Имена картотек
СОТРУДНИК    :s='СОТРУДНИКИ';
КОНТРАГЕНТ   :s='КОНТРАГЕНТ';
СКЛАД        :s='СКЛАД';
ПОДРАЗДЕЛЕНИЕ:s='ПОДРАЗДЕЛЕНИЯ';
МЕСТО        :s='РПО_МЕСТОНФА';
НФА          :s='РПО_НФА';
2-- Переменные для обмена информацией между бланками
БЛАНК_ТМЦ_ФИЛЬТР:s;


2-- Пути к файлам...
--   def :s=PlanVar('MyBuh')+'\Операции\';
--   def_mu_false:s=

st[]:s;
func CopyTxtFile(NameFrom:s;NameTo:s;ADD:l):l;
var s:s;
var nfrom,nto:i;-- номер файла
if ExistFile(NameFrom):nfrom=TextFileOpenRead(NameFrom);
 | true:^false;-- выходим если нечего копировать
fi;
if ExistFile(NameTo) and ADD:nto=TextFileOpenWrite(NameTo);TextFileGotoEnd(nto);
 | true:nto=TextFileCreate(NameTo);-- создаем файл, куда копировать, если его нет
fi;
while not TextFileEndOfFile(nfrom) do
   s=TextFileRead(nfrom,255);
   if s<>'':TextFileAppendLn(nto,s);
    | true:
      if TextFileEndOfFile(nfrom):break;
       | true:s=TextFileReadLn(nfrom);TextFileWriteLn(nto,s);
      fi;
   fi;
od;
TextFileClose(nto);
TextFileClose(nfrom);
^true;
end;
func ASC(s:s):i;var i:i;s=''+s;for i=1..255 do if chr(i)=s:^i;fi;od;^0;end;
Proc PutCardFieldL(Card:s;ukey:s;Field:s;Value:l);
var wa,i:i;
   wa=OpenWorkArea(Card,'','ukey='+ukey);
   BeginChanging(wa);
     i=PutFieldL(wa,1,Field,Value);
   EndChanging(wa);
   CloseWorkArea(wa);
end;

func StrN(n:n;d:i):s;--Переводит число в строковое представление
var ln:i;        --с точностью Delta с отсечением незначащих нулей
var ss:s;
  ss=str(n);ln=Length(ss)+1;
--  ss=str(n,d-ln);
  ss=str(n,d);
  while SubStr(ss,Length(ss),1)='0' do ss=SubStr(ss,1,Length(ss)-1);od;
  if pos('.',ss)=Length(ss):ss=SubStr(ss,1,Length(ss)-1);fi;
^ss;
end;

Proc PutCardFieldS(Card:s;ukey:s;Field:s;Value:S);
var wa,i:i;
   wa=OpenWorkArea(Card,'','ukey='+ukey);
   BeginChanging(wa);
     i=PutFieldS(wa,1,Field,Value);
   EndChanging(wa);
   CloseWorkArea(wa);
end;
Proc PutCardFieldI(Card:s;ukey:s;Field:s;Value:i);
var wa,i:i;
   wa=OpenWorkArea(Card,'','ukey='+ukey);
   BeginChanging(wa);
     i=PutFieldI(wa,1,Field,Value);
   EndChanging(wa);
   CloseWorkArea(wa);
end;
Proc PutCardFieldN(Card:s;ukey:s;Field:s;Value:n);
var wa,i:i;
   wa=OpenWorkArea(Card,'','ukey='+ukey);
   BeginChanging(wa);
     i=PutFieldN(wa,1,Field,Value);
   EndChanging(wa);
   CloseWorkArea(wa);
end;
Proc PutCardFieldD(Card:s;ukey:s;Field:s;Value:d);
var wa,i:i;
   wa=OpenWorkArea(Card,'','ukey='+ukey);
   BeginChanging(wa);
     i=PutFieldD(wa,1,Field,Value);
   EndChanging(wa);
   CloseWorkArea(wa);
end;

--------- НАЧАЛО блок функций для вывода информации в отчеты ------------
var Функция_Имя[]:s;
var Функция_Тип[]:s; --D, R, L, S, I, N
var Функция_Описание[]:s;
var Функция_Переменные[]:s; -- дат1:d;Сум1:n











--------- КОНЕЦ блок функций для вывода информации в отчеты ------------

Proc ШаблонПриОткрытии(l:l);
end;
Proc ШаблонПриЗакрытии(l:l);end;
--Proc ШаблонПриСчитывании;end;
--Proc ШаблонПриОтмене;end;
Конец

2-- Переменные для обмена информацией между бланками