Как правильно написать код?
Надо добавлять данные в таблицу по определённому условию:
- пока "Разница дат" в строке >= "Периоду", то добавляем новую строку со значением "Дата С" = "Дата С + Период"
- иначе переходим на следующую строку
Пока вышло что-то страшное
X++:
//rowQuota - временная таблица
while select forupdate rowQuota
{
monthDiff = intvNo(rowQuota.DateTo, rowQuota.DateFrom, IntvScale::Month);
dayDiff = intvNo(rowQuota.DateTo, rowQuota.DateFrom, IntvScale::Day);
if(rowQuota.UsagePeriod <= monthDiff && dayDiff > 0)
{
buf2buf(rowQuota, rowQuotaTmp);
do
{
rowQuotaTmp.DateFrom = dateMthFwd(rowQuotaTmp.DateFrom, rowQuotaTmp.UsagePeriod);
rowQuotaTmp.DatePotreb = rowQuotaTmp.DateFrom;
rowQuotaTmp.insert();
monthDiff = intvNo(rowQuotaTmp.DateTo, rowQuotaTmp.DateFrom, IntvScale::Month);
dayDiff = intvNo(rowQuotaTmp.DateTo, rowQuotaTmp.DateFrom, IntvScale::Day);
}
while(rowQuotaTmp.UsagePeriod <= monthDiff && dayDiff > 0);
}
}