Добрый день!
Вот столкнулся с проблемой в скриптах (prof 2.6.10).
Как работает процедура в цикле
Суть такая в процедуре читаю в цикле регистры, в каждой итерации прочитанные регистры передаю в процедуру для парсинга и сохранения в бд. и не выходит грубо говоря переменная переписывается ни так как должна т.е.
1 итерация
aVar1:=Reg_11_1;
aVar2:=Reg_12_1;
aVar3:=Reg_13_1;
aVar4:=Reg_14_1;
aVar5:=Reg_15_1;
aVar6:=Reg_1_1;
2 итерация
aVar1:=Reg_16_1;
aVar2:=Reg_17_1;
aVar3:=Reg_18_1;
aVar4:=Reg_19_1;
aVar5:=Reg_20_1;
aVar6:=Reg_1_1;
Но по факту получаю процедуре парсинг получаю что 1 итерация прошла успешно а начиная со второй я теряю 4
2 итерация
aVar1:=Reg_12_1;
aVar2:=Reg_13_1;
aVar3:=Reg_14_1;
aVar4:=Reg_15_1;
aVar5:=Reg_16_1;
aVar6:=Reg_1_1;
3 итерация
aVar1:=Reg_13_1;
aVar2:=Reg_14_1;
aVar3:=Reg_15_1;
aVar4:=Reg_16_1;
aVar5:=Reg_17_1;
aVar6:=Reg_1_1;
4 итерация
aVar1:=Reg_14_1;
aVar2:=Reg_15_1;
aVar3:=Reg_16_1;
aVar4:=Reg_17_1;
aVar5:=Reg_18_1;
aVar6:=Reg_1_1;
BB_str_1.Value:='';
//Чтения всех регистров и формирование строки
ii:=1;
for i:=11 to 1257 do
begin
aVar1:=GetVariableByName('Reg_'+IntToStr(i)+'_'+IntToStr(k));
aVar2:=GetVariableByName('Reg_'+IntToStr(i+1)+'_'+IntToStr(k));
aVar3:=GetVariableByName('Reg_'+IntToStr(i+2)+'_'+IntToStr(k));
aVar4:=GetVariableByName('Reg_'+IntToStr(i+3)+'_'+IntToStr(k));
aVar5:=GetVariableByName('Reg_'+IntToStr(i+4)+'_'+IntToStr(k));
aVar6:=GetVariableByName('Reg_1_'+IntToStr(k));
Parsing(aVar6,aVar1,aVar4,aVar5,aVar2,aVar3,BB_str_1,ii);
ii:=ii+1;
i:=i+5;
end;