Всем добрый день. Необходимо для одного отчета изменить запрос чтоб он выводил еще одно дополнительное поле. Процент продаж от общего кол-во продаж.
Т.е. мне надо поле Сумма разделить на поле СУММА(сумма) из ИТОГОВ.
В соседней теме мне советовали делать это через временные таблицы, но как я понять вообще не могу. Т.е. что-то помещать в вт1, чт-то в вт2 и уже потом из этих 2-х таблиц выбирать нужные мне поля.
Но как работать с временными таблицами вообще не пойму.
Т.е. мне надо поле Сумма разделить на поле СУММА(сумма) из ИТОГОВ.
В соседней теме мне советовали делать это через временные таблицы, но как я понять вообще не могу. Т.е. что-то помещать в вт1, чт-то в вт2 и уже потом из этих 2-х таблиц выбирать нужные мне поля.
Но как работать с временными таблицами вообще не пойму.
ПостроительОтчетаОтчет.Текст =
"ВЫБРАТЬ
| Sales.Номенклатура КАК Номенклатура,
| Sales.Контрагент КАК Контрагент,
| Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
| СУММА(Sales.Количество) КАК Количество,
| СУММА(Sales.Сумма) КАК Сумма,
| СРЕДНЕЕ(Sales.Цена) КАК Цена,
| Sales.Регистратор КАК Регистратор,
| ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК ПрибыльРуб,
| ВЫБОР
| КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
| КОНЕЦ КАК ПрибыльПроцц,
| PrimeCost.ЦенаСебест КАК ЦенаСебест,
| ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СуммаСебест
|ИЗ
| (ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
| ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
| ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
| ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
| ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
| ВЫБОР
| КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
| КОНЕЦ КАК Цена,
| ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
| ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
| ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
| ВЫБОР
| КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
| ТОГДА 0
| ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
| КОНЕЦ КАК ЦенаСебест
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| &НачПер,
| &КонПер,
| Период,
| СчетДт = &Сч9002
| ИЛИ СчетДт = &Сч9102,
| ,
| СчетКт = &Сч43
| ИЛИ СчетКт = &Сч4101
| ИЛИ СчетКт = &Сч4104
| ИЛИ СчетКт = &Сч10,
| ,
| Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
| ПО Sales.Номенклатура = PrimeCost.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| Sales.Номенклатура,
| Sales.Контрагент,
| Sales.ДоговорКонтрагента,
| Sales.Регистратор,
| PrimeCost.ЦенаСебест,
| ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)),
| ВЫБОР
| КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
| КОНЕЦ,
| ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2))
|ИТОГИ
| СУММА(Количество),
| СУММА(Сумма),
| СРЕДНЕЕ(Цена),
| СУММА(ПрибыльРуб),
| СРЕДНЕЕ(ПрибыльПроцц),
| СРЕДНЕЕ(ЦенаСебест),
| СУММА(СуммаСебест)
|ПО
| ОБЩИЕ,
| Номенклатура,
| Контрагент,
| ДоговорКонтрагента,
| Регистратор";
ПоказатьПо теме из базы знаний
- Работа с периодическими реквизитами 1С версии 7.7 при помощи прямых запросов.
- Неоптимальности вида «план исполнения запроса "испортился"» - поиск и исправление
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Начните уже использовать хранилище запросов
- "250+ тысяч, в штат и работу пока не ищу": как изменился типичный 1С-ник в 2023 году
Найденные решения
(15)
Попробуй так
Попробуй так
ВЫБРАТЬ
Sales.Номенклатура КАК Номенклатура,
Sales.Контрагент КАК Контрагент,
Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
СУММА(Sales.Количество) КАК Количество,
СУММА(Sales.Сумма) КАК Сумма,
СРЕДНЕЕ(Sales.Цена) КАК Цена,
Sales.Регистратор КАК Регистратор,
ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК ПрибыльРуб,
ВЫБОР
КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
КОНЕЦ КАК ПрибыльПроцц,
PrimeCost.ЦенаСебест КАК ЦенаСебест,
ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СуммаСебест,
СУММА(ВЫБОР
КОГДА AllSales.Сумма = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма / AllSales.Сумма * 100 КАК ЧИСЛО(15, 2))
КОНЕЦ) КАК ПроцентПродаж
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
КОНЕЦ КАК Цена,
ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
КОНЕЦ КАК ЦенаСебест
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
&НачПер,
&КонПер,
Период,
СчетДт = &Сч9002
ИЛИ СчетДт = &Сч9102,
,
СчетКт = &Сч43
ИЛИ СчетКт = &Сч4101
ИЛИ СчетКт = &Сч4104
ИЛИ СчетКт = &Сч10,
,
Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
ПО Sales.Номенклатура = PrimeCost.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК Сумма
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК AllSales
ПО (ИСТИНА)
СГРУППИРОВАТЬ ПО
Sales.Номенклатура,
Sales.Контрагент,
Sales.ДоговорКонтрагента,
Sales.Регистратор,
PrimeCost.ЦенаСебест,
ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)),
ВЫБОР
КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
КОНЕЦ,
ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2))
ИТОГИ
СУММА(Количество),
СУММА(Сумма),
СРЕДНЕЕ(Цена),
СУММА(ПрибыльРуб),
СРЕДНЕЕ(ПрибыльПроцц),
СРЕДНЕЕ(ЦенаСебест),
СУММА(СуммаСебест)
ПО
ОБЩИЕ,
Номенклатура,
Контрагент,
ДоговорКонтрагента,
Регистратор
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Берете данный запрос без секции ИТОГО, помещаете его во временную таблицу, затем делаете выборку из этой ВТ и левым соединением присоединяете ЕЁ же, но с группировками из вашей секции ИТОГО, со связями по полям из секции ИТОГО, добавляете новое ПОЛЕ = ВТ.Сумма / <ИмяСгруппированнойВТ>.Сумма. Как-то так.
(7)
//здесь ваша секция ИТОГИ
ВЫБРАТЬ
ВТ.*,
ВТ.Сумма / ИмяСгруппированнойВТ.Сумма
ИЗ ВТ КАК ВТ
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
ВТ.Номенклатура,
ВТ.Контрагент,
ВТ.ДоговорКонтрагента,
ВТ.Регистратор,
СУММА(ВТ.Сумма) КАК Сумма
ИЗ ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
Номенклатура,
Контрагент,
ДоговорКонтрагента,
Регистратор
) КАК ИмяСгруппированнойВТ
ПО
ВТ.Номенклатура = ИмяСгруппированнойВТ.Номенклатура
И ВТ.Контрагент = ИмяСгруппированнойВТ.Контрагент
И ВТ.ДоговорКонтрагента = ИмяСгруппированнойВТ.ДоговорКонтрагента
И ВТ.Регистратор = ИмяСгруппированнойВТ.Регистратор
Показать//здесь ваша секция ИТОГИ
(8) Cпасибо большое. Появляется какая-то синтаксическая ошбка на строке ПОМЕСТИТЬ ВТ1
Это весь запрос который появился.
"ВЫБРАТЬ
| Sales.Номенклатура КАК Номенклатура,
| Sales.Контрагент КАК Контрагент,
| Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
| СУММА(Sales.Количество) КАК Количество,
| СУММА(Sales.Сумма) КАК Сумма,
| СРЕДНЕЕ(Sales.Цена) КАК Цена,
| Sales.Регистратор КАК Регистратор,
| ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК ПрибыльРуб,
| ВЫБОР
| КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
| КОНЕЦ КАК ПрибыльПроцц,
| PrimeCost.ЦенаСебест КАК ЦенаСебест,
| ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СуммаСебест
//| Sales.Сумма / СУММА(Sales.Сумма) КАК процпродаж
|ИЗ
| (ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
| ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
| ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
| ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
| ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
| ВЫБОР
| КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
| КОНЕЦ КАК Цена,
| ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
| ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
| ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
| ВЫБОР
| КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
| ТОГДА 0
| ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
| КОНЕЦ КАК ЦенаСебест
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| &НачПер,
| &КонПер,
| Период,
| СчетДт = &Сч9002
| ИЛИ СчетДт = &Сч9102,
| ,
| СчетКт = &Сч43
| ИЛИ СчетКт = &Сч4101
| ИЛИ СчетКт = &Сч4104
| ИЛИ СчетКт = &Сч10,
| ,
| Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
| ПО Sales.Номенклатура = PrimeCost.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| Sales.Номенклатура,
| Sales.Контрагент,
| Sales.ДоговорКонтрагента,
| Sales.Регистратор,
| PrimeCost.ЦенаСебест,
| ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)),
| ВЫБОР
| КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
| КОНЕЦ,
| ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)),
| Sales.Сумма
|ПОМЕСТИТЬ ВТ1;
|ВЫБРАТЬ
| ВТ1.Sales.Номенклатура КАК Номенклатура,
| ВТ1.Sales.Контрагент КАК Контрагент,
| ВТ1.Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ВТ1.СУММА(Sales.Количество) КАК Количество,
| ВТ1.СУММА(Sales.Сумма) КАК Сумма,
| ВТ1.СРЕДНЕЕ(Sales.Цена) КАК Цена,
| ВТ1.Sales.Регистратор КАК Регистратор,
| ВТ1.ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК ПрибыльРуб,
| ВЫБОР
| КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
| КОНЕЦ КАК ПрибыльПроцц,
| ВТ1.PrimeCost.ЦенаСебест КАК ЦенаСебест,
| ВТ1.ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СуммаСебест,
| ВТ.Сумма / ВТ1.Сумма КАК ПроцОтПродаж
|ИЗ ВТ1 КАК ВТ2
| СГРУППИРОВАТЬ ПО
| Номенклатура,
| Контрагент,
| ДоговорКонтрагента,
| Регистратор
| ) КАК ВТ2
| ПО
| ВТ.Номенклатура = ВТ2.Номенклатура
| И ВТ.Контрагент = ВТ2.Контрагент
| И ВТ.ДоговорКонтрагента = ВТ2.ДоговорКонтрагента
| И ВТ.Регистратор = ВТ2.Регистратор
|ИТОГИ
| СУММА(Количество),
| СУММА(Сумма),
| СРЕДНЕЕ(Цена),
| СУММА(ПрибыльРуб),
| СРЕДНЕЕ(ПрибыльПроцц),
| СРЕДНЕЕ(ЦенаСебест),
| СУММА(СуммаСебест),
| СУММА(процпродаж)
|ПО
| ОБЩИЕ,
| Номенклатура,
| Контрагент,
| ДоговорКонтрагента,
| Регистратор";
ПоказатьЭто весь запрос который появился.
(15)
Попробуй так
Попробуй так
ВЫБРАТЬ
Sales.Номенклатура КАК Номенклатура,
Sales.Контрагент КАК Контрагент,
Sales.ДоговорКонтрагента КАК ДоговорКонтрагента,
СУММА(Sales.Количество) КАК Количество,
СУММА(Sales.Сумма) КАК Сумма,
СРЕДНЕЕ(Sales.Цена) КАК Цена,
Sales.Регистратор КАК Регистратор,
ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК ПрибыльРуб,
ВЫБОР
КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
КОНЕЦ КАК ПрибыльПроцц,
PrimeCost.ЦенаСебест КАК ЦенаСебест,
ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СуммаСебест,
СУММА(ВЫБОР
КОГДА AllSales.Сумма = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма / AllSales.Сумма * 100 КАК ЧИСЛО(15, 2))
КОНЕЦ) КАК ПроцентПродаж
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура,
ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента,
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2))
КОНЕЦ КАК Цена,
ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма,
ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0
ТОГДА 0
ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
КОНЕЦ КАК ЦенаСебест
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
&НачПер,
&КонПер,
Период,
СчетДт = &Сч9002
ИЛИ СчетДт = &Сч9102,
,
СчетКт = &Сч43
ИЛИ СчетКт = &Сч4101
ИЛИ СчетКт = &Сч4104
ИЛИ СчетКт = &Сч10,
,
Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost
ПО Sales.Номенклатура = PrimeCost.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК Сумма
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК AllSales
ПО (ИСТИНА)
СГРУППИРОВАТЬ ПО
Sales.Номенклатура,
Sales.Контрагент,
Sales.ДоговорКонтрагента,
Sales.Регистратор,
PrimeCost.ЦенаСебест,
ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)),
ВЫБОР
КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2))
КОНЕЦ,
ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2))
ИТОГИ
СУММА(Количество),
СУММА(Сумма),
СРЕДНЕЕ(Цена),
СУММА(ПрибыльРуб),
СРЕДНЕЕ(ПрибыльПроцц),
СРЕДНЕЕ(ЦенаСебест),
СУММА(СуммаСебест)
ПО
ОБЩИЕ,
Номенклатура,
Контрагент,
ДоговорКонтрагента,
Регистратор
Показать
(16) нагло конечно наверное, но спрошу здесь чтоб не флудить.
Есть простейший запрос
Можно ли как то запросе указать значение КодДеят?
Пробовал немного по другому, обрабатывать после
Ноо пишет НайтиПоКоду значение не является значением объектного типа (найти по коду). Как можно разделить тут это?
Есть простейший запрос
"ВЫБРАТЬ
| Контрагенты.ОсновнойВидДеятельности,
| Контрагенты.Код
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
|ГДЕ
| ОсновнойВидДеятельности.Код = ""УТ0000001"" КАК КодДеят = ""R""
| ОсновнойВидДеятельности.Код = ""УТ0000002"" КАК КодДеят = ""BC""";
Можно ли как то запросе указать значение КодДеят?
Пробовал немного по другому, обрабатывать после
ВДЗ = РезультатЗапроса.Выбрать();
Если ВДЗ.ОсновнойВидДеятельности.НайтиПоКоду ("УТ0000001")
Тогда КодДеят = "BC"
Иначе КодДеят = "R"
КонецЕсли;
Ноо пишет НайтиПоКоду значение не является значением объектного типа (найти по коду). Как можно разделить тут это?
ВЫБРАТЬ
| ВЫБОР КОГДА Контрагенты.ОсновнойВидДеятельности.Код = ""УТ0000001"" ТОГДА ""R""
| КОГДА Контрагенты.ОсновнойВидДеятельности.Код = ""УТ0000002"" ТОГДА ""BC""
| ИНАЧЕ """" КОНЕЦ,
| Контрагенты.Код
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
|ГДЕ
| Контрагенты.ОсновнойВидДеятельности.Код В (""УТ0000001"", ""УТ0000002"");
ПоказатьВДЗ.ОсновнойВидДеятельности.НайтиПоКоду ("УТ0000001") работать не будет,
условие надо ВДЗ.ОсновнойВидДеятельности = Справочники.(имя справочника с видами деятельности).НайтиПоКоду("УТ0000001")
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот