|
Общие итоги для вычисляемых полей в СКД | ☑ | ||
---|---|---|---|---|
0
sonGodv
06.05.15
✎
12:04
|
Коллеги, помогите пожалуйста решит задачу с общими итогами в СКД
Сделал в отчете вычисляемые поля, поля считаются нормально, а вот общие итоги по ним никак. Какие-то средние значения выходят Пробовал разные способы, может какой-то не довел до конца. |
|||
1
zenik
06.05.15
✎
12:23
|
мало информации...
|
|||
2
1976vas
06.05.15
✎
12:27
|
(0) А в ресурсы их засунул?
|
|||
3
sonGodv
06.05.15
✎
12:41
|
(2) Поле рассчитывается так
ПФРОборот*(Начислено/ Вычислить("Сумма(Начислено)", "Группировка","Группировка")) В ресурсе указываю Сумма(ПФР) Здесь картинки как-то цепляются или нет? |
|||
4
1976vas
06.05.15
✎
12:50
|
(3) На любой фотохостинг заливаешь картинку и сюда ссылку. Покажи настройки отчета.
|
|||
5
sonGodv
06.05.15
✎
13:31
|
Сам отчет - https://cloud.mail.ru/public/3kuHzGrSLPzG/2015-05-04_141321.png
Вычисляемые поля - https://cloud.mail.ru/public/33Y9yF4JbNsw/2015-05-04_141455.png Настройки - https://cloud.mail.ru/public/2KVDCRvmAsdG/2015-05-06_122556.png Ресурсы - https://cloud.mail.ru/public/4hdRwdvY4FV9/2015-05-06_123104.png |
|||
6
1976vas
06.05.15
✎
13:56
|
(5) Никогда не сталкивался, интересная функция, а пробовал Общие итоги вместо группировка?
|
|||
7
ЧеловекДуши
06.05.15
✎
14:23
|
(0) Общих итогов может быть несколько по одному и тому же полю. Поиграйся галочкой в ресурсах "Рассчитать По..."
В одном случае ставишь "Все поля, кроме Итогов" В другом, только Итог |
|||
8
sonGodv
06.05.15
✎
14:43
|
(7) Да вроде пробовал
|
|||
9
1976vas
06.05.15
✎
15:51
|
(8) Попробуй ПФРОборот*(Начислено/ Вычислить("Сумма(Начислено)", "ОбщийИтог")) и рассчитывать по - Сотрудник.
|
|||
10
sonGodv
07.05.15
✎
08:54
|
(9) К сожалению не помогло
Если добавить в ресурсы, то получается по сотруднику итог не корректный - 10939 Если добавить в вычисляемые поля и затем в ресурсах рассчитать по сотруднику, то общий итог 94 121,22 распределяется на все строки |
|||
11
1976vas
07.05.15
✎
09:00
|
(10) Блин, вряд ли кто в реале сталкивался с этой функцией, вчера просмотрел и видео Гилева и интернет прошарил, ничего внятного. Только пробовать различные комбинации, все равно должно получиться.
|
|||
12
Kvant1C
07.05.15
✎
09:04
|
(5) ПФРОборот и все остальное - что это? Откуда берется?
|
|||
13
sonGodv
07.05.15
✎
09:21
|
(12) Вот из этого запроса
ВЫБРАТЬ БУОсновныеНачисления.СубконтоКтНУ2, БУОсновныеНачисления.ВидРасчета, БУОсновныеНачисления.Результат, БУОсновныеНачисления.СчетДтНУ, БУОсновныеНачисления.СубконтоДтНУ1, БУОсновныеНачисления.СчетКтНУ, БУОсновныеНачисления.Сотрудник.Физлицо КАК Сотрудник ПОМЕСТИТЬ ВТ_Начисления ИЗ РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления ГДЕ БУОсновныеНачисления.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ БУДополнительныеНачисления.СубконтоКтНУ2, БУДополнительныеНачисления.ВидРасчета, БУДополнительныеНачисления.Результат, БУДополнительныеНачисления.СчетДтНУ, БУДополнительныеНачисления.СубконтоДтНУ1, БУДополнительныеНачисления.СчетКтНУ, БУДополнительныеНачисления.Сотрудник.Физлицо ИЗ РегистрРасчета.БУДополнительныеНачисления КАК БУДополнительныеНачисления ГДЕ БУДополнительныеНачисления.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СтраховыеВзносыИсчисленныеОбороты.ФССОборот КАК ФССОборот, СтраховыеВзносыИсчисленныеОбороты.ФФОМСОборот КАК ФФОМСОборот, СтраховыеВзносыИсчисленныеОбороты.ФССНесчастныеСлучаиОборот КАК ФССНесчастныеСлучаиОборот, СтраховыеВзносыИсчисленныеОбороты.ПФРПоСуммарномуТарифуОборот КАК ПФРПоСуммарномуТарифуОборот, СтраховыеВзносыИсчисленныеОбороты.ФизЛицо КАК Сотрудник, ВТ_Начисления.ВидРасчета, ВТ_Начисления.Результат, ВТ_Начисления.СубконтоДтНУ1, ВТ_Начисления.СубконтоКтНУ2, ВТ_Начисления.СчетДтНУ, ВТ_Начисления.СчетКтНУ, СтраховыеВзносыИсчисленныеОбороты.Регистратор, СтраховыеВзносыИсчисленныеОбороты.ПериодСекунда, СтраховыеВзносыИсчисленныеОбороты.ПериодДень ИЗ РегистрНакопления.СтраховыеВзносыИсчисленные.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК СтраховыеВзносыИсчисленныеОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Начисления КАК ВТ_Начисления ПО СтраховыеВзносыИсчисленныеОбороты.ФизЛицо = ВТ_Начисления.Сотрудник |
|||
14
sonGodv
07.05.15
✎
09:29
|
(11) Да, конечно. Поэтому и пробую разные варианты. Изучал типовые ошибки при расчете итогов. ПО книге Хрусталевой и на ИТС.
Пока не получилось |
|||
15
Kvant1C
07.05.15
✎
09:32
|
(13) Ну и где у тебя ПФРОборот ?
|
|||
16
sonGodv
07.05.15
✎
09:37
|
(15) ПФРПоСуммарномуТарифуОборот в компоновке указываю Путь и автозаголовок как ПФРОброт
|
|||
17
Kvant1C
07.05.15
✎
09:40
|
(16) Ну а сам то запрос правильные данные возвращает?
|
|||
18
1976vas
07.05.15
✎
09:42
|
(17) Там все правильно, кроме общих итогов по вычисляемым полям.
|
|||
19
sonGodv
07.05.15
✎
09:43
|
(17) Да, но в запросе ничего не вычисляется. Смысл как-раз в том, чтобы посчитать сколько взносов падает на каждый вид выплаты
|
|||
20
Kvant1C
07.05.15
✎
09:44
|
(19) Начислено откуда берется?
|
|||
21
sonGodv
07.05.15
✎
09:46
|
(20) Из двух регистров расчета БУОсновныеНачисления.Результат и БУДополнительныеНачисления.Результат
|
|||
22
sonGodv
07.05.15
✎
09:47
|
Затем они объединяются в виртуальную таблицу - ВТ_Начисления.Результат
|
|||
23
sonGodv
07.05.15
✎
09:49
|
Я пробовал сделать два набора данных в компоновке. Результат такой-же
|
|||
24
Kvant1C
07.05.15
✎
09:54
|
А теперь открой секрет, что такое "Группировка" в Вычислить("Сумма(Начислено)", "Группировка","Группировка") ?
|
|||
25
sonGodv
07.05.15
✎
10:10
|
(24) Вычислить сумму Начислено по полю - Группировка в моем примере это Сотрудник
и выполнить это в пределах группировки. Посмотри скрин там видно как это работает Сам отчет - https://cloud.mail.ru/public/3kuHzGrSLPzG/2015-05-04_141321.png |
|||
26
Kvant1C
07.05.15
✎
10:20
|
(25) Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.
Синтаксис: Вычислить(Выражение, Группировка, ТипРасчета) Параметры: Выражение. Тип Строка. Содержит вычисляемое выражение; Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например: Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог") В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке. ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки. Где у тебя Группировка с именем "Группировка"? |
|||
27
1976vas
07.05.15
✎
10:23
|
(26) Это стандартный параметр 1с, как ОбщийИтог
|
|||
28
Kvant1C
07.05.15
✎
10:26
|
(27) >>Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
Ну и где твой стандартный параметр? |
|||
29
1976vas
07.05.15
✎
10:28
|
(28) В справке нет, есть в гугле, но нашел только для ВычислитьВыражение() - их на самом деле около десятка.
|
|||
30
1976vas
07.05.15
✎
10:30
|
· ОбщийИтог — выражение будет вычисляться для всех записей группировки.
· Иерархия — выражение будет вычисляться для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется. · Группировка — выражение будет вычисляться для текущей групповой записи группировки. · ГруппировкаНеРесурса — при вычисление функции для групповой записи по ресурсам, выражение будет вычислено для первой групповой записи исходной группировки. |
|||
31
1976vas
07.05.15
✎
10:31
|
(29) Ну, чуть меньше )
|
|||
32
ИС-2
naïve
07.05.15
✎
10:33
|
если в ресурсе указать сумма(ПФРОборот*(Начислено/ Вычислить("Сумма(Начислено)", "Группировка","Группировка")) )
|
|||
33
1976vas
07.05.15
✎
10:33
|
а вообще вру, это для третьего параметра, про второй этого не сказано.
|
|||
34
sonGodv
07.05.15
✎
15:31
|
(28) Я указывал, вместо второго параметра "Группировка", "Сотрудник", предварительно установил имя для группировки в настройках, результат тот же.
Вычислить("Сумма(Начислено)", ,"Группировка") = если так, результат не меняется Вычислить("Сумма(Начислено)", "Группировка",) = результат равен Сумма(Начислено) |
|||
35
Kvant1C
07.05.15
✎
15:40
|
(34) А если так Вычислить("Сумма(Начислено)","","Группировка")
|
|||
36
sonGodv
07.05.15
✎
16:12
|
Тогда
{Форма.Форма.Форма(409)}: Ошибка при вызове метода контекста (Следующий) ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Выражение не может быть вычислено "Сумма(НаборДанных1.Начислено), " |
|||
37
DCKiller
08.05.15
✎
07:54
|
Засунь вычисление этой хрени в текст запроса и не парься.
|
|||
38
1976vas
08.05.15
✎
07:59
|
(37) А нет же итогов в запросе в СКД?
|
|||
39
DCKiller
08.05.15
✎
08:01
|
(38) Я говорю, вот это всё - https://cloud.mail.ru/public/33Y9yF4JbNsw/2015-05-04_141455.png - пусть вычисляется в запросе.
|
|||
40
1976vas
08.05.15
✎
08:09
|
(39) Хорошо, спасибо, может ТС поможет.
|
|||
41
sonGodv
08.05.15
✎
08:22
|
(39) Да, думаю попробовать считать в запросе
|
|||
42
ЧеловекДуши
08.05.15
✎
08:26
|
(41) Выложи свой отчет. Дай народу посмотреть, что ты там не можешь.
Сдается мне, что ты вообще все делаешь не так :) |
|||
43
ЧеловекДуши
08.05.15
✎
08:26
|
Можешь на яндекс диск или Майл Диск
|
|||
44
wildwilduser
08.05.15
✎
08:36
|
в ресурсах новая строка с ПФП
попробуй Расчитывать по поставить только ОбщийИтог в Выражении Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(ПФР)",Сотрудник)) идея посчитать в массив суммы по группам Сотрудник потом этот массив сложить. |
|||
45
sonGodv
08.05.15
✎
09:04
|
||||
46
sonGodv
08.05.15
✎
09:06
|
(44) Попробовал, так Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(ПФР)","Сотрудник"))
Результат такой же получил |
|||
47
wildwilduser
08.05.15
✎
09:31
|
(46)
в отдельную колонку результат от этого ВычислитьВыражениеСГруппировкойМассив("Сумма(ПФР)",Сотрудник) вывести, что получается? |
|||
48
sonGodv
08.05.15
✎
09:43
|
(47) Как? В вычисляемых полях у нас нет Сумма(ПФР)
|
|||
49
sonGodv
08.05.15
✎
09:46
|
У меня вроде получается один способ.
В общий итог по полю ПФР подставить Сумма(ПФРОборот) Ведь в результате Сумма(ПФР)=Сумма(ПФРОборот) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |