ТЗЦеныТиповРабот = Новый ТаблицаЗначений;
ТЗЦеныТиповРабот.Колонки.Добавить("ТипРабот", Новый ОписаниеТипов("Строка",КвалификаторСтроки));
ТЗЦеныТиповРабот.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число",КвалификаторЧисла));
Для Каждого СтрокаТЗ Из ЦеныТиповРабот Цикл
НоваяСтрока = ТЗЦеныТиповРабот.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ);
НоваяСтрока.ТипРабот = СокрЛП(СтрокаТЗ.ТипРабот);
КонецЦикла;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТрудозатратыСотрудника", ТЗТрудозатратыСотрудника);
Запрос.УстановитьПараметр("СтоимостьРабот", ТЗЦеныТиповРабот);
Запрос.УстановитьПараметр("СуммаРаспределить", СуммаЗаработнойПлатыСотрудника);
Запрос.Текст = "ВЫБРАТЬ
| ТрудозатратыСотрудника.ВидРабот КАК ВидРабот,
| ТрудозатратыСотрудника.ТипРабот КАК ТипРабот,
| ТрудозатратыСотрудника.ЗатраченоЧасов КАК ЗатраченоЧасов
|ПОМЕСТИТЬ ВТ_ТрудозатратыСотрудника
|ИЗ
| &ТрудозатратыСотрудника КАК ТрудозатратыСотрудника
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СтоимостьРабот.ТипРабот КАК ТипРабот,
| СтоимостьРабот.Цена КАК Цена
|ПОМЕСТИТЬ ВТ_СтоимостьРабот
|ИЗ
| &СтоимостьРабот КАК СтоимостьРабот
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 5
| ВТ_ТрудозатратыСотрудника.ВидРабот КАК ВидРабот,
| ВТ_ТрудозатратыСотрудника.ТипРабот КАК ТипРабот,
| ВТ_ТрудозатратыСотрудника.ЗатраченоЧасов КАК ЗатраченоЧасов,
| ЕСТЬNULL(ВТ_СтоимостьРабот.Цена, 0) КАК Цена,
| ВТ_ТрудозатратыСотрудника.ЗатраченоЧасов * ЕСТЬNULL(ВТ_СтоимостьРабот.Цена, 0) КАК Стоимость
|ПОМЕСТИТЬ ВТ_5Записей
|ИЗ
| ВТ_ТрудозатратыСотрудника КАК ВТ_ТрудозатратыСотрудника
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьРабот КАК ВТ_СтоимостьРабот
| ПО ВТ_ТрудозатратыСотрудника.ТипРабот = ВТ_СтоимостьРабот.ТипРабот
|
|УПОРЯДОЧИТЬ ПО
| Стоимость УБЫВ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СУММА(ВТ_5Записей.Стоимость) КАК Стоимость
|ПОМЕСТИТЬ ИтогоСтоимость
|ИЗ
| ВТ_5Записей КАК ВТ_5Записей
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_5Записей.ВидРабот КАК ВидРабот,
| ВТ_5Записей.ТипРабот КАК ТипРабот,
| ВТ_5Записей.ЗатраченоЧасов КАК ЗатраченоЧасов,
| ВТ_5Записей.Цена КАК Цена,
| ВТ_5Записей.Стоимость КАК Стоимость,
| ВТ_5Записей.Стоимость * 100 / ИтогоСтоимость.Стоимость КАК ПроцентРаспределения,
| ВТ_5Записей.Стоимость * 100 / ИтогоСтоимость.Стоимость * &СуммаРаспределить / 100 КАК СуммаЗП
|ИЗ
| ВТ_5Записей КАК ВТ_5Записей
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИтогоСтоимость КАК ИтогоСтоимость
| ПО (ИСТИНА)";
Результат = Запрос.Выполнить().Выгрузить();
ДЛя каждого СтрокаТЗ из Результат Цикл
НоваяСтрока = РезультатОтчет.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ);
КонецЦикла;
Орфографическая ошибка в ТрудозатратыСотрудника (найдено 6): Трудозатраты Орфографическая ошибка в ТЗТрудозатратыСотрудника: Трудозатраты Орфографическая ошибка в ВТ_ТрудозатратыСотрудника (найдено 8): Трудозатраты
Найти документ, состав табличной части которого соответствует параметру - таблице значений
СформироватьСтрокуДляПоискаВЗапросе (БСП)
"Использовать в качестве значения поле" программно
Передача таблицы значений в запрос
УстановитьПараметрыЗапросаИменаПредопределенныеПапки (БСП)