Добрый день! Можно ли получить первое значение нижней группировки в группировку выше??
---
Кароч, аффтор, ты вопсче не туда думаешь. Тебе нужно не первое значение группировки получить, а сумму НДФЛ (я так понимаю, что она везде одинаковая дальше идет, поэтому тебе пофиг, какую из них брать).

Отсюда мораль:
1. Нужно разобраться с тем, как решать данную конкретную задачу.
2. Нужно правильно задать вопрос.
3. Нужно выйти за границы тупика, в котором оказался.

Отсюда практический совет:
1. Получи отдельную таблицу с двумя колонками: сотрудник, НДФЛ2. Засунь ее в отдельный источник данных компоновки.
2. Соедини источники друг с другом по сотруднику.
3. Выводи НДФЛ в группировке из второй таблицы (НДФЛ2).
---
тебе просто нужно использовать минимум по группировкам в нужном разрезе (колонке).
Открой справку, не путай с синтаксис помощником и прочитай про ВычислитьВыражение. Там же рядом будут и другие новые функции СКД для 8.2.14
---
Да вот и дело в том что никак не могу разобраться как поступить??...поэтому и спрашиваю у вас совета))
---
я же тебе написал. Берешь функцию и ставишь нужную колонку. Что не понятно из справки?
---
Не очень вас понял, что нужно сделать??
---
нужен такой результат?
---
Нет немного не такой, в нижней группировки Суммы одинаковы и поэтому нужно любое из ниХ!
---
это не имеет значение. Берется первое значение из вложенной.
---
Отправь свой СКД, посмотрю что за проблема. Никакая решение задачи (в частности ваша задача) на СКД не может длится больше 5 часов.
---
Добрый день! Вчера не видел сообщение! Отчет прилагаю!
---
отчет можно проверить в ЗУП 2.5, УПП 1.3 и КА 1.1
---
Сейчас посмотрю :)
---
спасибо заранее))
---
Не знаю как у тебя, но у меня так работает
---
Сейчас попробую)))
---
Нет так не работает, в нижней группировке должна быть сумма т.е. по кадровому перемещению, а вот по сотруднику должно быть значение равное любому значению из нижней группировки, так как все они будут равны))
---
Суть проблемы в том что, нужно получить сумму для верхней группировки= нижней группировки!
---
просто напиши 'сумма' (а не 'Сумма(сумма)') или
```1c
    ВычислитьВыражение("Сумма", "<ИмяГруппировки>","Группировка" , "Текущая")
```
---
В таком случаи выдает ошибку!
---
Какую ошибку?
---
вернее запись выглядит вот так: ВычислитьВыражение("НДФЛ.НалогНДФЛУдержаный", "КадровоеПеремещение","Группировка" , "Текущая"), ошибку не выдает но и значение не рассчитывает((
---
проблема в том, что у меня все строки в нижней группировки одинаковы т.е. суммы!
---
Можно картинку?
---
Т.е. какую картинку??
---
скриншот отчета
---
Тебе нужно значение поля 'сумма' или 'НДФЛ.НалогНДФЛУдержаный'?
Пример для поле 'НДФЛ.НалогНДФЛУдержаный'
---
Да это то понятно)) Мне нужно получить первое значение из нижней группировки для верхней группировки! т.е у меня есть колонка НДФЛ.НалогНДФЛУдержаный для группировки Сотрудник она должна равняться нижней группировки т.е. Кадровому перемещению
---
ВычислитьВыражение("НДФЛ.НалогНДФЛУдержаный", "КадровоеПеремещение","Группировка" , "Первая")
---
Нет так вообще ничего не выводит! Вы можете написать, что конкретно обозначает каждый реквизит через запятую??
---
ВычислитьВыражение (EvalExpression)
Функция ВычислитьВыражение предназначена для вычисления выражения в контексте некоторой группировки. Функция учитывает отбор группировок, но не учитывает иерархические отборы.
Функция не может применяться к группировке в групповом отборе этой группировки.

Синтаксис:

ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка)

Параметры:

Выражение. Тип Строка. Содержит вычисляемое выражение;
Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке;

ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки.
В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.
Если параметр имеет значение "ГруппировкаНеРесурса", то при вычислении функции для групповой записи по ресурсам, выражение будет вычислено для первой групповой записи исходной группировки.
При вычислении функции ВычислитьВыражение со значением "ГруппировкаНеРесурса" для групповых записей, не являющихся группировками по ресурсам, функция вычисляется так же, как бы она вычислялась со значением параметра "Группировка".
Компоновщик макета компоновки данных при генерации макета компоновки данных при выводе в макет поля – ресурса, по которому выполняется группировка, выдает в макет выражение, вычисляемое при помощи функции ВычислитьВыражение, с указанным параметром "ГруппировкаНеРесурса". Для остальных ресурсов в группировке по ресурсу выдаются обычные выражения ресурсов.

Если параметр имеет значение "Иерархия", то выражение нужно вычислять для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется. Компоновщик макета при генерации выражения для поля "% в группе иерархии" генерирует выражение, содержащее отношение выражения ресурса к функции ВычислитьВыражение для выражения ресурса, вычисляемого для текущей группировки с типом вычисления "Иерархия".

Начало. Указывает, с какой записи нужно начинать фрагмент, в котором рассчитывать агрегатные функции выражения и из какой записи получать значения полей вне агрегатных функций. Строка, содержащая одно из:
"Первая" ("First"). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно целым быть числом, больше нуля.
Например, Первая(3) – получение третьей записи от начала группировки.
Если первая запись выходит за пределы группировки, то считается, что записей нет.
Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.
"Последняя" ("Last"). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно целым быть числом, больше нуля.
Например, Последняя(3) – получение третьей записи от конца группировки.
Если последняя запись выходит за пределы группировки, то считается, что записей нет.
Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.
"Предыдущая" ("Previous"). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки.
Например, Предыдущая(2) – получение предыдущей от предыдущей записи.
Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3)), то получается первая запись группировки.
При получении предыдущей записи для итога по группировке считается, получается первая запись.
"Следующая" ("Next"). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки.
Например, Следующая(2) – получение следующей от следующей записи.
Если следующая запись выходит за пределы группировки, то считается, что записей нет.
Например, если записей 3 и для третьей записи получают Следующая, то считается, что записей нет.
При получении следующей записи для итога по группировке считается, что записи нет.
"Текущая" ("Current"). Необходимо получить текущую запись.
При получении для итога по группировке получается первая запись.
"ОграничивающееЗначение" ("BoundaryValue"). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.
В качестве записи будет получаться первая запись, значение поля упорядочивания у которой больше или равно указанному значению.
Например, если в качестве поля упорядочивания используется поле Период, и оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.02.2010.
Конец. Указывает, до какой записи нужно продолжать фрагмент, в котором рассчитывать агрегатное выражение. Строка, содержащая одно из:
"Первая" ("First"). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Первая(3) – получение третьей записи от начала группировки.
Если первая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.
"Последняя" ("Last"). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Последняя(3) – получение третьей записи от конца группировки.
Если последняя запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.
"Предыдущая" ("Previous"). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки. Например, Предыдущая(2) – получение предыдущей от предыдущей записи.
Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3)), то считается, что записей нет.
При получении предыдущей записи для итога по группировке считается, получается последняя запись.
"Следующая" ("Next"). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки. Например, Следующая(2) – получение следующей от следующей записи.
Если следующая запись выходит за пределы группировки, получается последняя запись. Например, если записей 3 и для третьей записи получают Следующая, то получается третья запись.
При получении следующей записи для итога по группировке считается, что записи нет.
"Текущая" ("Current"). Необходимо получить текущую запись.
При получении для итога по группировке получается первая запись.
"ОграничивающееЗначение" ("BoundaryValue"). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.
В качестве записи будет получаться последняя запись, значение поля упорядочивания у которой меньше или равно указанному значению. Например, если в качестве поля упорядочивания используется поле Период, и оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.01.2010.
Сортировка. Строка, в которой перечисляются выражения, разделенные запятыми, в направлении которых нужно упорядочивать последовательность. Если не указана, то упорядочивание выполняется также как и у группировки, для которой вычисляется выражение. После каждого выражения можно указать ключевое слово Возр, для упорядочивания по возрастанию, Убыв, для упорядочивания по убывания, Автоупорядочивание, для упорядочивания ссылочных полей по полям, по которым нужно упорядочивать объект, на который выполняется ссылка. Слово Автоупорядочивание может использоваться как со словом Возр, так и со словом Убыв.
ИерархическаяСортировка. Аналогично сортировке. Применяется для упорядочивания иерархических записей. Если не указано, компоновщик макета генерирует упорядочивание в соответствии с упорядочиванием, указанным в параметре Сортировка.
ОбработкаОдинаковыхЗначенийПорядка. Строка, содержащее одно из:
"Вместе" ("Together") - обозначает, что для определения предыдущей и следующей записей используется последовательность упорядоченных записей;
"Отдельно" ("Separately") - обозначает, что предыдущая и следующие записи определяются на основании значений выражений упорядочивания;
Например, если полученная последовательность упорядочена по дате:

1. 01 января 2001 Иванов М. 10
2. 02 января 2001 Петров С. 20
3. 02 января 2001 Сидоров Р. 30
4. 03 января 2001 Петров С. 40

При использовании обработки одинаковых значений порядка "Отдельно", предыдущей к записи 3 будет запись 2, а при использовании "Вместе" - запись 1. А фрагментом для текущей записи к записи 2 для "Отдельно" будет запись 2, а для "Вместе" - записи 2 и 3. Таким образом, сумма по текущей записи для "Отдельно" составит 20, а для "Вместе" - 50.

При указанном "Вместе" в параметрах Начало и Конец нельзя указывать смещение для позиций "Первая", "Последняя", "Предыдущая", "Следующая".

Значение по умолчанию "Отдельно".

Примечания:

Функция учитывает отбор группировок, но не учитывает иерархические отборы.

Функция не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение("Сумма(СуммаОборот)", , "ОбщийИтог") > 1000. Но такое выражение можно использовать в иерархическом отборе.

Если конечная запись предшествует начальной, то считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.

При расчете интервальных выражений для общего итога (параметр Группировка имеет значение "ОбщийИтог") считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.

Компоновщик макета при генерации выражения функции ВычислитьВыражение, в случае если выражение упорядочивания содержит поля, которые не могут быть использованы в группировке, заменяет функцию ВычислитьВыражение на NULL.
---
Все равно не понятно, почему не могу получить первое значение нижней группировки??
---
Напиши
```1c
    Вычислить("НДФЛ.НалогНДФЛУдержаный", "КадровоеПеремещение")
```
 и посмотри на ошибку
---
Отчет не сформирован, выражение не может быть вычислено!
---
Попробуй получать поле 'НДФЛ.НалогНДФЛУдержаный' без точки (в запросе или в 'Вычисляемые поля'), а потом напиши функция 'Вычислить' для нового поля
---
уже второй день борюсь с этой фигней, но все никак не могу победить((
---
Что за проблема?
Сделай как на рисунке (прикрепленный). Если не получается в запросе выбери не только поле 'НДФЛ' но и 'НДФЛ.НалогНДФЛУдержаный КАК НалогНДФЛУдержаный' и в выражении ставь: Вычислить("НалогНДФЛУдержаный", "КадровоеПеремещение")
---
уважаемый пора понимать что пишет справка! Скил в разы подымите.
Поясняю:
ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка)
Выражение: "Минимум(РесурсПоКоторомуСчитаем)"
Группировка: "НазваниеГруппировкиЕслиНужноМожноЧерезЗапятуюНужноеКоличест­во"

Ну и все.
---
Да это я все понимаю, только дело то в другом, что я не могу получить нужный мне результат((
---
Помогите уже голову сломал(( Знаю что можно как то получить с помощью функций ВычислитьВыражение, но пока не могу разобраться(( Помогите))
---
Я пишу: ВычислитьВыражение("Сумма", "КадровоеПеремещение","Группировка" , "Текущая")
---
Сейчас выводит так, а мне нужно чтобы взял первую сумму из нижней группировки т.е. вместо 18282 должно 9141
---
Теперь что в колонке ''Выражение" (в окне 'Ресурсы')?
---
Все тоже самое получается(((
---
мне кажется, что проще будет когда НалогНДФЛУдержаный в самом запросе будет соединяться с сотрудником и выводится как реквизит, а не ресурс
---
т.е. если вы посмотрите на скрин присланный мной выше, то видно что суммы одинаковы, и мне нужен не их итог, а любое из них!
---
смотрим внимательно мой скрин. Колонка Остаток
---
вот с выводом колонки Остатки детальный.
Колонка КоличествоОстаток выводится для примера как было бы стандартно. Остаток как нужно.
---
Ну на первый взгляд вроде то что надо))
---
и как сделать так чтобы он так выводился??
---
в (34) второй и третий скрин
---
нифига и так не получается потому что у меня нижняя группировка состоит из еще одной группировки, а там суммы другие. Короче если често уж не знаю как и делать(((
---
Я уже все перепробовал((
---
```1c
    Максимум(ВычислитьВыражениеСГруппировкойМассив("Сумма(НДФЛ.НалогНДФЛУдержаный)", "КадровоеПеремещение"))
```
---
Кароч, аффтор, ты вопсче не туда думаешь. Тебе нужно не первое значение группировки получить, а сумму НДФЛ (я так понимаю, что она везде одинаковая дальше идет, поэтому тебе пофиг, какую из них брать).

Отсюда мораль:
1. Нужно разобраться с тем, как решать данную конкретную задачу.
2. Нужно правильно задать вопрос.
3. Нужно выйти за границы тупика, в котором оказался.

Отсюда практический совет:
1. Получи отдельную таблицу с двумя колонками: сотрудник, НДФЛ2. Засунь ее в отдельный источник данных компоновки.
2. Соедини источники друг с другом по сотруднику.
3. Выводи НДФЛ в группировке из второй таблицы (НДФЛ2).
---
Да действительно так получилось, Спасибо))) А вот как теперь быть с общим итогом и группировкой по организации, тоже ничего не получается))
---
а что нужно в общем итоге и в организации? просто сумма или что?
---
Теперь нужна сумма полученная по сотрудникам))
---
Всем Спасибо вопрос решил, добавлением нового набора данных, в котором рассчитал суммы.
---
Указав решение, но не выделив ему премию, а вернув себе, по меньшей мере не правильно.
И на будущее, указывайте сразу все нюансы. Просто нет желания помогать, когда требования возникают по мере решения.