Не очень удачно решение, требующее создания фиктивного документа. Делается это только для того, чтобы используя механизмы типовой, рассчитать стоимость остатков отпуска.
Мною добавлена проверка заполненности параметра. Если он пуст, то сумма не рассчитывается.
Функция Проверка()
//ИЗМЕНЕНО 10-02-09
СсылкаДокумента = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДокументОтпуск")).Значение;
РасчитыватьСумму = ЗначениеЗаполнено(СсылкаДокумента);
//СсылкаДокумента = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДокументОтпуск")).Значение;
//Если Не ЗначениеЗаполнено(СсылкаДокумента) Тогда
// Сообщить("Не выбран документ");
// РезультатПроверки = Ложь;
//КонецЕсли;
Функция РассчитатьСуммуОтпуска(СтрокаТаблицыОстатков)
//ДОБАВЛЕНО 10-02-09
Если НЕ РасчитыватьСумму Тогда
Возврат Неопределено;
КонецЕсли;
Функция ПолучитьТаблицуОстатковОтпусков()
...
//ИЗМЕНЕНО 10-02-09
Если РасчитыватьСумму Тогда
СтрокаТаблицы.Сумма = ?(СтрокаТаблицы.Количество = 0, 0, РассчитатьСуммуОтпуска(СтрокаТаблицы));
СтрокаТаблицы.Сумма = СтрокаТаблицы.Сумма * СтрокаТаблицы.Множитель;
КонецЕсли;
//конец ИЗМЕНЕНО 10-02-09
Показать
Кстати, без сумм отчет формируется за считанные секунды :)
Ещё не очень удобно, когда в отчет попадают давно уволенные сотрудники.
Но и с этим можно справиться:
В "ОсновнаяСхемаКомпоновкиДанных" у поля "Состояние" снимите галки в ограничениях. Теперь реквизит "ДанныеОРаботнике.Состояние (Текущее состояние)" доступен для отбора. Ставим "Не равно Уволен" и видим чистенький отчет по работающим сотрудникам.
Ну а красиво это оформить в настройках вы сможете и сами. Или дождитесь официального релиза от разработчика.