Вычисляемые поля только по группировке в СКД

1. v0v 16.01.13 13:50 Сейчас в теме
Hello All.
Не могу разобраться с вычисляемыми полями в СКД.
Суть проблемы есть макет СКД, где используется вычисляемое поле "Цена". В макете указано выражение для его вычисления Стоимость/Количество. В макете есть группировка по подразделениях. В результате выполнения получаем Вычисление по каждому элементу в иерархии группировки после чего значение Цена в группе суммируется по элементам (файл est). А мне нужно значение Цена получить только в группе а элементах показать пусто (файл nado).
Прикрепленные файлы:
user916099; +1 Ответить
По теме из базы знаний
Найденные решения
12. v0v 16.01.13 19:36 Сейчас в теме
(11) v0v, Возникла маленькая неувязочка - при попытке получить расшифровку выдавало ошибку и поэтому пришлось изменить функцию в выражении ресурса
на вот эту
ВычислитьВыражение("Сумма(Стоимость)/Выбор Когда Сумма(Количество)=0 Тогда 1 Иначе Сумма(Количество) Конец
","Подразделение","Группировка")


Мануал по этой функции можно взять ОТСЮДА
cargobird; DmitryTretyakov; zoikins; levante90; EvaMendes; garaevilnur; Мах; ilya4; AnKonAlm; Gasilin; m_o; Элит; SmArtist; Maxx2008; foliage; akurmak; as7bs; mie24; +18 Ответить
11. v0v 16.01.13 18:36 Сейчас в теме
(10) -FeNiX-, Оказывается, Никаких запросов не надо модифицировать, это тоже СКД!
Не скажу что все просто но все же я это сделал.
Вычисляемое поле Цена по выражению Стоимость/Количество оставил и в ресурсах врописал выражение вместо Сумма(Цена)
Вот такую формулу:
Вычислить("Сумма(Стоимость)/Сумма(Количество)","Группировка")

И получил желаемый результат!

Процитирую документацию:

Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:
· Выражение – строка, содержащая вычисляемое выражение;
· Группировка – строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
· Тип расчета — строка, В случае если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. В случае если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки. Например:

Сумма(Продажи.СуммаОборот) / Вычислить(«Сумма(Продажи.СуммаОборот)», «ОбщийИтог»)

В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке.
cargobird; bamblbi; zoikins; ilya4; inf012; Мах; savauu; RA85; Lyns_owner; +9 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. v0v 16.01.13 13:51 Сейчас в теме
А надо вот такой вид.
Прикрепленные файлы:
3. -FeNiX- 16.01.13 13:56 Сейчас в теме
Что-то не видно файла nado
Но вообще в макете компоновки данных на вкладке ресурси у каждого ресурса есть свойство "Рассчитывать по..."
4. v0v 16.01.13 14:11 Сейчас в теме
(3) -FeNiX-, Картинка с "nado" находится в посте номер (2).
пробовал в ресурсах для поля Цена (Выражение - Сумма=(Цена)) устанавливать значение в "Рассчитывать по " равным "Подразделение" - результат тот же что и без этого значение.
5. -FeNiX- 16.01.13 14:39 Сейчас в теме
Тогда на вкладке "Настройки" нужно выбрать самую подробную групировку (по умолчанию называэться "детальные записи")
На панели внизу выбрать вкладку "Выбранные поля" и удалить поле "цена".
Но очень важно выбрать правильную группировку!!!
Прикрепленные файлы:
6. AlexO 135 16.01.13 14:43 Сейчас в теме
(5) -FeNiX-,
и как тогда он получит ИТОГО по колонке Цена?
7. v0v 16.01.13 14:52 Сейчас в теме
(5) -FeNiX-, Вид получил правильный но вычисления неправильные.
Если посмотреть на рисунок с поста номер (1) то там видно что сначала вычисляется цена по каждому исполнителю а потом она суммируется в группе. А нужно значение как показано в рисунке поста номер (2) вычислять только по групповому значению Сумма(Стоимость)/Сумма(Количество). Но если так записать в выражении то выдаст ошибку использования двойной агрегационной функции в "Ресурсах".
8. -FeNiX- 16.01.13 15:06 Сейчас в теме
(7) v0v, Для этого нужно переписать запрос СКД.
Можете его предоставить?
9. v0v 16.01.13 15:17 Сейчас в теме
(8) -FeNiX-, Значит получается что чистыми средствами СКД этого сделать нельзя и придется менять запрос.

ВЫБРАТЬ
	ПродажиОбороты.Подразделение КАК Подразделение,
	ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
	ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
	ПродажиОбороты.Регистратор КАК Регистратор,
	ПродажиОбороты.Регистратор.Исполнитель КАК Исполнитель
{ВЫБРАТЬ
	КоличествоОборот,
	СтоимостьОборот,
	Регистратор}
ИЗ
	РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, {(Подразделение).*, (Номенклатура.НоменклатурнаяГруппа).* КАК НоменклатурнаяГруппа, (ДокументПродажи).* КАК Регистратор}) КАК ПродажиОбороты
ГДЕ
	НЕ ПродажиОбороты.Подразделение В ИЕРАРХИИ (&Подраздел)
Показать
10. -FeNiX- 16.01.13 15:53 Сейчас в теме
Так сразу правильный запрос не могу сообразить.
Но суть в том, чтобы в запросе уже получить правильные значения цены. И потом в отчете оно будет правильно отображаться.
И да, это стандартные средства СКД. Просто идея состоит в том, чтобы получить данные откуда-то. А СКД может только их сгрупировать.
11. v0v 16.01.13 18:36 Сейчас в теме
(10) -FeNiX-, Оказывается, Никаких запросов не надо модифицировать, это тоже СКД!
Не скажу что все просто но все же я это сделал.
Вычисляемое поле Цена по выражению Стоимость/Количество оставил и в ресурсах врописал выражение вместо Сумма(Цена)
Вот такую формулу:
Вычислить("Сумма(Стоимость)/Сумма(Количество)","Группировка")

И получил желаемый результат!

Процитирую документацию:

Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:
· Выражение – строка, содержащая вычисляемое выражение;
· Группировка – строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
· Тип расчета — строка, В случае если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. В случае если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки. Например:

Сумма(Продажи.СуммаОборот) / Вычислить(«Сумма(Продажи.СуммаОборот)», «ОбщийИтог»)

В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке.
cargobird; bamblbi; zoikins; ilya4; inf012; Мах; savauu; RA85; Lyns_owner; +9 Ответить
12. v0v 16.01.13 19:36 Сейчас в теме
(11) v0v, Возникла маленькая неувязочка - при попытке получить расшифровку выдавало ошибку и поэтому пришлось изменить функцию в выражении ресурса
на вот эту
ВычислитьВыражение("Сумма(Стоимость)/Выбор Когда Сумма(Количество)=0 Тогда 1 Иначе Сумма(Количество) Конец
","Подразделение","Группировка")


Мануал по этой функции можно взять ОТСЮДА
cargobird; DmitryTretyakov; zoikins; levante90; EvaMendes; garaevilnur; Мах; ilya4; AnKonAlm; Gasilin; m_o; Элит; SmArtist; Maxx2008; foliage; akurmak; as7bs; mie24; +18 Ответить
15. EvaMendes 08.12.17 16:33 Сейчас в теме
(12) Делаю все так же вроде. Смотрю инфу отсюда , но получаю ошибку, что вычисляемое значение не найдено. что может быть не так?
16. user833875 09.02.18 15:54 Сейчас в теме
(15) Если в отчет добавляете <детальные записи>, нужно на вкладке "Вычисляемые поля" в "Выражение" заполнить 0
cargobird; ilya4; +2 Ответить
13. KTo 09.09.14 10:26 Сейчас в теме
Всем доброго дня! Мануал недоступен. Можно выложить куда-нибудь еще?
14. WWWolfy 132 06.04.16 21:56 Сейчас в теме
17. cargobird 306 04.04.24 15:07 Сейчас в теме
Пробовал ввести "Вычислить ..." в колонку "Выражение" на вкладке "Вычисляемые поля" - не помогло.
Взлетело когда поместил в колонку "Выражение" на вкладке "Ресурсы".
Группировку задал пустую, так как если указывал название головной, то почему-то и на подчиненных группировках выводилось то же значение.
Теперь выводится соотношение в процентах и суммарно по подразделению, и конкретно по контрагенту.
Вычислить("Сумма(ОтгрузокНеПоГрафику)/Сумма(ОтгрузокВсего) * 100","")
Оставьте свое сообщение

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