Общие итоги для вычисляемых полей в СКД #742066


#0 by sonGodv
Коллеги, помогите пожалуйста решит задачу с общими итогами в СКД Сделал в отчете вычисляемые поля, поля считаются нормально, а вот общие итоги по ним никак. Какие-то средние значения выходят Пробовал разные способы, может какой-то не довел до конца.
#1 by zenik
мало информации...
#2 by 1976vas
А в ресурсы их засунул?
#3 by sonGodv
Поле рассчитывается так ПФРОборот*(Начислено/ Вычислить("Сумма(Начислено)", "Группировка","Группировка")) В ресурсе указываю Сумма(ПФР) Здесь картинки как-то цепляются или нет?
#4 by 1976vas
На любой фотохостинг заливаешь картинку и сюда ссылку. Покажи настройки отчета.
#5 by sonGodv
Сам отчет - Вычисляемые поля - Настройки - Ресурсы -
#6 by 1976vas
Никогда не сталкивался, интересная функция, а пробовал Общие итоги вместо группировка?
#7 by ЧеловекДуши
Общих итогов может быть несколько по одному и тому же полю. Поиграйся галочкой в ресурсах "Рассчитать По..." В одном случае ставишь "Все поля, кроме Итогов" В другом, только Итог
#8 by sonGodv
Да вроде пробовал
#9 by 1976vas
Попробуй ПФРОборот*(Начислено/ Вычислить("Сумма(Начислено)", "ОбщийИтог")) и рассчитывать по - Сотрудник.
#10 by sonGodv
К сожалению не помогло Если добавить в ресурсы, то получается по сотруднику итог не корректный - 10939 Если добавить в вычисляемые поля и затем в ресурсах рассчитать по сотруднику, то общий итог 94 121,22 распределяется на все строки
#11 by 1976vas
Блин, вряд ли кто в реале сталкивался с этой функцией, вчера просмотрел и видео Гилева и интернет прошарил, ничего внятного. Только пробовать различные комбинации, все равно должно получиться.
#12 by Kvant1C
ПФРОборот и все остальное - что это? Откуда берется?
#13 by sonGodv
Вот из этого запроса ВЫБРАТЬ     БУОсновныеНачисления.СубконтоКтНУ2,     БУОсновныеНачисления.ВидРасчета,     РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления ГДЕ     БУОсновныеНачисления.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода ОБЪЕДИНИТЬ ВСЕ ИЗ     РегистрРасчета.БУДополнительныеНачисления КАК БУДополнительныеНачисления ГДЕ     БУДополнительныеНачисления.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода ;     СтраховыеВзносыИсчисленныеОбороты.ПериодДень
#14 by sonGodv
Да, конечно. Поэтому и пробую разные варианты. Изучал типовые ошибки при расчете итогов. ПО книге Хрусталевой и на ИТС. Пока не получилось
#15 by Kvant1C
Ну и где у тебя ПФРОборот ?
#16 by sonGodv
ПФРПоСуммарномуТарифуОборот в компоновке указываю Путь и автозаголовок как ПФРОброт
#17 by Kvant1C
Ну а сам то запрос правильные данные возвращает?
#18 by 1976vas
Там все правильно, кроме общих итогов по вычисляемым полям.
#19 by sonGodv
Да, но в запросе ничего не вычисляется. Смысл как-раз в том, чтобы посчитать сколько взносов падает на каждый вид выплаты
#20 by Kvant1C
Начислено откуда берется?
#21 by sonGodv
Из двух регистров расчета БУОсновныеНачисления.Результат и БУДополнительныеНачисления.Результат
#22 by sonGodv
Затем они объединяются в виртуальную таблицу - ВТ_Начисления.Результат
#23 by sonGodv
Я пробовал сделать два набора данных в компоновке. Результат такой-же
#24 by Kvant1C
А теперь открой секрет, что такое "Группировка" в Вычислить("Сумма(Начислено)", "Группировка","Группировка") ?
#25 by sonGodv
Вычислить сумму Начислено по полю - Группировка в моем примере это Сотрудник и выполнить это в пределах группировки. Посмотри скрин там видно как это работает Сам отчет -
#26 by Kvant1C
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Синтаксис: Параметры: Выражение. Тип Строка. Содержит вычисляемое выражение; Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например: Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог") В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке. ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки. Где у тебя Группировка с именем "Группировка"?
#27 by 1976vas
Это стандартный параметр 1с, как ОбщийИтог
#28 by Kvant1C
>>Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Ну и где твой стандартный параметр?
#29 by 1976vas
В справке нет, есть в гугле, но нашел только для ВычислитьВыражение - их на самом деле около десятка.
#30 by 1976vas
·        ОбщийИтог — выражение будет вычисляться для всех записей группировки. ·        Иерархия — выражение будет вычисляться для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется. ·        Группировка — выражение будет вычисляться для текущей групповой записи группировки. ·        ГруппировкаНеРесурса — при вычисление функции для групповой записи по ресурсам, выражение будет вычислено для первой групповой записи исходной группировки.
#31 by 1976vas
Ну, чуть меньше )
#32 by ИС-2
если в ресурсе указать сумма(ПФРОборот*(Начислено/ Вычислить("Сумма(Начислено)", "Группировка","Группировка")) )
#33 by 1976vas
а вообще вру, это для третьего параметра, про второй этого не сказано.
#34 by sonGodv
Я указывал, вместо второго параметра "Группировка", "Сотрудник", предварительно установил имя для группировки в настройках, результат тот же. Вычислить("Сумма(Начислено)", ,"Группировка") = если так, результат не меняется Вычислить("Сумма(Начислено)", "Группировка",) = результат равен Сумма(Начислено)
#35 by Kvant1C
А если так Вычислить("Сумма(Начислено)","","Группировка")
#36 by sonGodv
Тогда {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Следующий)         ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий; по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Выражение не может быть вычислено "Сумма(НаборДанных1.Начислено),  "
#37 by DCKiller
Засунь вычисление этой хрени в текст запроса и не парься.
#38 by 1976vas
А нет же итогов в запросе в СКД?
#39 by DCKiller
Я говорю, вот это всё - - пусть вычисляется в запросе.
#40 by 1976vas
Хорошо, спасибо, может ТС поможет.
#41 by sonGodv
Да, думаю попробовать считать в запросе
#42 by ЧеловекДуши
Выложи свой отчет. Дай народу посмотреть, что ты там не можешь. Сдается мне, что ты вообще все делаешь не так :)
#43 by ЧеловекДуши
Можешь на яндекс диск или Майл Диск
#44 by wildwilduser
в ресурсах новая строка с ПФП попробуй Расчитывать по поставить только ОбщийИтог в Выражении Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(ПФР)",Сотрудник)) идея посчитать в массив суммы по группам Сотрудник потом этот массив сложить.
#45 by sonGodv
Вот отчет
#46 by sonGodv
Попробовал, так Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(ПФР)","Сотрудник")) Результат такой же получил
#47 by wildwilduser
в отдельную колонку результат от этого ВычислитьВыражениеСГруппировкойМассив("Сумма(ПФР)",Сотрудник) вывести, что получается?
#48 by sonGodv
Как? В вычисляемых полях у нас нет Сумма(ПФР)
#49 by sonGodv
У меня вроде получается один способ. В общий итог по полю ПФР подставить Сумма(ПФРОборот) Ведь в результате Сумма(ПФР)=Сумма(ПФРОборот)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С