Для языка 1С 8. Имеется два справочника: Сотрудники и Отделы.
В них есть по 2 предопределенных реквизита: Код и Наименование.
У справочника Сотрудники есть еще 3 реквизита:
- Отдел (ссылка на справочник Отделы),
- Руководитель (ссылка на этот же справочник Сотрудники)
- Зарплата (число).
Требуется составить запросы на встроенном в 1С языке запросов для решения следующих пяти заданий:
1) Найти сотрудников, получающих зарплату большую, чем у руководителя
2) Найти сотрудников, получающих максимальную зарплату в своем отделе
3) Получить список отделов, кол-во сотрудников в которых не более 3 человек
4) Найти сотрудников, имеющих руководителя, работающего в другом отделе
5) Получить список отделов с максимальной суммарной заработной платой сотрудников
Мои решения такие:
1.
Выбрать Сотр.Ссылка Сотрудник
Из Справочник.Сотрудники как Сотр
Где Сотр.Зарплата > Сотр.Руководитель.Зарплата
2.
Выбрать Сотр.Отдел Отдел, Сотр.Ссылка Сотрудник, МаксЗП МаксЗП
Из Справочник.Сотрудники как Сотр
, (Выбрать Сотр.Отдел Отдел, Максимум(Сотр.Зарплата) МаксЗП
Из Справочник.Сотрудники как Сотр
Сгруппировать по Сотр.Отдел
) ИтОтделы
Где ИтОтделы.МаксЗП = Сотр.Зарплата И ИтОтделы.Отдел= Сотр.Отдел
3. Выбрать Сотр.Отдел Отдел
Из Справочник.Сотрудники как Сотр
Сгруппировать по Сотр.Отдел
Имеющие Количество(*) = 3
4.
Выбрать Сотр.Ссылка Сотрудник
Из Справочник.Сотрудники как Сотр
Где Сотр.Руководитель.Отдел <> Сотр.Отдел
5. Выбрать
Сотр.Отдел Отдел
, Сумма(Сотр.Зарплата)
Из Справочник.Сотрудники как Сотр
Сгруппировать по Сотр.Отдел
Упорядочить По Сумма(Сотр.Зарплата)
(0)
1 - не верно, нет группировки по отделу
2 - не верный синтаксис запроса
3 - не соответсвует задачи, = 3 не есть не более 3 человек
4 +
5 - не соответствует задаче, сортированный список не есть список отделов с максимальной суммарной заработной платой сотрудников
в целом кол
(1) Спасибо, в задаче 1 не требовалась группировка по отделу
2 - пока не понял в чём неверный синтаксис
5 - согласен, хотя при ошибке постановки "в жизни" могли подразумевать и сортированный список