1
나는 이것에 대한 해결책을 찾지 못하는 것 같습니다. 보고서에서 Fetch 메서드를 수정하여 queryRun이 변경되고 새 ID가 반입되면 while 루프가 다시 시작되고 새 페이지가 나타나고 2 개의 요소가 실행됩니다. 이 부분은 잘 작동하지만 다음 부분은 그렇지 않습니다. 각 ID에는 Element.Execute()를 사용하는 여러 레코드가 있습니다. 및 element.Send(); 과정. 첫 번째 ID가 선택되고 보고서의 요소 (본문)가 실행되고 요소가 예상대로 전송되지만 while 루프는 다음 ID로 이동하지 않습니다.X ++ 가져 오기 방법에서 QueryRun 나가기
다음은 코드입니다.
public boolean fetch()
{
APMPriorityId oldVanId, newVanId;
LogisticsControlTable lLogisticsControlTable;
int64 cnt, counter;
;
queryRun = new QueryRun(this);
if (!queryRun.prompt() || !element.prompt())
{
return false;
}
while (queryRun.next())
{
if (queryRun.changed(tableNum(LogisticsControlTable)))
{
lLogisticsControlTable = queryRun.get(tableNum(LogisticsControlTable));
if (lLogisticsControlTable)
{
info(lLogisticsControlTable.APMPriorityId);
cnt = 0;
oldVanId = newVanId;
newVanId = lLogisticsControlTable.APMPriorityId;
if(newVanId)
{
element.newPage();
element.execute(1);
element.execute(2);
}
}
if (lLogisticsControlTable.APMPriorityId)
select count(recId) from lLogisticsControlTable where lLogisticsControlTable.APMPriorityId == newVanId;
counter = lLogisticsControlTable.RecId;
while select lLogisticsControlTable where lLogisticsControlTable.APMPriorityId == newVanId
{
cnt++;
if(lLogisticsControlTable.APMPriorityId == newVanId && cnt <= counter)
{
element.execute(3);
element.send(lLogisticsControlTable);
}
}
}
}
return true;
}
1 월, 많은 것에 대해 감사드립니다. 두 번째 변수를 추가하고 문제가 해결되었습니다. – will