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

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


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

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

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

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

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

В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке.
bamblbi; zoikins; ilya4; inf012; Мах; savauu; RA85; Lyns_owner; +8 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
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-, Оказывается, Никаких запросов не надо модифицировать, это тоже СКД!
Не скажу что все просто но все же я это сделал.
Вычисляемое поле Цена по выражению Стоимость/Количество оставил и в ресурсах врописал выражение вместо Сумма(Цена)
Вот такую формулу:
Вычислить("Сумма(Стоимость)/Сумма(Количество)","Группировка")

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

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

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

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

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


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

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)