Получение значения дополнительного реквизита документа

Skellar

Well-known member
22.07.2008
87
0
#1
Выручайте, получил задание - сделать отчет по документу Счет по БП 2.0. В отчете должно быть поле Сумма Бонуса, которое получается из суммы двух дополнительных реквизитов - ГонорарМенеджера и ПремияМенеджера. У меня получается сделать сумму только в том случае, если оба реквизита имеют значение (тип значения - число). Если значение не заполнено, в таблицу ничего не попадает. Задать значение 0 доп реквизиту у меня тоже не получилось. Что я делаю не так? Вот текст запроса:

Код:
ВЫБРАТЬ
ГонорарМенеджера.Свойство,
ГонорарМенеджера.Значение КАК Значение,
ПремияМенеджера.Свойство КАК Свойство1,
ПремияМенеджера.Значение КАК Значение1,
СчетНаОплатуПокупателю.Ссылка КАК Документ,
СчетНаОплатуПокупателю.Дата КАК ДатаНачала,
СчетНаОплатуПокупателю.СуммаДокумента КАК СуммаЗаказа,
СчетНаОплатуПокупателю.Ответственный КАК Менеджер,
СчетНаОплатуПокупателю.Дата КАК ДатаКонца
ИЗ
Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ПремияМенеджера
ПО СчетНаОплатуПокупателю.Ссылка = ПремияМенеджера.Объект
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ГонорарМенеджера
ПО СчетНаОплатуПокупателю.Ссылка = ГонорарМенеджера.Объект
ГДЕ
ГонорарМенеджера.Свойство.Наименование = &ГонорарМенеджера
И ПремияМенеджера.Свойство.Наименование = &ПремияМенеджера
 

Skellar

Well-known member
22.07.2008
87
0
#3
Делал уже, получилось вот так:

Код:
ЕСТЬNULL(ГонорарМенеджера.Свойство,NULL) Как Свойство,
ЕСТЬNULL(ГонорарМенеджера.Значение,0) КАК Значение,
ЕСТЬNULL(ПремияМенеджера.Свойство,NULL	) КАК Свойство1,
ЕСТЬNULL(ПремияМенеджера.Значение,0) КАК Значение1,
Все равно не получается. Ошибка в запросе, потому что в таблице результата запроса при никаком значении у реквизита строка с его наименованием просто пропадает.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#4
Надо сначала получать значения реквизитов по счету, помещать их во временные таблицы, а потом уже соединять.
 

Skellar

Well-known member
22.07.2008
87
0
#5
Проблему решил, пошел со стороны характеристик, если кому интересно - текст запроса:



Код:
ВЫБРАТЬ
СчетНаОплатуПокупателю.Ссылка КАК Ссылка,
СчетНаОплатуПокупателю.Дата КАК ДатаНачала,
СчетНаОплатуПокупателю.Ответственный КАК Менеджер,
СчетНаОплатуПокупателю.СуммаДокумента,
СчетНаОплатуПокупателю.Дата КАК ДатаКонца
ИЗ
Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
{ХАРАКТЕРИСТИКИ
ТИП(Документ.СчетНаОплатуПокупателю)
ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов
ПОЛЕКЛЮЧА Ссылка
ПОЛЕИМЕНИ Наименование
ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
ПОЛЕОБЪЕКТА Объект
ПОЛЕВИДА Свойство
ПОЛЕЗНАЧЕНИЯ Значение }
Тоесть вообще убрал все таблицы кроме самого документа, а в самой СКД сделал вычисляемое поле СУмма Бонуса = ЕСТЬNULL(Ссылка.ГонорарМенеджера,0)+ЕстьNULL(Ссылка.ПремияМенеджера,0)
Всем спасибо за помощь!