На данный момент добился того, что при трассировке вижу исходные данные, вижу коэф. всё это в одном блоке.
При этом показатель {0QUANTITY} в цикле FOREACH возвращает 0. Сам цикл работает и перебирает все записи ZCUST (Проверил поставив в цикле переменную, которая при каждом инкрементировании добавлялась к показателю и увеличивалась на 1. на выходе получил несколько измененных записей соответсвующих количеству записей ZCUST).
Code:
DATA ZDAY TYPE 0CALDAY.
DATA ZKOEF TYPE I.
DATA ZUNIT1 TYPE ZUNIT.
DATA ZUNIT2 TYPE ZUNIT.
DATA ZPOKAZ1 TYPE ZPOKAZ.
DATA ZPOKAZ2 TYPE ZPOKAZ.
DATA ZPOKAZ3 TYPE ZPOKAZ.
DATA ZCUST TYPE 0CUSTOMER.
DATA ZUSEIT TYPE ZUSEIT.
ZDAY = VARV(ZKEY_DAT).
ZUNIT1 = 'BOX'.
ZUNIT2 = 'ST'.
ZPOKAZ1 = '010'.
ZPOKAZ2 = '020'.
ZPOKAZ3 = 'K01'.
ZKOEF = {0QUANTITY, #, ZUNIT2, #, 'ZCUBE1', ZPOKAZ3, #}.
FOREACH ZCUST IN REFDATA.
{ 0QUANTITY, ZDAY, ZUNIT2, ZCUST, 'ZCUBE2', ZPOKAZ2, ZUSEIT } = { 0QUANTITY, #, ZUNIT1, ZCUST, 'ZCUBE1', ZPOKAZ1, ZUSEIT } * ZKOEF.
ENDFOR.
Так выглядит таблица трассировки:
Code:
Ряд | Данные | Инд.изм | Кол-во | ZUSEIT | Клиент | ZPOKAZ | День | ЕИ | Инфопровайдер
--------------------------------------------------------------------------------------------
1 | Ссылоч.| | 2 |# |# |K01 | # |ST |ZCUBE1
2 | Ссылоч.| | 1000 |10 |1000 |010 | # |BOX |ZCUBE1
3 | Ссылоч.| | 1500 |11 |1001 |010 | # |BOX |ZCUBE1
4 | Ссылоч.| | 1200 |12 |1179 |010 | # |BOX |ZCUBE1
Air_demon написал(а):
Скорее всего данные лежат у Вас по разным значениям признаков "номер клиента и еще один показатель" иначе бы они и до включения их в операнд попадали в один блок данных.
Проверьте внимательно лежат ли данные и коэфф. на # по вновь добавленным в операнд признакам.
Значение признака ZCUST (номер клиента) у данных различное. У коэф. этот признак пустой. Второй показатель ZUSEIT у данных одинаковый, у коэф. отличается от данных.
Может поэтому нулевое значение {0QUANTITY} возвращает?