Всем добрый день.
Так сложилось, что у нас не пользуются полем InventBatch.ExpDate, а вместо этого по каждой номенклатуре проставлено время жизни. Соответственно, необходимо узнать, у каких записей в батче истекает срок в течение следующих expDays дней. Никак не получается сделать фильтр, в котором нужно к дате из одной таблицы добавить число дней из другой. Программа работает, если сравнивать дату с датой. Но если к дате прибавить числовое значение, она преобразуется в число и условие работает неправильно.
X++:
qbr = qbds.addRange(fieldnum(InventBatch, DataAreaId));
s = strfmt("(%1 + %2.%3 < %4)", // (%1 < %4) - так работает
fieldstr(InventBatch, ProdDate),
qbdsInventTable.name(),
fieldstr(InventTable, ShelfLife),
queryValue(systemdateget() + expDays) // expDays = 30 дней, к примеру
);
qbr.value(s);