19.12.2017, 11:14 | #1 |
Участник
|
Помогите с кодом (ax 2009)
Как правильно написать код?
Надо добавлять данные в таблицу по определённому условию: - пока "Разница дат" в строке >= "Периоду", то добавляем новую строку со значением "Дата С" = "Дата С + Период" - иначе переходим на следующую строку Пока вышло что-то страшное 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); } } |
|
|
|