Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 23:53

как использовать число из итогов для расчетов в запросе и скд

Автор Vasylii, 01 ноя 2023, 17:24

0 Пользователей и 1 гость просматривают эту тему.

Vasylii

В общем есть итоги по полю оплачено, по ним нужно рассчитать коэф, не могу понять как использовать число которое получилось в итогах для расчетов

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Менеджер КАК Менеджер,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента КАК ЗаказКлиента,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Контрагент КАК Контрагент,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Договор.Организация КАК Организация,
ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.СуммаДокумента КАК Сумма,
ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход, 0) КАК Оплачено,
ЗаказыКлиентовОстаткиИОбороты.ЗаказаноРасход КАК Отгружено,
ВЫБОР
КОГДА РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход = 0
ИЛИ РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход ЕСТЬ NULL
ТОГДА "Не оплачено"
КОГДА РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход >= ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.СуммаДокумента
ТОГДА "Оплачено полностью"
ИНАЧЕ "Оплачено частично"
КОНЕЦ КАК СостояниеОплаты,
ВЫБОР
КОГДА ЗаказыКлиентовОстаткиИОбороты.ЗаказаноПриход = ЗаказыКлиентовОстаткиИОбороты.ЗаказаноПриход - ЗаказыКлиентовОстаткиИОбороты.ЗаказаноРасход
ТОГДА "Не отгружено"
КОГДА ЕСТЬNULL(ЗаказыКлиентовОстаткиИОбороты.ЗаказаноПриход - ЗаказыКлиентовОстаткиИОбороты.ЗаказаноРасход, 0) <= 0
ТОГДА "Отгружено полностью"
ИНАЧЕ "Отгружено частично"
КОНЕЦ КАК СостояниеОтгрузки,
ТоварыЗаказы.СуммаСНДС КАК СуммаСНДС,
ТоварыЗаказы.Количество КАК Количество,
ТоварыЗаказы.НоменклатураСсылка КАК НоменклатураСсылка,
ТоварыЗаказы.НоменклатураСсылка.Родитель КАК НоменклатураСсылкаРодитель
ПОМЕСТИТЬ Основной
ИЗ
РегистрНакопления.ЗаказыКлиентов.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Запись, , ) КАК ЗаказыКлиентовОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Запись, , ОбъектРасчетов.Объект ССЫЛКА Документ.ЗаказКлиента) КАК РасчетыСКлиентамиОстаткиИОбороты
ПО ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Ссылка = РасчетыСКлиентамиОстаткиИОбороты.ОбъектРасчетов.Объект.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ ТоварыЗаказы КАК ТоварыЗаказы
ПО ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента.Ссылка = ТоварыЗаказы.СсылкаЗаказ.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Основной.Менеджер КАК Менеджер,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НМК.Родитель) КАК КолВоГрупп
ПОМЕСТИТЬ ГруппыПоМеджеру
ИЗ
Основной КАК Основной
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК НМК
ПО Основной.НоменклатураСсылка.Родитель.Ссылка = НМК.Родитель.Ссылка
ГДЕ
Основной.СостояниеОплаты = "Оплачено полностью"
И Основной.СостояниеОтгрузки = "Отгружено полностью"

СГРУППИРОВАТЬ ПО
Основной.Менеджер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ГруппыПоМеджеру.Менеджер КАК Менеджер,
Бит_Бонусы.Бит_КоэфБонусЕдТехники КАК Бит_КоэфБонусЕдТехники,
Бит_Бонусы.Бит_КоэфБонусЕдТехникиФикс КАК Бит_КоэфБонусЕдТехникиФикс,
СУММА(ГруппыПоМеджеру.КолВоГрупп) КАК КолВоГрупп
ПОМЕСТИТЬ РегистрБонус
ИЗ
ГруппыПоМеджеру КАК ГруппыПоМеджеру
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Бит_Бонусы КАК Бит_Бонусы
ПО ГруппыПоМеджеру.Менеджер.Ссылка = Бит_Бонусы.Сотрудникс.Ссылка

СГРУППИРОВАТЬ ПО
ГруппыПоМеджеру.Менеджер,
Бит_Бонусы.Бит_КоэфБонусЕдТехники,
Бит_Бонусы.Бит_КоэфБонусЕдТехникиФикс
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Основной.Менеджер КАК Менеджер,
Основной.ЗаказКлиента КАК ЗаказКлиента,
Основной.Контрагент КАК Контрагент,
Основной.Организация КАК Организация,
Основной.НоменклатураСсылка КАК НоменклатураСсылка,
Основной.НоменклатураСсылка.Родитель КАК НоменклатураСсылкаРодитель,
Основной.Оплачено КАК Оплачено,
Основной.Отгружено КАК Отгружено,
Основной.СостояниеОплаты КАК СостояниеОплаты,
Основной.СостояниеОтгрузки КАК СостояниеОтгрузки,
РегистрБонус.Бит_КоэфБонусЕдТехники КАК Бит_КоэфБонусЕдТехники,
РегистрБонус.Бит_КоэфБонусЕдТехникиФикс КАК Бит_КоэфБонусЕдТехникиФикс,
РегистрБонус.Бит_КоэфБонусЕдТехники / 100 * Основной.Оплачено КАК ЗаЕдиницуТовара,
РегистрБонус.Бит_КоэфБонусЕдТехникиФикс * Основной.Оплачено КАК ЗаЕдиницуТовараФикс,
ВЫБОР
КОГДА РегистрБонус.КолВоГрупп < (ВЫРАЗИТЬ(3 КАК ЧИСЛО(1, 0)))
ТОГДА СУММА(Основной.Оплачено) * 0.1
ИНАЧЕ 0
КОНЕЦ КАК БонусОтГрупп,
РегистрБонус.КолВоГрупп КАК КолВоГрупп,
Основной.Оплачено КАК Оплачено1
ИЗ
Основной КАК Основной
ЛЕВОЕ СОЕДИНЕНИЕ РегистрБонус КАК РегистрБонус
ПО Основной.Менеджер.Ссылка = РегистрБонус.Менеджер.Ссылка
ГДЕ
Основной.Менеджер = &Менеджер
И Основной.СостояниеОплаты = "Оплачено полностью"
И Основной.СостояниеОтгрузки = "Отгружено полностью"

СГРУППИРОВАТЬ ПО
Основной.Менеджер,
Основной.ЗаказКлиента,
Основной.Контрагент,
Основной.Организация,
Основной.Оплачено,
Основной.Отгружено,
Основной.СостояниеОплаты,
Основной.СостояниеОтгрузки,
РегистрБонус.Бит_КоэфБонусЕдТехники,
РегистрБонус.Бит_КоэфБонусЕдТехникиФикс,
Основной.НоменклатураСсылка,
Основной.НоменклатураСсылка.Родитель,
РегистрБонус.КолВоГрупп,
РегистрБонус.Бит_КоэфБонусЕдТехникиФикс * Основной.Оплачено,
РегистрБонус.Бит_КоэфБонусЕдТехники / 100 * Основной.Оплачено,
Основной.Оплачено
ИТОГИ ПО
ОБЩИЕ

Похожие темы (5)

Рейтинг@Mail.ru

Поиск