=String.Format("{0:C}", IIf(IsNothing(Parameters!Pricing.Value), 0, IIf(IsNothing(Parameters!CPPrice.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!Pricing.Value * 2), CInt(Parameters!Pricing.Value)), CInt(Parameters!Pricing.Value)))
+ IIf(IsNothing(Parameters!RMPrice.Value), 0, CInt(Parameters!RMPrice.Value))
+ IIf(IsNothing(Parameters!CPPrice.Value), 0, CInt(Parameters!CPPrice.Value))
+ IIf(IsNothing(Parameters!CKPrice.Value), 0, CInt(Parameters!CKPrice.Value))
+ IIf(IsNothing(Parameters!FPrice.Value), 0, CInt(Parameters!FPrice.Value))
+ IIf(IsNothing(Parameters!GRPrice.Value), 0, IIf(IsNothing(Parameters!CPPrice.Value), CInt(Parameters!GRPrice.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!GRPrice.Value * 2), CInt(Parameters!GRPrice.Value)))))
Это выражение, которое я пытаюсь использовать в своем отчете. Он просматривает несколько передаваемых и суммирующих цен.
Если панель управления Parameters!ControlPanel.Value
содержит D, то удвойте цену Parameters!Pricing.Value
и Parameters!GRPrice.Value
, если ничего нет.
Кажется, что все работает нормально, когда передается цена / значение для Parameters!ControlPanel.Value
и Parameters!CPPrice.Value
, но если ничего не передается, я получаю результат #Error.
Обновление: это также дает мне ошибку:
=String.Format("{0:C}", IIf(IsNothing(Parameters!Pricing.Value), 0, IIf(IsNothing(Parameters!ControlPanel.Value), CInt(Parameters!Pricing.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!Pricing.Value * 2), CInt(Parameters!Pricing.Value))))
+ IIf(IsNothing(Parameters!RMPrice.Value), 0, CInt(Parameters!RMPrice.Value))
+ IIf(IsNothing(Parameters!CPPrice.Value), 0, CInt(Parameters!CPPrice.Value))
+ IIf(IsNothing(Parameters!CKPrice.Value), 0, CInt(Parameters!CKPrice.Value))
+ IIf(IsNothing(Parameters!FPrice.Value), 0, CInt(Parameters!FPrice.Value))
+ IIf(IsNothing(Parameters!GRPrice.Value), 0, IIf(IsNothing(Parameters!ControlPanel.Value), CInt(Parameters!GRPrice.Value), IIf(Parameters!ControlPanel.Value.ToString().Contains("D"), CInt(Parameters!GRPrice.Value * 2), CInt(Parameters!GRPrice.Value)))))