Java скрипт заполнения плана
Добавлено: 08 сен 2008, 18:42
Вот такой скрипт:
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. Аналитика по партии указана в списке аналитик по спецификации.
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. Аналитика по партии указана в списке аналитик по спецификации.