Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 13:57

Ошибочный результат при работе с объектом ПостроительОтчета

Автор PavelVaskan, 25 июл 2019, 15:43

0 Пользователей и 1 гость просматривают эту тему.

PavelVaskan

Имеется отчёт в конфигурации ЗУП 8.2.

Отчёт формируется с помощью объекта ПостроительОтчета.

По условиям задачи, надо получить новое поле-показатель в отчёте.

Если формировать в консоли запросов запрос, используемый в объекте ПостроительОтчета, ошибки не возникает, и значение числового поля-показателя правильное.

Если же формировать сам отчёт (с использованием объекта ПостроительОтчета), то параметр ПостроительОтчета.Результат выдаёт искомое поле-показатель всегда равным нулю!

Что - ошибка! Что надо изменить в объекте ПостроительОтчета, чтобы получить правильный результат?

Ещё был бы благодарен за указание названий хорошей литературы по использованию объекта ПостроительОтчета.

Заранее спасибо!

Искомое поле-показатель: ЗанимаемыхСтавокИтого.

Текст запроса, используемый в объекте ПостроительОтчета:

ВЫБРАТЬ
ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.Владелец КАК Организация,
ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
ШтатноеРасписаниеОрганизаций.Должность КАК Должность,
ШтатноеРасписаниеОрганизацийСрезПоследних.ВидТарифнойСтавки КАК ВидТарифнойСтавки,
ШтатноеРасписаниеОрганизацийСрезПоследних.ГрафикРаботы КАК ГрафикРаботы,
ШтатноеРасписаниеОрганизацийСрезПоследних.ВалютаТарифнойСтавки КАК ВалютаТарифнойСтавки,
ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок КАК КоличествоСтавок,
ШтатноеРасписаниеОрганизацийСрезПоследних.МинимальнаяТарифнаяСтавка КАК МинимальнаяТарифнаяСтавка,
ШтатноеРасписаниеОрганизацийСрезПоследних.МаксимальнаяТарифнаяСтавка КАК МаксимальнаяТарифнаяСтавка,
ЕСТЬNULL(ЗанятыеШтатныеЕдиницыОрганизаций.КоличествоСтавокОстаток, 0) КАК ЗанимаемыхСтавокИтого,
ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок - ЕСТЬNULL(ЗанятыеШтатныеЕдиницыОрганизаций.КоличествоСтавокОстаток, 0) КАК ОсталосьСвободныхВакансий,
РаботникиОрганизации.Физлицо,
РаботникиОрганизации.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок
{ВЫБРАТЬ
РаботникиОрганизации.Физлицо.*,
Организация.* КАК Организация,
ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.* КАК ПодразделениеОрганизации,
ШтатноеРасписаниеОрганизаций.Должность.* КАК Должность,
ШтатноеРасписаниеОрганизацийСрезПоследних.ГрафикРаботы.* КАК ГрафикРаботы,
ВидТарифнойСтавки.* КАК ВидТарифнойСтавки,
ВалютаТарифнойСтавки.* КАК ВалютаТарифнойСтавки,
МинимальнаяТарифнаяСтавка,
МаксимальнаяТарифнаяСтавка,
ЗанимаемыхСтавок,
ЗанимаемыхСтавокИтого,
ОсталосьСвободныхВакансий}
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
ШтатноеРасписаниеОрганизаций.Должность КАК Должность
ИЗ
РегистрСведений.ШтатноеРасписаниеОрганизаций КАК ШтатноеРасписаниеОрганизаций
{ГДЕ
ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.Владелец.* КАК Организация,
ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации.* КАК ПодразделениеОрганизации,
ШтатноеРасписаниеОрганизаций.Должность.* КАК Должность}

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
РаботникиОрганизаций.ПодразделениеОрганизации,
РаботникиОрганизаций.Должность
ИЗ
РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
{ГДЕ
РаботникиОрганизаций.ПодразделениеОрганизации.Владелец.* КАК Организация,
РаботникиОрганизаций.ПодразделениеОрганизации.* КАК ПодразделениеОрганизации,
РаботникиОрганизаций.Должность.* КАК Должность}) КАК ШтатноеРасписаниеОрганизаций
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтатноеРасписаниеОрганизаций.СрезПоследних(&ДатаАктуальности, {(ПодразделениеОрганизации).* КАК ПодразделениеОрганизации, (Должность).* КАК Должность, (ПодразделениеОрганизации.Владелец).* КАК Организация}) КАК ШтатноеРасписаниеОрганизацийСрезПоследних
ПО ШтатноеРасписаниеОрганизаций.Должность = ШтатноеРасписаниеОрганизацийСрезПоследних.Должность
И ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации = ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаАктуальности, ) КАК РаботникиОрганизации
ПО ШтатноеРасписаниеОрганизаций.Должность = РаботникиОрганизации.Должность
И ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации = РаботникиОрганизации.ПодразделениеОрганизации
И (РаботникиОрганизации.ПричинаИзмененияСостояния <> &Уволен)}
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗанятыеШтатныеЕдиницыОрганизаций.Остатки(&ДатаПослеАктуальности, {(ПодразделениеОрганизации).* КАК ПодразделениеОрганизации, (Должность).* КАК Должность, (ПодразделениеОрганизации.Владелец).* КАК Организация}) КАК ЗанятыеШтатныеЕдиницыОрганизаций
ПО ШтатноеРасписаниеОрганизаций.Должность = ЗанятыеШтатныеЕдиницыОрганизаций.Должность
И ШтатноеРасписаниеОрганизаций.ПодразделениеОрганизации = ЗанятыеШтатныеЕдиницыОрганизаций.ПодразделениеОрганизации
ГДЕ
НЕ РаботникиОрганизации.Физлицо ЕСТЬ NULL
{ГДЕ
ШтатноеРасписаниеОрганизацийСрезПоследних.ГрафикРаботы.* КАК ГрафикРаботы,
ШтатноеРасписаниеОрганизацийСрезПоследних.ВидТарифнойСтавки.* КАК ВидТарифнойСтавки,
ШтатноеРасписаниеОрганизацийСрезПоследних.ВалютаТарифнойСтавки.* КАК ВалютаТарифнойСтавки,
ШтатноеРасписаниеОрганизацийСрезПоследних.МинимальнаяТарифнаяСтавка,
ШтатноеРасписаниеОрганизацийСрезПоследних.МаксимальнаяТарифнаяСтавка,
ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок,
(ЕСТЬNULL(ЗанятыеШтатныеЕдиницыОрганизаций.КоличествоСтавокОстаток, 0)) КАК ЗанимаемыхСтавок,
(ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок - ЕСТЬNULL(ЗанятыеШтатныеЕдиницыОрганизаций.КоличествоСтавокОстаток, 0)) КАК ОсталосьСвободныхВакансий}
{УПОРЯДОЧИТЬ ПО
Организация.*,
ПодразделениеОрганизации.*,
Должность.*,
ГрафикРаботы.*,
ВидТарифнойСтавки.*,
ВалютаТарифнойСтавки.*}
ИТОГИ
СУММА(ОсталосьСвободныхВакансий),
СУММА(ЗанимаемыхСтавок)
ПО
ОБЩИЕ
{ИТОГИ ПО
Организация.*,
ПодразделениеОрганизации.*,
Должность.*,
ГрафикРаботы.*,
ВидТарифнойСтавки.*,
ВалютаТарифнойСтавки.*}

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск