Имя: Пароль:
1C
1С v8
Среднее значение стажа всех должностей
0 EvilAn
 
13.04.22
20:59
Есть таблица значений с колонками ФИО, Должность, Стаж. Как посчитать среднее значение стажа для разных должностей?
Допустим:

Иван Программист 20
Антон Программист 14
Сергей Тестировщик 4
Петр   Тестировщик 7

Добавлять колонки в форму нельзя. Как выяснить сколько строк было свёрнуто?
1 hhhh
 
13.04.22
21:20
(0) это же очевидно. Было свернуто 4 строки.
2 EvilAn
 
13.04.22
21:27
Нужно чтобы алгоритм работал для любого количества строк, должности могут меняться, добавляться новые
3 Йохохо
 
13.04.22
21:29
вангую "на скд"
4 lEvGl
 
гуру
13.04.22
21:38
запросом, колонки на форму для этого добавлять необязательно
5 lEvGl
 
гуру
13.04.22
21:39
можно и кодом, но писать больше
6 lEvGl
 
гуру
13.04.22
21:42
выбрать
должность, стаж, 1 как количество
поместить вт;
Выбрать ВТ.должность, среднее(стаж), сумма(количество)
из вт сгруппировать по должность
7 EvilAn
 
13.04.22
22:11
IEvGI, я не понимаю, можно подробнее?
8 lEvGl
 
гуру
13.04.22
22:33
что именно непонятно?
9 lEvGl
 
гуру
13.04.22
22:37
Запрос к таблице значений, выборка ее строк/колонок, группировка с средним и суммой

выбрать

ТЗ.должность, ТЗ.стаж, 1 как количество
Из &ТЗ Как ТЗ
поместить вт;
Выбрать ВТ.должность, ВТ.среднее(стаж), ВТ.сумма(количество)
из ВТ Как ВТ сгруппировать по ВТ.должность

Запрос.УстановитьПараметр("ТЗ", ТаблицаЗначений);

вернет свернутую таблицу по должностям со средним стажем и количеством записей для каждой должности
10 lEvGl
 
гуру
13.04.22
22:39
типа так

Выбрать

ТЗ.должность, ТЗ.стаж, 1 как количество
Из &ТЗ Как ТЗ
поместить вт;
Выбрать ВТ.должность, Среднее(ВТ.стаж), Сумма(ВТ.количество)
из ВТ Как ВТ сгруппировать по ВТ.должность

Запрос.УстановитьПараметр("ТЗ", ТаблицаЗначений);
11 EvilAn
 
13.04.22
22:43
Не работал с запросами, поэтому не понял, спасибо! Буду разбираться
12 lEvGl
 
гуру
13.04.22
22:46
в процедуре, где эта ТЗ есть, пишете
Запрос = Новый Запрос;
Запрос.Текст = (10)
Запрос.УстановитьПараметр("ТЗ", ТаблицаЗначений);

Результат = Запрос.Выполнить().Выгрузить();

В Результате будет новая таблица, сгруппированная по условиям