Дополнительный реквизит сотрудника ЗУП 3.1
Здравствуйте. В справочнике сотрудники добавлен доп.реквизит (тип строка, длина 15). В данный момент не у всех сотрудников заполнен этот реквизит. Нужен был внешний отчет, который выводит начисления сотрудников по этому реквизиту. Но мой вариант выводит только уже записанные реквизиты. Как сделать, чтобы тем, у кого не заполнен реквизит, присваивались значению, например 0.0.0 , и выводились под этим реквизитом?
Код |
---|
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Начисления.Сотрудник КАК Сотрудник
|ИЗ
| РегистрРасчета.Начисления КАК Начисления
|ГДЕ
| Начисления.Месяц МЕЖДУ &НачалоПер И &КонецПер";
Запрос.УстановитьПараметр("НачалоПер", НачалоДня(Отчет.НачалоПер));
Запрос.УстановитьПараметр("КонецПер", КонецДня(Отчет.КонецПер));
СписокСотрудников = Запрос.Выполнить().Выгрузить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СотрудникиДополнительныеРеквизиты.Значение КАК Значение,
| Начисления.Сотрудник КАК Сотрудник,
| СУММА(Начисления.Результат) КАК Результат,
| Начисления.ВидРасчета КАК ВидРасчета,
| Начисления.Месяц КАК Месяц
|ИЗ
| РегистрРасчета.Начисления КАК Начисления
| ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты КАК СотрудникиДополнительныеРеквизиты
| ПО (СотрудникиДополнительныеРеквизиты.Ссылка = Начисления.Сотрудник.Ссылка)
|ГДЕ
| СотрудникиДополнительныеРеквизиты.Свойство = &Свойство
| И Начисления.Сотрудник В(&СписокСотрудников)
| И Начисления.Месяц МЕЖДУ &НачалоПер И &КонецПер
|
|СГРУППИРОВАТЬ ПО
| Начисления.ВидРасчета,
| Начисления.Месяц,
| Начисления.Сотрудник,
| СотрудникиДополнительныеРеквизиты.Значение
|
|УПОРЯДОЧИТЬ ПО
| Значение,
| Месяц,
| ВидРасчета,
| Сотрудник
|ИТОГИ
| СУММА(Результат)
|ПО
| Значение,
| Месяц,
| ВидРасчета,
| Сотрудник";
Запрос.УстановитьПараметр("Свойство",ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ОтизНомер"));
Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);
Запрос.УстановитьПараметр("НачалоПер", НачалоДня(Отчет.НачалоПер));
Запрос.УстановитьПараметр("КонецПер", КонецДня(Отчет.КонецПер));
Показать |
По теме из базы знаний
- Печатная форма доп соглашения из справочника Сотрудники ЗУП 3.1 Управляемые формы
- Договор займа сотруднику для ЗУП 3.1 и ЗКГУ 3.1
- Плановые начисления с показателями. ЗУП 3.1
- Создание приказов и дополнительных соглашений по сотрудникам для ЗУП 3.1
- Трудовой договор, обязательство, согласие - печать в Word из справочника Сотрудники (ЗУП 3.1)
Найденные решения
Что-то вроде...
Для Каждого СтрокаСотрудника Из СписокСотрудников Цикл
НайденнаяСтрока = СтрокаСотрудника.Сотрудник.ДополнительныеРеквизиты.Найти(Наше_Свойство, "Свойство");
Если НайденнаяСтрока = Неопределено Тогда
СотрудникОбъект = СтрокаСотрудника.Сотрудник.ПолучитьОбъект();
СтрокаСвойства = СотрудникОбъект.ДополнительныеРеквизиты.Добавить();
СтрокаСвойства.Свойство = Наше_Свойство;
СтрокаСвойства.Значение = "0.0.0";
СотрудникОбъект.Записать();
КонецЕсли;
КонецЦикла;
Показать
проще в отчете запрос исправить, чем пустые реквизиты плодить
ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка,
СотрудникиДополнительныеРеквизиты.Свойство КАК Свойство,
ЕСТЬNULL(СотрудникиДополнительныеРеквизиты.Значение, "0.0.0") КАК Значение
ИЗ
Справочник.Сотрудники КАК Сотрудники
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты КАК СотрудникиДополнительныеРеквизиты
ПО (Сотрудники.Ссылка = СотрудникиДополнительныеРеквизиты.Ссылка
И СотрудникиДополнительныеРеквизиты.Свойство.Имя = "ИмяДопРеквизита")
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Что-то вроде...
Для Каждого СтрокаСотрудника Из СписокСотрудников Цикл
НайденнаяСтрока = СтрокаСотрудника.Сотрудник.ДополнительныеРеквизиты.Найти(Наше_Свойство, "Свойство");
Если НайденнаяСтрока = Неопределено Тогда
СотрудникОбъект = СтрокаСотрудника.Сотрудник.ПолучитьОбъект();
СтрокаСвойства = СотрудникОбъект.ДополнительныеРеквизиты.Добавить();
СтрокаСвойства.Свойство = Наше_Свойство;
СтрокаСвойства.Значение = "0.0.0";
СотрудникОбъект.Записать();
КонецЕсли;
КонецЦикла;
Показать
проще в отчете запрос исправить, чем пустые реквизиты плодить
ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка,
СотрудникиДополнительныеРеквизиты.Свойство КАК Свойство,
ЕСТЬNULL(СотрудникиДополнительныеРеквизиты.Значение, "0.0.0") КАК Значение
ИЗ
Справочник.Сотрудники КАК Сотрудники
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты КАК СотрудникиДополнительныеРеквизиты
ПО (Сотрудники.Ссылка = СотрудникиДополнительныеРеквизиты.Ссылка
И СотрудникиДополнительныеРеквизиты.Свойство.Имя = "ИмяДопРеквизита")
Показать