Расчёт стоимости комплекта

1. user1275490 13.09.19 14:37 Сейчас в теме
Есть запрос. Необходимо посчитать сумму стоимости по компьютерам отдельно. То есть сложить обведённые поля.

ВЫБРАТЬ
ОказаниеУслугиПереченьНоменклатуры.Номенклатура КАК Номенклатура,
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе,
СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе,
ЕСТЬNULL(ОказаниеУслугиПереченьНоменклатуры.Цена, 0) КАК Цена
ПОМЕСТИТЬ Вывод
ИЗ
Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры
ГДЕ
ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры,
ЕСТЬNULL(ОказаниеУслугиПереченьНоменклатуры.Цена, 0)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Вывод.Номенклатура КАК Номенклатура,
Вывод.ВидНоменклатуры КАК ВидНоменклатуры,
Вывод.СуммаВДокументе КАК СуммаВДокументе,
Вывод.КоличествоВДокументе КАК КоличествоВДокументе,
Вывод.Цена КАК Цена,
NULL КАК Поле1,
NULL КАК Количество1,
NULL КАК Наименование
ПОМЕСТИТЬ НоменклатураДокумента
ИЗ
Вывод КАК Вывод
ГДЕ
ТИП(Справочник.Номенклатура) = ТИПЗНАЧЕНИЯ(Вывод.Номенклатура)

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
КомпыКомплект.Деталь,
КомпыКомплект.Деталь.ВидНоменклатуры,
Вывод.КоличествоВДокументе * Вывод.Цена,
Вывод.КоличествоВДокументе * КомпыКомплект.Количество,
Вывод.Цена,
Вывод.КоличествоВДокументе,
КомпыКомплект.Количество,
Компы.Наименование
ИЗ
Вывод КАК Вывод
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компы.Комплект КАК КомпыКомплект
ПО (КомпыКомплект.Ссылка = Вывод.Номенклатура)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компы КАК Компы
ПО (КомпыКомплект.Ссылка = Компы.Комплект.Ссылка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
НоменклатураДокумента.Номенклатура КАК Номенклатура,
НоменклатураДокумента.ВидНоменклатуры КАК ВидНоменклатуры,
НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе,
НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе, 1) КАК Стоимость,
ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе, 0) КАК СтоимостьМатериала,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе / (СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе), 0) КАК Выручка,
НоменклатураДокумента.Наименование КАК Наименование
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
&МоментВремени,
Материал В
(ВЫБРАТЬ
НоменклатураДокумента.Номенклатура
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
&МоментВремени,
Материал В
(ВЫБРАТЬ
НоменклатураДокумента.Номенклатура
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материал
ИТОГИ
СУММА(Стоимость)
ПО
Наименование
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. user1275490 16.09.19 10:18 Сейчас в теме
Есть запрос. Необходимо посчитать сумму стоимости по компьютерам отдельно. То есть сложить обведённые поля.

ВЫБРАТЬ
ОказаниеУслугиПереченьНоменклатуры.Номенклатура КАК Номенклатура,
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе,
СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе,
ЕСТЬNULL(ОказаниеУслугиПереченьНоменклатуры.Цена, 0) КАК Цена
ПОМЕСТИТЬ Вывод
ИЗ
Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры
ГДЕ
ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры,
ЕСТЬNULL(ОказаниеУслугиПереченьНоменклатуры.Цена, 0)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Вывод.Номенклатура КАК Номенклатура,
Вывод.ВидНоменклатуры КАК ВидНоменклатуры,
Вывод.СуммаВДокументе КАК СуммаВДокументе,
Вывод.КоличествоВДокументе КАК КоличествоВДокументе,
Вывод.Цена КАК Цена,
NULL КАК Поле1,
NULL КАК Количество1,
NULL КАК Наименование
ПОМЕСТИТЬ НоменклатураДокумента
ИЗ
Вывод КАК Вывод
ГДЕ
ТИП(Справочник.Номенклатура) = ТИПЗНАЧЕНИЯ(Вывод.Номенклатура)

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
КомпыКомплект.Деталь,
КомпыКомплект.Деталь.ВидНоменклатуры,
Вывод.КоличествоВДокументе * Вывод.Цена,
Вывод.КоличествоВДокументе * КомпыКомплект.Количество,
Вывод.Цена,
Вывод.КоличествоВДокументе,
КомпыКомплект.Количество,
Компы.Наименование
ИЗ
Вывод КАК Вывод
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компы.Комплект КАК КомпыКомплект
ПО (КомпыКомплект.Ссылка = Вывод.Номенклатура)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компы КАК Компы
ПО (КомпыКомплект.Ссылка = Компы.Комплект.Ссылка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
НоменклатураДокумента.Номенклатура КАК Номенклатура,
НоменклатураДокумента.ВидНоменклатуры КАК ВидНоменклатуры,
НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе,
НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе, 1) КАК Стоимость,
ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе, 0) КАК СтоимостьМатериала,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе / (СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе), 0) КАК Выручка,
НоменклатураДокумента.Наименование КАК Наименование
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
&МоментВремени,
Материал В
(ВЫБРАТЬ
НоменклатураДокумента.Номенклатура
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
&МоментВремени,
Материал В
(ВЫБРАТЬ
НоменклатураДокумента.Номенклатура
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материал
ИТОГИ
СУММА(Стоимость)
ПО
Наименование
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user-z99999 67 13.09.19 15:10 Сейчас в теме
Может в справочнике Номенклатура создать группы и туда поместить номенклатуру? считать по группам.
Или по клиентам в отчете.
А так, как сейчас нет признака по которому объединять номенклатуру в одну цифру.
3. user1275490 13.09.19 16:07 Сейчас в теме
Ок, сгруппированно, я не могу формулу понять куда и какую ввести, чтобы он считал сумму деталей в группе.
4. user1275490 16.09.19 10:18 Сейчас в теме
Есть запрос. Необходимо посчитать сумму стоимости по компьютерам отдельно. То есть сложить обведённые поля.

ВЫБРАТЬ
ОказаниеУслугиПереченьНоменклатуры.Номенклатура КАК Номенклатура,
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе,
СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе,
ЕСТЬNULL(ОказаниеУслугиПереченьНоменклатуры.Цена, 0) КАК Цена
ПОМЕСТИТЬ Вывод
ИЗ
Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры
ГДЕ
ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
ОказаниеУслугиПереченьНоменклатуры.Номенклатура,
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры,
ЕСТЬNULL(ОказаниеУслугиПереченьНоменклатуры.Цена, 0)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Вывод.Номенклатура КАК Номенклатура,
Вывод.ВидНоменклатуры КАК ВидНоменклатуры,
Вывод.СуммаВДокументе КАК СуммаВДокументе,
Вывод.КоличествоВДокументе КАК КоличествоВДокументе,
Вывод.Цена КАК Цена,
NULL КАК Поле1,
NULL КАК Количество1,
NULL КАК Наименование
ПОМЕСТИТЬ НоменклатураДокумента
ИЗ
Вывод КАК Вывод
ГДЕ
ТИП(Справочник.Номенклатура) = ТИПЗНАЧЕНИЯ(Вывод.Номенклатура)

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
КомпыКомплект.Деталь,
КомпыКомплект.Деталь.ВидНоменклатуры,
Вывод.КоличествоВДокументе * Вывод.Цена,
Вывод.КоличествоВДокументе * КомпыКомплект.Количество,
Вывод.Цена,
Вывод.КоличествоВДокументе,
КомпыКомплект.Количество,
Компы.Наименование
ИЗ
Вывод КАК Вывод
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компы.Комплект КАК КомпыКомплект
ПО (КомпыКомплект.Ссылка = Вывод.Номенклатура)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компы КАК Компы
ПО (КомпыКомплект.Ссылка = Компы.Комплект.Ссылка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
НоменклатураДокумента.Номенклатура КАК Номенклатура,
НоменклатураДокумента.ВидНоменклатуры КАК ВидНоменклатуры,
НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе,
НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе, 1) КАК Стоимость,
ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе, 0) КАК СтоимостьМатериала,
ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе / (СтоимостьМатериаловОстатки.СтоимостьОстаток / ОстаткиМатериаловОстатки.КоличествоОстаток * НоменклатураДокумента.КоличествоВДокументе), 0) КАК Выручка,
НоменклатураДокумента.Наименование КАК Наименование
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
&МоментВремени,
Материал В
(ВЫБРАТЬ
НоменклатураДокумента.Номенклатура
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
&МоментВремени,
Материал В
(ВЫБРАТЬ
НоменклатураДокумента.Номенклатура
ИЗ
НоменклатураДокумента КАК НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материал
ИТОГИ
СУММА(Стоимость)
ПО
Наименование
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот