Заполнение выражения СКД

1. SantiouS 18.06.20 08:46 Сейчас в теме
Подскажите что нужно прописать в выражение СКД для того что бы по группировке номенклатура ресурс "количество" был выведен сразу суммовой. Прилагаю картинку желаемого результата.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
12. toypaul 63 18.06.20 11:07 Сейчас в теме
(11) Тут все просто получается

ВычислитьВыражение("ВыражениеРесурса", "РодительскаяГруппировка")

у меня например так

ВычислитьВыражение("Сумма(СуммаОборот)","Контрагент")

при группировках

Строки
Контрагент
- Номенклатура
Колонки
Период
SantiouS; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. alex-l19041 8 18.06.20 09:50 Сейчас в теме
(1) думаю такое надо делать на уровне запроса
5. SantiouS 18.06.20 09:54 Сейчас в теме
(4) Рассчитать количество по "признаку1" и "признаку2" в запросе не проблема. Проблема в том что этого, на мой взгляд, будет недостаточно, так как отчёт ещё разбивается на колонки по месяцам. Получается что нужно в запросе для всех признаков по каждому месяцу выполнять расчёт и как то соединять. Не могу представить себе это.
6. toypaul 63 18.06.20 10:26 Сейчас в теме
(4) это более надежный вариант. а так зависит от группировок.
7. SantiouS 18.06.20 10:31 Сейчас в теме
(6) Вы мне подсказывали когда то вариант выражения для этого же отчёта. Запросом думал как сделать, но не получается. Ещё это связанно с тем что само "количество" вычисляется в поле выражения.
8. SantiouS 18.06.20 10:33 Сейчас в теме
(6) У меня вычисляется среднесуточная реализация по весу по ресурсу с выражением:
Сумма(ВесРеализацияСреднесуточно)/ВычислитьВыражение("
	Максимум(
		ВычислитьВыражениеСГруппировкойМассив(""
				Сумма(
						ВычислитьВыражениеСГруппировкойМассив (
							""""Максимум(КоличествоДней)"""", """"МесяцДокумента""""
						)
					)"",""Номенклатура""
			)
		)	
","","ОбщийИтог")
Показать


И вот теперь смысл в том что бы вычислить процент веса от общей реализации на ТТ.
10. toypaul 63 18.06.20 10:57 Сейчас в теме
(8) Пример для простой таблицы с простым ресурсом могу дать. Если ресурс базовый вычисляется через одно место, слишком долго - тут уже самостоятельно
11. SantiouS 18.06.20 11:01 Сейчас в теме
(10) Для простой таблицы было бы отлично. Я сам смогу интерпретировать.
Можно даже на примере с количеством, которое закреплено в шапке вопроса.
Буду очень благодарен.
12. toypaul 63 18.06.20 11:07 Сейчас в теме
(11) Тут все просто получается

ВычислитьВыражение("ВыражениеРесурса", "РодительскаяГруппировка")

у меня например так

ВычислитьВыражение("Сумма(СуммаОборот)","Контрагент")

при группировках

Строки
Контрагент
- Номенклатура
Колонки
Период
SantiouS; +1 Ответить
13. SantiouS 18.06.20 11:27 Сейчас в теме
(12) Круто, получилось на простом ресурсе.
Подскажите пожалуйста, вложил в аналогичное вычисление вычисляемый ресурс и получаю ошибку "Использование вложенных агрегатных функций не допускается). В какую сторону смотреть:

ВычислитьВыражение("Сумма(
Сумма(ВесРеализацияСреднесуточно)/ВычислитьВыражение(""
	Максимум(
		ВычислитьВыражениеСГруппировкойМассив(""""
				Сумма(
						ВычислитьВыражениеСГруппировкойМассив (
							""""""""Максимум(КоличествоДней)"""""""", """"""""МесяцДокумента""""""""
						)
					)"""",""""Номенклатура""""
			)
		)	
"","""",""ОбщийИтог"")
", "ТорговаяТочка",)
Показать
14. toypaul 63 18.06.20 11:35 Сейчас в теме
(13) в другую сторону. это уже не обойти
15. SantiouS 18.06.20 11:41 Сейчас в теме
(14) Я понял что ошибка из за того что в "ВычислитьВыражение" используется "Сумма(ВесРеализацияСреднесуточно)". Если убрать функцию "Сумма(), то все отбработается, но уже некорректно (логично).
Не могли бы Вы объяснить почему нельзя использовать данную функцию в вычислить выражение?
(я понимаю что это тупик, но просто хочу понять смысл ошибки)
16. toypaul 63 18.06.20 12:04 Сейчас в теме
(15)
Не могли бы Вы объяснить почему нельзя использовать данную функцию в вычислить выражение?


это только в 1С могут объяснить. почему нельзя нигде не написано.
17. SantiouS 18.06.20 12:38 Сейчас в теме
(16) Понял, спасибо за помощь. Полный тупик. Запросом вычислить не могу так как параметр для вычисления вычисляется уже после запроса в СКД, а в СКД вычислить не могу из за ограничения по полу выражения.
Один вариант это писать отчёт СКД с типо "Объект". Кодом формировать таблицу и уже в СКД "оформлять", но данный отчёт уже настолько огромен и для такой массы ситуаций что это не имеет смысла тратить время на переработку всего.
1с ставит в тупик. Печально, так как потратил на данную задачу уже 8 часов, а решения нет.
18. toypaul 63 18.06.20 13:47 Сейчас в теме
(17) игры с ВычислитьВыражение часто могут завести в тупик. Так что когда начинаешь этим заниматься, должен быть уверен в результаты. В набор данных объект перенести - правильная мысль.

я не понимаю до конца сути всех расчетов (и понимать не хочу), но может получится перенести последнее ВычислитьВыражение внутрь формулы А/Б? не ВычислитьВыражение(А / Б), а ВычислитьВыражение(А) / ВычислитьВыражение(Б)
19. SantiouS 18.06.20 14:06 Сейчас в теме
(18) Как я понял, то Вы предлагаете раскрыть скобки, но это не уберет ведь ошибку, так как Сумма() остаётся внутри выражения (выделил жирным):
ВычислитьВыражение("Сумма("Сумма(ВесРеализацияСреднесуточно)")/ВычислитьВыражение(...)

Отчёт настроенный СКД+набор данных "запрос" больше подходит для формирования данных уже имеющихся в БД 1с8 и максимум комфортно может производить простые вычисления (как я понял по своему опыту работы с отчётами СКД).
Для расчёта процентов от группировок и др. много зависимых параметров он не подходит, так как полные и удобные возможности расчёта даёт только код 1с.
И тут дело доходит до конечной цели инструмента (отчёта) для конечного пользователя, который хочет "то не знаю что". В итоге, ставиться начальная задача для разработки отчёта и по ней определяется способ разработки - подходит запрос + настройка СКД = используем, так как быстро и удобно, нет - мучимся с объектами. Так вот есть задача, которую можно выполнить без объекта = выполнено = все довольны, но потом начинается "хочу", которое иногда заставляет "городить огород", что бы не переделывать всё сделанное до этого, однако в какой то момент есть риск прийти к невозможности развития существующего решения и тут уже наступает момент печали, так как из за какой то мелкой задачи возникает ситуация переработки всего, что выполнено до этого. И вот как с этим бороться я пока не знаю)
9. SantiouS 18.06.20 10:41 Сейчас в теме
(6) Может есть какая то возможность вычислить (возьму свой реальный пример уже)" вес всех номенклатур по ТТ и получить его в каждой строке номенклатуры?
Я справку СКД уже обчитался...
Вот такой отчёт и структура:
Прикрепленные файлы:
2. CbIHok 18.06.20 08:58 Сейчас в теме
3. SantiouS 18.06.20 08:59 Сейчас в теме
(2) Это подзадача более крупной задачи.
Оставьте свое сообщение

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