Как этот код перенести в запрос,чтобы в запросе считалось так:
Сделал так,но в некоторых документах считает корректно, а в некоторых считает некорректно
Если Цел(Стр.Количество/Стр.ВМесте) = Стр.Количество/Стр.ВМесте Тогда
Стр.Мест = Цел(Стр.Количество/Стр.ВМесте);
Иначе
Стр.Мест = Цел(Стр.Количество/Стр.ВМесте)+1;
КонецЕсли;
//
Если Стр.ВесМеста > 0 Тогда
Стр.Вес = Стр.ВесМеста*Стр.Мест;
Иначе
Стр.Вес = Стр.ВесШтуки*Стр.Количество;
КонецЕсли;
ПоказатьСделал так,но в некоторых документах считает корректно, а в некоторых считает некорректно
ВЫБРАТЬ
МаршрутноеЗаданиеДокументыРеализации.Ссылка КАК МЗ,
ЗаказПокупателяТовары.Ссылка КАК Реализация,
ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
СУММА(МаршрутноеЗаданиеДокументыРеализации.Вес) КАК Вес,
СУММА(МаршрутноеЗаданиеДокументыРеализации.Ссылка.ВесГруза) КАК ВесГруза,
ВЫБОР
КОГДА (ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))) = ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент
ТОГДА (ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))) + 1
ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))
КОНЕЦ КАК КоличествоИКоэфф,
СУММА(ЗаказПокупателяТовары.Количество) КАК Количество,
ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,
ВЫБОР
КОГДА ЕСТЬNULL(ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест, НЕОПРЕДЕЛЕНО) <> НЕОПРЕДЕЛЕНО
И ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест <> ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
ТОГДА ЕСТЬNULL(ЗаказПокупателяТовары.ЕдиницаИзмеренияМест.Вес, 0)
ИНАЧЕ 0
КОНЕЦ КАК ВесМеста
ПОМЕСТИТЬ ВТ
ИЗ
Документ.МаршрутноеЗадание.ДокументыРеализации КАК МаршрутноеЗаданиеДокументыРеализации
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ПО МаршрутноеЗаданиеДокументыРеализации.Заявка = ЗаказПокупателяТовары.Ссылка
ГДЕ
ЗаказПокупателяТовары.Ссылка = &Ссылка
СГРУППИРОВАТЬ ПО
ЗаказПокупателяТовары.Ссылка,
МаршрутноеЗаданиеДокументыРеализации.Ссылка,
ЗаказПокупателяТовары.Номенклатура,
ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,
ВЫБОР
КОГДА ЕСТЬNULL(ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест, НЕОПРЕДЕЛЕНО) <> НЕОПРЕДЕЛЕНО
И ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест <> ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
ТОГДА ЕСТЬNULL(ЗаказПокупателяТовары.ЕдиницаИзмеренияМест.Вес, 0)
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА (ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))) = ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент
ТОГДА (ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))) + 1
ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))
КОНЕЦ
ИНДЕКСИРОВАТЬ ПО
Реализация,
Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ.МЗ,
ВТ.Реализация,
ВТ.Номенклатура,
СУММА(ВТ.Вес) КАК Вес,
СУММА(ВТ.ВесГруза) КАК ВесГруза,
СУММА(ВТ.Количество) КАК Количество,
ЗаказПокупателяТовары.Номенклатура КАК Номенклатура1,
СУММА(ВТ.НоменклатураЕдиницаИзмеренияМестКоэффициент) КАК НоменклатураЕдиницаИзмеренияМестКоэффициент,
СУММА(ВЫБОР
КОГДА ЗаказПокупателяТовары.ЕдиницаИзмеренияМест.Вес > 0
ТОГДА ВТ.ВесМеста * ВТ.КоличествоИКоэфф
ИНАЧЕ ЗаказПокупателяТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес * ЗаказПокупателяТовары.Количество
КОНЕЦ) КАК ВестМест,
ВТ.ВесМеста,
ВТ.КоличествоИКоэфф КАК КоличествоИКоэфф1,
ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК НоменклатураЕдиницаИзмеренияМестКоэффициент1,
ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Вес
ИЗ
ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ПО (ЗаказПокупателяТовары.Ссылка = ВТ.Реализация)
И ВТ.Номенклатура = ЗаказПокупателяТовары.Номенклатура
СГРУППИРОВАТЬ ПО
ЗаказПокупателяТовары.Номенклатура,
ВТ.МЗ,
ВТ.Номенклатура,
ВТ.Реализация,
ВТ.ВесМеста,
ВТ.КоличествоИКоэфф,
ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент,
ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Вес
ИТОГИ
СУММА(Вес),
СУММА(ВесГруза),
СУММА(Количество),
СУММА(ВестМест)
ПО
ОБЩИЕ
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) сделал так, но все равно погрешность есть,то есть считает не правильно
ВЫБОР
КОГДА (ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))) = ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент
ТОГДА ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент КАК ЧИСЛО(10, 0))
ИНАЧЕ ВЫБОР
КОГДА ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент > 0
ТОГДА ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент - 0.5 КАК ЧИСЛО(10, 0))
ИНАЧЕ ВЫРАЗИТЬ(ЗаказПокупателяТовары.Количество / ЗаказПокупателяТовары.Номенклатура.ЕдиницаИзмеренияМест.Коэффициент + 0.5 КАК ЧИСЛО(10, 0))
КОНЕЦ
КОНЕЦ
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот