Динамической, таблица может быть, только если у неё снизу есть строка для ввода в режиме планирования.
ken написал(а):
Природа данных, такова, что их получают от районных отделений. Иногда отдельные районы не предоставляют данных по некоторым показателям. Вот и получаются пустые ячейки.
Возможно, что признак остаётся на присвоенным (#), а не показатель. А показатель в динамической таблице после переноса, в любом случае заполнится нулевым значением.
Вот вам пример кода накатал, на основе моих сумбурных представлений о вашей ситуации. Возможно вам предстоит ещё многое переделать. На моём кубе, на основе одного показателя и одного признака, он работал находя минимальное значение показателя, и игнорируя нули, но не игнорируя отрицательные значения.
Code:
FOREACH MEAS, L_ZMO.
*Если переменная пустая, то первый раз заполняем её первым значением показателя,
*это делается для того, чтобы она смогла обрабатываться в дальнейшем в сравнении.
IF MIN_MEAS IS INITIAL.
MIN_MEAS = {ZQTY, MEAS, L_ZMO}.
ENDIF.
*Сохраняем значение показателя по каждой итерации во вторую переменную, чтобы с ней потом сравнивать.
MIN_MEAS2 = {ZQTY, MEAS, L_ZMO}.
*теперь цикл в цикле =)
FOREACH MEAS, L_ZMO.
*Если текущее значение не равно значению внешнего цикла,
*то вычисляем минимальное значение из текущего внутреннего цикла и минимального значения от
*предыдущего минимального значения и значения внешнего цикла.
IF {ZQTY, MEAS, L_ZMO} <> MIN_MEAS2.
MIN_MEAS = MIN( {ZQTY, MEAS, L_ZMO}, MIN( MIN_MEAS, MIN_MEAS2)).
ENDIF.
ENDFOR.
ENDFOR.
Update: исправил код
