Java скрипт заполнения плана

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Java скрипт заполнения плана

Сообщение savov »

Вот такой скрипт:
toMc = 1;
cnstAlgMnfPlan = 24;

MnPlan.setPosition(CurMnPlan());

StartNewVisual(vtNumericVisual, vfTimer/*+vfBreak+vfConfirm*/,
'Поиск свободного наличия', 1);

//tmpDate = Cur_Date();
tmpDate = MnPlan.dBeg;
//Message(tmpDate);
tmpPodr = MnPlan.cAnVal1;

// режим расчета - наличие на складе
ModeRestMcOnHand(wayStoreN, 0);

for(KatMc.getFirst(); ResultOfNavigation; KatMc.getNext())
{
tmpReal = GetRestMcOnHand(tmpDate, KatMc.NRec, tmpPodr, "", "");

if(tmpReal > 0)
{
KatParty.MCOGR(KatMc.NRec);//берем только партии для данной МЦ
for(KatParty.getFirst(); ResultOfNavigation; KatParty.getNext())
{
tmpReal = GetRestMcOnHand(tmpDate, KatMc.NRec, tmpPodr, "", KatParty.Nrec);
if (tmpReal>0)
{
if(SpMnPlan.InsertSpMnPlan(MnPlan.NRec))
{
SpMnPlan.TypeRaw = toMc;
SpMnPlan.cRaw = KatMc.NRec;
// SpMnPlan.cRaw = KatParty.NRec;
SpMnPlan.cOtpEd = 0;
SpMnPlan.cParty =KatParty.NRec;
SpMnPlan.rewrite();
if(SpMnPlan.setPosition(SpMnPlan.NRec))
{
if(SpMnPl.InsertSpMnPl(SpMnPlan.NRec, cnstAlgMnfPlan, MnPlan.NRec, 0, 0, 0))
{
// if(SpMnPl.setPosition(SpMnPl.NRec))
// {
SpMnPlan.SpParty = KatParty.NRec;
SpMnPl.Field_2 = tmpReal;
// }
SpMnPlan.rewrite();
};
};//if(SpMnPlan.setPosition(SpMnPlan.NRec))
};//if(SpMnPlan.InsertSpMnPlan(MnPlan.NRec))
}
}//for KatParty
// }
};//if(tmpReal > 0)
if (!NextVisual())
break;
} //for
StopVisual('', 0);
Должен вставлять МЦ с партией в план. Вставляет только МЦ, партию не берет. Хотя, количество по партии, ссылку на партию определяет верно. В чем причина? Может позиционируюсь не туда? (пробовал разные варианты , ничего не помогло). Гал-ка 8. Аналитика по партии указана в списке аналитик по спецификации.
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Сообщение savov »

Сам себе отвечаю.
Вот такой скрипт работает:
toMc = 1;
cnstAlgMnfPlan = 24;
PN = 0;
MnPlan.setPosition(CurMnPlan());

StartNewVisual(vtNumericVisual, vfTimer/*+vfBreak+vfConfirm*/,
'Поиск свободного наличия', 1);

//tmpDate = Cur_Date();
tmpDate = MnPlan.dBeg;
tmpPodr = MnPlan.cAnVal1;

// режим расчета - наличие на складе
ModeRestMcOnHand(wayStoreN, 0);

for(KatMc.getFirst(); ResultOfNavigation; KatMc.getNext())
{
tmpReal = GetRestMcOnHand(tmpDate, KatMc.NRec, tmpPodr, "", "");

if(tmpReal > 0)
{
KatParty.MCOGR(KatMc.NRec);//берем только партии для данной МЦ
for(KatParty.getFirst(); ResultOfNavigation; KatParty.getNext())
{
tmpReal = GetRestMcOnHand(tmpDate, KatMc.NRec, tmpPodr, "", KatParty.Nrec);
if (tmpReal>0)
{ PN = KatParty.Nrec;
if(SpMnPlan.InsertSpMnPlan(MnPlan.NRec))
{
SpMnPlan.TypeRaw = toMc;
SpMnPlan.cRaw = KatMc.NRec;
SpMnPlan.cOtpEd = 0;
SpMnPlan.cP = PN;
SpMnPlan.rewrite();
if(SpMnPlan.setPosition(SpMnPlan.NRec))
{ SpMnPlan.cP = PN;
if(SpMnPl.InsertSpMnPl(SpMnPlan.NRec, cnstAlgMnfPlan, MnPlan.NRec, PN, 0, 0))
{
if(SpMnPl.setPosition(SpMnPl.NRec))
{
SpMnPl.SpParty = PN;
SpMnPl.Field_2 = tmpReal;
}
// SpMnPl.rewrite();
SpMnPlan.rewrite();
};
};//if(SpMnPlan.setPosition(SpMnPlan.NRec))
};//if(SpMnPlan.InsertSpMnPlan(MnPlan.NRec))
}
}//for KatParty
// }
};//if(tmpReal > 0)
if (!NextVisual())
break;
} //for
StopVisual('', 0);
и вообще внимательнее с регистром в джаве
:-(
Ответить