Расчет веса номенклатуры¶
ВЗ.Количество * (ВЫРАЗИТЬ(ВЫБОР
КОГДА СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Вес)
И СправочникНоменклатура.ВесИспользовать
И ЕСТЬNULL(СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель, 0) <> 0
ТОГДА ВЫРАЗИТЬ(СправочникНоменклатура.ЕдиницаИзмерения.Числитель / СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))
КОГДА СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Объем)
И СправочникНоменклатура.ВесИспользовать
И ЕСТЬNULL(СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ОбъемЕдиницаИзмерения.Числитель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ОбъемЕдиницаИзмерения.Знаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ОбъемЧислитель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ОбъемЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
ТОГДА ВЫРАЗИТЬ((ВЫРАЗИТЬ((ВЫРАЗИТЬ(СправочникНоменклатура.ЕдиницаИзмерения.Числитель / СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))) / (ВЫРАЗИТЬ(СправочникНоменклатура.ОбъемЕдиницаИзмерения.Числитель / СправочникНоменклатура.ОбъемЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))) КАК ЧИСЛО(17, 9))) / (ВЫРАЗИТЬ(СправочникНоменклатура.ОбъемЧислитель / СправочникНоменклатура.ОбъемЗнаменатель КАК ЧИСЛО(17, 9))) * (СправочникНоменклатура.ВесЧислитель / СправочникНоменклатура.ВесЗнаменатель) * (СправочникНоменклатура.ВесЕдиницаИзмерения.Числитель / СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель) КАК ЧИСЛО(17, 9))
КОГДА СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Площадь)
И СправочникНоменклатура.ВесИспользовать
И ЕСТЬNULL(СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ПлощадьЕдиницаИзмерения.Числитель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ПлощадьЕдиницаИзмерения.Знаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ПлощадьЧислитель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ПлощадьЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
ТОГДА ВЫРАЗИТЬ((ВЫРАЗИТЬ((ВЫРАЗИТЬ(СправочникНоменклатура.ЕдиницаИзмерения.Числитель / СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))) / (ВЫРАЗИТЬ(СправочникНоменклатура.ПлощадьЕдиницаИзмерения.Числитель / СправочникНоменклатура.ПлощадьЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))) КАК ЧИСЛО(17, 9))) / (ВЫРАЗИТЬ(СправочникНоменклатура.ПлощадьЧислитель / СправочникНоменклатура.ПлощадьЗнаменатель КАК ЧИСЛО(17, 9))) * (СправочникНоменклатура.ВесЧислитель / СправочникНоменклатура.ВесЗнаменатель) * (СправочникНоменклатура.ВесЕдиницаИзмерения.Числитель / СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель) КАК ЧИСЛО(17, 9))
КОГДА СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Длина)
И СправочникНоменклатура.ВесИспользовать
И ЕСТЬNULL(СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ДлинаЕдиницаИзмерения.Числитель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ДлинаЕдиницаИзмерения.Знаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ДлинаЧислитель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ДлинаЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
ТОГДА ВЫРАЗИТЬ((ВЫРАЗИТЬ((ВЫРАЗИТЬ(СправочникНоменклатура.ЕдиницаИзмерения.Числитель / СправочникНоменклатура.ЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))) / (ВЫРАЗИТЬ(СправочникНоменклатура.ДлинаЕдиницаИзмерения.Числитель / СправочникНоменклатура.ДлинаЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))) КАК ЧИСЛО(17, 9))) / (ВЫРАЗИТЬ(СправочникНоменклатура.ДлинаЧислитель / СправочникНоменклатура.ДлинаЗнаменатель КАК ЧИСЛО(17, 9))) * (СправочникНоменклатура.ВесЧислитель / СправочникНоменклатура.ВесЗнаменатель) * (СправочникНоменклатура.ВесЕдиницаИзмерения.Числитель / СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель) КАК ЧИСЛО(17, 9))
КОГДА СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка)
И ЕСТЬNULL(СправочникНоменклатура.ЕдиницаИзмерения.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
ТОГДА ВЫРАЗИТЬ(СправочникНоменклатура.ЕдиницаИзмерения.Вес * СправочникНоменклатура.ЕдиницаИзмерения.ВесЕдиницаИзмерения.Числитель / СправочникНоменклатура.ЕдиницаИзмерения.ВесЕдиницаИзмерения.Знаменатель КАК ЧИСЛО(17, 9))
КОГДА (СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.КоличествоШтук)
ИЛИ СправочникНоменклатура.ЕдиницаИзмерения.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.ПустаяСсылка)
ИЛИ ЕСТЬNULL(СправочникНоменклатура.ЕдиницаИзмерения.Ссылка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка))
И СправочникНоменклатура.ВесИспользовать
И ЕСТЬNULL(СправочникНоменклатура.ВесЗнаменатель, 0) <> 0
И ЕСТЬNULL(СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель, 0) <> 0
ТОГДА ВЫРАЗИТЬ(СправочникНоменклатура.ВесЧислитель / СправочникНоменклатура.ВесЗнаменатель * (СправочникНоменклатура.ВесЕдиницаИзмерения.Числитель / СправочникНоменклатура.ВесЕдиницаИзмерения.Знаменатель) КАК ЧИСЛО(17, 9))
ИНАЧЕ 0
КОНЕЦ / (ВЫРАЗИТЬ(1 КАК ЧИСЛО(17, 9))) КАК ЧИСЛО(17, 9)))