Использование общей переменной в формуле супресса - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь составить список из открытых производственных заказов и какие детали отсутствуют для этих производственных заказов.

В заголовке группы 1 у меня есть номер производственного заказа. В заголовке группы 2 у меня есть позиции для этого производственного заказа. Я могу получить данные из ERP, сколько предметов необходимо для этого производственного заказа и сколько у нас в настоящее время на складе.

Моя идея состоит в том, что я буду подавлять заголовок группы 2 формулой

If {ProductinOder.NeededItems}=0   //If there is no need for item in that order
then true else
if sum({StockQty1.qty},{item1.itemcode})>={{ProductinOder.NeededItems}} then True else false

Это исключит все детали, которые нам не нужны, или если у нас будет достаточно запасных частей для этого производственного заказа.

Проблема заключается в том, что если в обоих производственных заказах 1 и 2 используется деталь A 1шт, то в отчете подавляются их оба, поскольку для обоих производственных заказов требуется только 1 деталь, а на складе есть 1 деталь.

По этой причине я создал подотчет, который суммирует все использование для детали во всем производственном заказе и связал этот подотчет с деталью в заголовке группы 2.

In subreport I have a formula {@need}
Shared NumberVar need := sum({MRPCalc1.Qty}) // Need is shared variable and sum{} sums all the parts in use

В обычном отчете я использую

WhilePrintingRecords;
Shared NumberVar need;
need

и изменить формулу подавления

If {ProductinOder.NeededItems}=0
then true else

if sum({ProductinOder.NeededItems},{item.itemcode})>={@need} then true else false

Но я не могу заставить его подавить нужные части.

...