Пример использования функции СКД "ВычислитьВыражениеСГруппировкойМассив()"

06.08.17

Разработка - СКД

Небольшой пример использования функции СКД "ВычислитьВыражениеСГруппировкойМассив()"

Наверное многим, как и мне, попадалась на глаза данная функция, но вот до практического применения  дело все никак не доходило. И вот наконец свершилось! 

А дело было так:

Необходимо было сделать мне упр. отчет, где требовалось для одного поля с вычисляемом выражении (в выражении использовались агрегатные функции) получить итоги только по положительным значениям.

Вот пример:

Где "СумарнаяПроизводительностьАвтоприемов" и "GPH" поля с разных наборов данных.

 Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов)

В группировках требовался итог только положительных значений. Но в таком виде по некоторым группировках верхнего уровня итог был 0.

Выбор Когда Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) < Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Тогда 0 
     Иначе  Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Конец 

Что только не пробовал даже так )

Сумма(Выбор Когда Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) < Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Тогда 0 
     Иначе  Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов) Конец)

Желаемого результата как раз получилось добиться через функцию "ВычислитьВыражениеСГруппировкойМассив"

 Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) - Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов)","ОбъектРемонта,ПериодДень" , , "Сумма(СумарнаяПроизводительностьАвтоприемов *  24  * &К1) > Сумма(GPH/60/60 * СумарнаяПроизводительностьАвтоприемов)"))

Вступайте в нашу телеграмм-группу Инфостарт

ВычислитьВыражениеСГруппировкойМассив СКД Использование вложенных агрегатных функций не допускается

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    244686    1341    419    

1122

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    4694    262    shapa_pro    25    

64

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    15235    ovetgana    112    

105

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

01.07.2025    8961    krasnoshchekovpavel    5    

66

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8174    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    15379    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    12994    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9398    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. awk 745 07.08.17 16:36 Сейчас в теме
А можно нормально писать? А то у меня картинка с летчиком в голове...
Manticor; chembulatov76; user1076047; top_1c; +4 Ответить
2. SeverBaP 5 07.08.17 16:53 Сейчас в теме
ВычислитьВыражениеСГруппировкойМассив от данной функции когда-то болела голова из-за отсутствия примеров.... побольше таких примеров,
user1076047; Gang031; kote; +3 Ответить
3. Olenevod 36 21.09.17 22:07 Сейчас в теме
Лет пять назад тоже ломал голову над схожей задачей, но не решил из-за недостатка опыта. Всякие такие штучки СКД иногда легко могут решить заковыристые условия отчета.
Действительно побольше бы таких примеров. Плюс.
4. Hans 3 29.03.18 14:16 Сейчас в теме
Не мог пример свой упростить без твоей предметной области?
NittenRenegade; chembulatov76; user1076047; eeeio; +4 Ответить
5. Hans 3 29.03.18 14:17 Сейчас в теме
Только автору и понятно что он написал.
maxim_ternavsky; Manticor; _Sedoy; BomjBandit; chembulatov76; user1076047; K_Sergei; top_1c; +8 Ответить
6. tireal 75 30.03.18 08:40 Сейчас в теме
(5) за всех то не говори, и не переживай ты так наберешься опыта поймешь и ты, наверное, надеюсь. И вот тогда напишешь все так чтобы всем всем было понятно, а пока извини пусть будет уж так.
7. Hans 3 30.03.18 12:12 Сейчас в теме
(6) Ты уверен что так оно кому нибудь нужно?
user1076047; +1 Ответить
8. Fruit83 28 25.08.18 21:30 Сейчас в теме
(7) Синтаксис:
ВычислитьВыражениеСГруппировкойМассив(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>).

В Выражение у автора записан некий расчет Показатели1 - Показатели2
ВыражениеПолейГруппировки указывается ОбъектРемонта,ПериодДень. На скрине это Дата и различные Автоприемы.
В ОтборЗаписей пусто
А через ОтборГруппировок он как бы указал "выбрать из Выражения только те записи, где Показатели1 > Показатели2
9. top_1c 3959 28.01.19 05:54 Сейчас в теме
Через гугл перешёл, думал тут пример а тут взорви мозг :))
user1800274; maxim_ternavsky; BomjBandit; chembulatov76; user1076047; DoReMi; +6 Ответить
Для отправки сообщения требуется регистрация/авторизация