

-- Шаблон создан мастером бланков
-- 09.06.2007 16:47:20
--
БланкСШаблоном "Соответствие строк операций";
var ЗакрытьБезВопросов:l;
var КодОперКуда:s;
var ИмяОперКуда:s;
var КодОперОткуда:s;
var ИмяОперОтКуда:s;
var Утвердить:l;
var xy11:s='';

ПОЗИЦИИ:i;
Строк1табл:i;
a:s='с';
b:s='т';
var NN	   []:i=$;
var NN_    []:s=if($>Строк1табл,'###',str(nn[$]));
var NN1    []:i;
var NN1_   []:i=NN1[$];
var ЗАГОЛОВОК	   []:s;
var ОТВЕТ	   []:s;
var СПР    []:s;
var КБКНФА	   []:l;
var СЧЕТНФА	   []:l;
var ПОЛЕПОДТАБЛИЦЫ []:s;
var КБКОТСЧЕТА	   []:s;
var АНОТСЧЕТА	   []:s;
var ОБЯЗАТЕЛЬНЫЙ   []:s;
var НЕОБЯЗАТЕЛЬНЫЙ []:s;
var ОСТАТОК	   []:l;
var ДЛЯВСЕХ	   []:l;
var НОМПРОВОДКИ    []:s;
var ЗАГОЛОВОК_	    []:s=if(nn[$]>Строк1табл,'###',ЗАГОЛОВОК	  [nn[$]]);
var ОТВЕТ_	    []:s=if(nn[$]>Строк1табл,'###',ОТВЕТ	  [nn[$]]);
var СПР_	    []:s=if(nn[$]>Строк1табл,'###',СПР	  [nn[$]]);
var КБКНФА_	    []:i=if(nn[$]>Строк1табл,2	  ,if(КБКНФА [nn[$]],1,0));
var СЧЕТНФА_	    []:i=if(nn[$]>Строк1табл,2	  ,if(СЧЕТНФА[nn[$]],1,0));
var ПОЛЕПОДТАБЛИЦЫ_ []:s=if(nn[$]>Строк1табл,'###',ПОЛЕПОДТАБЛИЦЫ [nn[$]]);
var КБКОТСЧЕТА_     []:s=if(nn[$]>Строк1табл,'###',КБКОТСЧЕТА	  [nn[$]]);
var АНОТСЧЕТА_	    []:s=if(nn[$]>Строк1табл,'###',АНОТСЧЕТА	  [nn[$]]);
var ОБЯЗАТЕЛЬНЫЙ_   []:s=if(nn[$]>Строк1табл,'###',ОБЯЗАТЕЛЬНЫЙ   [nn[$]]);
var НЕОБЯЗАТЕЛЬНЫЙ_ []:s=if(nn[$]>Строк1табл,'###',НЕОБЯЗАТЕЛЬНЫЙ [nn[$]]);
var ОСТАТОК_	    []:i=if(nn[$]>Строк1табл,2	  ,if(ОСТАТОК[nn[$]],1,0));
var ДЛЯВСЕХ_	    []:i=if(nn[$]>Строк1табл,2	  ,if(ДЛЯВСЕХ[nn[$]],1,0));
var НОМПРОВОДКИ_    []:s=if(nn[$]>Строк1табл,'###',НОМПРОВОДКИ	  [nn[$]]);

var ЗАГОЛОВОК1	    []:s;
var ОТВЕТ1	    []:s;
var СПР1	    []:s;
var КБКНФА1	    []:l;
var СЧЕТНФА1	    []:l;
var ПОЛЕПОДТАБЛИЦЫ1 []:s;
var КБКОТСЧЕТА1     []:s;
var АНОТСЧЕТА1	    []:s;
var ОБЯЗАТЕЛЬНЫЙ1   []:s;
var НЕОБЯЗАТЕЛЬНЫЙ1 []:s;
var ОСТАТОК1	    []:l;
var ДЛЯВСЕХ1	    []:l;
var НОМПРОВОДКИ1    []:s;

var ЗАГОЛОВОК1_      []:s=ЗАГОЛОВОК1 [$];
var ОТВЕТ1_	     []:s=ОТВЕТ1     [$];
var СПР1_	     []:s=СПР1	     [$];
var КБКНФА1_	     []:i=if(КБКНФА1 [$],1,0);
var СЧЕТНФА1_	     []:i=if(СЧЕТНФА1[$],1,0);
var ПОЛЕПОДТАБЛИЦЫ1_ []:s=ПОЛЕПОДТАБЛИЦЫ1[$];
var КБКОТСЧЕТА1_     []:s=КБКОТСЧЕТА1	 [$];
var АНОТСЧЕТА1_      []:s=АНОТСЧЕТА1	 [$];
var ОБЯЗАТЕЛЬНЫЙ1_   []:s=ОБЯЗАТЕЛЬНЫЙ1  [$];
var НЕОБЯЗАТЕЛЬНЫЙ1_ []:s=НЕОБЯЗАТЕЛЬНЫЙ1[$];
var ОСТАТОК1_	     []:i=if(ОСТАТОК1[$],1,0);
var ДЛЯВСЕХ1_	     []:i=if(ДЛЯВСЕХ1[$],1,0);
var НОМПРОВОДКИ1_    []:s=НОМПРОВОДКИ1[$];
  --		ВыполнитьФункциюС

--func SuperReplace(StrIn:s;StrMatch:s;StrMatchR:s;StrReplace:s):s; --control userpasswords2
--  if not Match(StrIn,StrMatch):^StrIn;fi;-- если не слово не прошло проверку, то нечего менять, его и возвращаем без изменений
--  -- проверка StrMatchR на коректность (замена @ на .*. ! на ?) @=слово на замену из любого количества символов !=символ на замену
--  ss=Раб.Нфа.B01.ЗаменаПодстроки(StrMatchR,'@','.*.');
--  ss=Раб.Нфа.B01.ЗаменаПодстроки(ss,'!','?');
--  while pos('..',ss)>1:do ss=Раб.Нфа.B01.ЗаменаПодстроки(ss,'..','.'); od;
--  if not Match(StrIn,ss):^StrIn;fi;--некорректное условие на замену - возврат слова без изменений

----  ss0='';
----  p1=deb(pos('@',ss));
----  p2=deb(pos('!',ss));	  Раб.Нфа.B01.ЗаменаПодстроки(StrMatchR,'@','.*.');
----  if p1<p2 b and
----  ii=min(deb(p1),deb(p2));
----  if deb


--end; --format('%.2d',мес(dd1)) Format('%d %d %0:d %1:d', 10, 20); -- возвращаемая строка '10 20 10 20'.
var УслЗам	   []:s;
var СпособЗам	   []:s;
var УслЗам	:s;-- строка вида АН01#УЧН.*|СЧ02#*.302.??.8??|   формат
var Зам_СООТВ	:s;-- список замен для полей * ? - условия местонахождения, @ ! - условия на замену

var З_СООТВ   :s;
var З_СООТВ_АН:s;
var З_СООТВ_Ч :s;
var Т_СООТВ_АН:s;
var Т_СООТВ_Ч :s;
var РежимОбмена:l;
var Строка_кудаНом:i;
var Строка_откудаНом:i;
var Строка_куда:s=str(NN[Строка_кудаНом])+' '+ЗАГОЛОВОК[Строка_кудаНом]+' '+ОТВЕТ[Строка_кудаНом]+' '+СПР[Строка_кудаНом]+' '+ПОЛЕПОДТАБЛИЦЫ[Строка_кудаНом]+' '+НОМПРОВОДКИ[Строка_кудаНом];
var Строка_откуда:s=str(NN1_[Строка_откудаНом])+' '+ЗАГОЛОВОК1_[Строка_откудаНом]+' '+ОТВЕТ1_[Строка_откудаНом]+' '+СПР1_[Строка_откудаНом]+' '+ПОЛЕПОДТАБЛИЦЫ1_[Строка_откудаНом]+' '+НОМПРОВОДКИ1_[Строка_откудаНом];

Секция_Шапка:секция;
СЕКЦ_1:секция;
proc ЗаморозкаОбластиБланка;
 var obj:object;
 var x,y,xx,yy:i;
--   yy=КакЦелое(Шаблон.Кадр   );
--   xx=КакЦелое(Шаблон.Столбец);
   Шаблон.Заморозить(0,0);
   Шаблон.row=0;
 if Найтиобъект('СЕКЦ_1',obj):
   x=КакЦелое(obj.Столбец(13,ColLeft,''));
   y=КакЦелое(obj.Строка(1,RowTop,''));
   Шаблон.Заморозить(x,y);
--   message('x='+str(x)+'   y='+str(y)+chr(13)+'Столбец='+str(xx)+'   Кадр='+str(yy));
 fi;
end;

proc swap_iter(i1:i;i2:i);
  var ss:s;
  var ll:l;
  var ii:i;
  ss=ЗАГОЛОВОК1     [i1];ЗАГОЛОВОК1	[i1]=ЗАГОЛОВОК1     [i2];ЗАГОЛОВОК1	[i2]=ss;
  ss=ОТВЕТ1	    [i1];ОТВЕТ1 	[i1]=ОТВЕТ1	    [i2];ОТВЕТ1 [i2]=ss;
  ss=СПР1	    [i1];СПР1		[i1]=СПР1	    [i2];СПР1	[i2]=ss;
  ll=КБКНФА1	    [i1];КБКНФА1	[i1]=КБКНФА1	    [i2];КБКНФА1	[i2]=ll;
  ll=СЧЕТНФА1	    [i1];СЧЕТНФА1	[i1]=СЧЕТНФА1	    [i2];СЧЕТНФА1	[i2]=ll;
  ss=ПОЛЕПОДТАБЛИЦЫ1[i1];ПОЛЕПОДТАБЛИЦЫ1[i1]=ПОЛЕПОДТАБЛИЦЫ1[i2];ПОЛЕПОДТАБЛИЦЫ1[i2]=ss;
  ss=КБКОТСЧЕТА1    [i1];КБКОТСЧЕТА1	[i1]=КБКОТСЧЕТА1    [i2];КБКОТСЧЕТА1	[i2]=ss;
  ss=АНОТСЧЕТА1     [i1];АНОТСЧЕТА1	[i1]=АНОТСЧЕТА1     [i2];АНОТСЧЕТА1	[i2]=ss;
  ss=ОБЯЗАТЕЛЬНЫЙ1  [i1];ОБЯЗАТЕЛЬНЫЙ1	[i1]=ОБЯЗАТЕЛЬНЫЙ1  [i2];ОБЯЗАТЕЛЬНЫЙ1	[i2]=ss;
  ss=НЕОБЯЗАТЕЛЬНЫЙ1[i1];НЕОБЯЗАТЕЛЬНЫЙ1[i1]=НЕОБЯЗАТЕЛЬНЫЙ1[i2];НЕОБЯЗАТЕЛЬНЫЙ1[i2]=ss;
  ll=ОСТАТОК1	    [i1];ОСТАТОК1	[i1]=ОСТАТОК1	    [i2];ОСТАТОК1	[i2]=ll;
  ll=ДЛЯВСЕХ1	    [i1];ДЛЯВСЕХ1	[i1]=ДЛЯВСЕХ1	    [i2];ДЛЯВСЕХ1	[i2]=ll;
  ss=НОМПРОВОДКИ1   [i1];НОМПРОВОДКИ1	[i1]=НОМПРОВОДКИ1   [i2];НОМПРОВОДКИ1	[i2]=ss;
  ii=NN1	    [i1];NN1		[i1]=NN1	    [i2];NN1	[i2]=ii;
end;
Функ a_ПриВходе(s: Строка; it: Целое): Логич; -- вверх
  if it>1:swap_iter(it-1,it);
     Шаблон.Frame=it-1;
     if it=2:
	ЗаморозкаОбластиБланка;
	Шаблон.field='a';
      | true:Шаблон.Frame=it-2;Шаблон.Frame=it-1;
     fi;
  fi;
  ^ false ;
end;


Функ b_ПриВходе(Поле: Строка; it: Целое): Логич; -- вниз
  if it<ПОЗИЦИИ:swap_iter(it+1,it);
     Шаблон.Frame=it+1;
  fi;
  ^ false ;
end;

proc Расчет_соответствий_полей;
 var j:i;
 var ss,s_an,s_n:s;
 s_an=';НФА;ИМЯНФА;СЧНФА;КОРСЧНФА;АМСЧНФА;ОСТНФА;АН01;АН02;АН03;АН04;АН05;АН06;АН07;АН08;АН09;АН10;АН11;АН12;АН13;АН14;АН15;АН16;АН17;АН18;АН19;АН20;АН21;АН22;АН23;АН24;АН25;СЧ02;СЧ03;СЧ04;СЧ05;СЧ06;СЧ07;СЧ08;СЧ09;СЧ10;СЧ11;СЧ01;КМНТ;';
 s_n =';КОЛНФА;СУМНФА;АМСУМНФА;Ч01;Ч02;Ч03;Ч04;Ч05;';
    З_СООТВ_АН='';
    З_СООТВ_Ч ='';
    Т_СООТВ_АН='';
    Т_СООТВ_Ч ='';
 for j=1..Строк1табл do
   ss=';'+up(ПОЛЕПОДТАБЛИЦЫ1[j])+';';
   if pos(ss,s_an)>0:
      З_СООТВ_АН=З_СООТВ_АН+';'+ПОЛЕПОДТАБЛИЦЫ1[j];
      Т_СООТВ_АН=Т_СООТВ_АН+';'+ПОЛЕПОДТАБЛИЦЫ[j];
      З_СООТВ_Ч =З_СООТВ_Ч+'; ';
      Т_СООТВ_Ч =Т_СООТВ_Ч+'; ';
    | pos(ss,s_n )>0:
      З_СООТВ_АН=З_СООТВ_АН+'; ';
      Т_СООТВ_АН=Т_СООТВ_АН+'; ';
      З_СООТВ_Ч =З_СООТВ_Ч+';'+ПОЛЕПОДТАБЛИЦЫ1[j];
      Т_СООТВ_Ч =Т_СООТВ_Ч+';'+ПОЛЕПОДТАБЛИЦЫ[j];
   fi;
 od;
end;
proc ПослеОткрытия(Уничтожить: Логич);
 var ii,j,n,k:i;
 var ss:s;
 ii=КоличествоСлов(З_СООТВ,';');
 if ii>0:ss=ВыделитьСлово(1,З_СООТВ,';');
    Утвердить=ss='2';
    for j=2..ii do -- меняем строки по соответствию
      ss=ВыделитьСлово(j,З_СООТВ,';');
      n=int(ВыделитьСлово(1,ss,'='));
      k=int(ВыделитьСлово(2,ss,'='))+Строк1табл;
      if n<>0 и k<>0:swap_iter(n,k);fi;
    od;
    if Утвердить:Расчет_соответствий_полей;fi;
  | true:Утвердить=false;
 fi;
 ЗакрытьБезВопросов=false;
 ЗаморозкаОбластиБланка;
end;
proc save;
 var ii,j,n,k:i;
 var ss:s;
 if Утвердить:ss='2;';Расчет_соответствий_полей;
  | true:ss='1;';
 fi;
 for j=1..Строк1табл do
   ss=ss+str(j)+'='+str(NN1[j])+';';
 od;
 З_СООТВ=ss;
end;

proc Кнопка1_ПриНажатии(Отправитель: Строка);
  save;
  ЗакрытьБезВопросов=true;Close;
end;
proc Кнопка2_ПриНажатии(Отправитель: Строка); -- отмена изменений (просто закрыть бланк)
  ЗакрытьБезВопросов=true;Close;
end;
proc ПриЗакрытии(Уничтожить: Логич);
  var ii:i;
  if не ЗакрытьБезВопросов:
    ii=0;
    While ii<1 do
      ii=Вопрос("", "Сохранить текущие соответствия?",	"Сохранить;Отмена", mtConfirmation);
    od;
    if ii=1:save;fi;
  fi;
end;
proc Кнопка3_ПриНажатии(Отправитель: Строка);
  swap_iter(Строка_откудаНом,Строка_кудаНом);
end;
func NN__ПриВходе(Поле: Строка; Итер: Целое): Логич;
  if РежимОбмена:Строка_откудаНом=КакЦелое(Шаблон.Кадр);
   | true:Строка_кудаНом=КакЦелое(Шаблон.Кадр);
  fi;
  ^false ;
end;
func NN1_ПриВходе(Поле: Строка; Итер: Целое): Логич;
  if РежимОбмена:Строка_откудаНом=КакЦелое(Шаблон.Кадр);
   | true:Строка_кудаНом=КакЦелое(Шаблон.Кадр);
  fi;
  ^false ;
end;
--НФА;СЧНФА;КОРСЧНФА;АМСЧНФА;ОСТНФА;АН01;АН02;АН03;АН04;АН05;АН06;АН07;АН08;АН09;АН10;АН11;АН12;АН13;АН14;АН15;АН16;АН17;АН18;АН19;АН20;АН21;АН22;АН23;АН24;АН25;СЧ02;СЧ03;СЧ04;СЧ05;СЧ06;СЧ07;СЧ08;СЧ09;СЧ10;СЧ11;КМНТ
--КОЛНФА;СУМНФА;АМСУМНФА;Ч01;Ч02;Ч03;Ч04;Ч05;СЧ01;
--НФА;СЧНФА;КОРСЧНФА;АМСЧНФА;ОСТНФА;КОЛНФА;СУМНФА;АМСУМНФА

-- Строк1табл ПОЛЕПОДТАБЛИЦЫ  ПОЛЕПОДТАБЛИЦЫ1
proc Кнопка4_ПриНажатии(Отправитель: Строка);
  var i,j,k:i;
  var ss,ss0:s;
  for i=1..Строк1табл do
    ss=';'+up(ПОЛЕПОДТАБЛИЦЫ[i])+';';
    if pos(ss,';НФА;СЧНФА;КОРСЧНФА;АМСЧНФА;ОСТНФА;КОЛНФА;СУМНФА;АМСУМНФА;')>0:-- ищем соответствие
       j=ПоискВмассиве(ПОЛЕПОДТАБЛИЦЫ1,ПОЛЕПОДТАБЛИЦЫ[i],false,Строк1табл+1);
       if j>0:
	  swap_iter(i,j);
       fi;
     | true:ss0=';'+up(ОТВЕТ[i])+';';
       if pos(ss,';АН01;АН02;АН03;АН04;АН05;АН06;АН07;АН08;АН09;АН10;АН11;АН12;АН13;АН14;АН15;АН16;АН17;АН18;АН19;АН20;АН21;АН22;АН23;АН24;АН25;')>0:-- разбор по условию выбора
	  if pos('ИНВ.',trim(up(ОТВЕТ[i])))=1 or pos('УЧН.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('ИНВ.',trim(up(ОТВЕТ1[j])))=1 or pos('УЧН.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('К.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('К.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('ПБС.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('ПБС.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('РБС.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('РБС.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('П.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('П.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('ВД.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('ВД.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('ПГР.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('ПГР.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('КОСГУ.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('КОСГУ.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
	  swap_iter(i,j);
	  break;
	       fi;
	     od;
	   | pos('КТ.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('КТ.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
		 swap_iter(i,j);
		 break;
	       fi;
	     od;
	   | pos('Ц.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('Ц.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
		 swap_iter(i,j);
		 break;
	       fi;
	     od;
	   | pos('ПРТ.',trim(up(ОТВЕТ[i])))=1: --ищем инв или учн
	     for j=Строк1табл+1..ПОЗИЦИИ do
	       if pos('ПРТ.',trim(up(ОТВЕТ1[j])))=1: --ищем инв или учн
		 swap_iter(i,j);
		 break;
	       fi;
	     od;
	   | pos('МОЛ.',trim(up(ОТВЕТ[i])))=1: --ищем МОЛ От кого куда (МОЛ) Кому (МОЛ)
	     if pos('КОГО',trim(up(ЗАГОЛОВОК[i])))>0:-- ищем МОЛ кого (от кого)
		for j=Строк1табл+1..ПОЗИЦИИ do
		  if pos('МОЛ.',trim(up(ОТВЕТ1[j])))=1: --
		    if pos('КОГО',trim(up(ЗАГОЛОВОК1[j])))>0:-- ищем МОЛ кого (от кого)
		      swap_iter(i,j);
		      break;
		    fi;
		  fi;
		od;
	      | pos('КУДА',up(ЗАГОЛОВОК[i]))>0 или pos('КОМУ',up(ЗАГОЛОВОК[i]))>0:-- ищем МОЛ КОМУ
		for j=Строк1табл+1..ПОЗИЦИИ do
		  if pos('МОЛ.',trim(up(ОТВЕТ1[j])))=1: --
		    if pos('КУДА',up(ЗАГОЛОВОК1[j]))>0 или pos('КОМУ',up(ЗАГОЛОВОК1[j]))>0:-- ищем МОЛ кого (от кого)
		      swap_iter(i,j);
		      break;
		    fi;
		  fi;
		od;
	     fi;
	   | pos('М.',trim(up(ОТВЕТ[i])))=1: --ищем М Откуда  куда
	     if pos('ОТКУДА',trim(up(ЗАГОЛОВОК[i])))>0:-- ищем М Откуда
		for j=Строк1табл+1..ПОЗИЦИИ do
		  if pos('М.',trim(up(ОТВЕТ1[j])))=1: --
		    if pos('ОТКУДА',trim(up(ЗАГОЛОВОК1[j])))>0:
		      swap_iter(i,j);
		      break;
		    fi;
		  fi;
		od;
	      | pos('КУДА',up(ЗАГОЛОВОК[i]))>0:-- ищем М куда
		for j=Строк1табл+1..ПОЗИЦИИ do
		  if pos('М.',trim(up(ОТВЕТ1[j])))=1:
		    if pos('КУДА',up(ЗАГОЛОВОК1[j]))>0:
		      swap_iter(i,j);
		      break;
		    fi;
		  fi;
		od;
	     fi;
	  fi;
	| true:ss0=up(ЗАГОЛОВОК[i])+';'+up(ОТВЕТ[i])+';'+up(НОМПРОВОДКИ[i]);
	       for j=Строк1табл+1..ПОЗИЦИИ do
		 if ss0=up(ЗАГОЛОВОК1_[j])+';'+up(ОТВЕТ1_[j])+';'+up(НОМПРОВОДКИ1_[j]):
		    swap_iter(i,j);
		    break;
		 fi;
	       od;
       fi;
    fi;
  od;
end;


Конец
