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

  • Автор темы Автор темы Skellar
  • Дата начала Дата начала
S

Skellar

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

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

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



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

Тоесть вообще убрал все таблицы кроме самого документа, а в самой СКД сделал вычисляемое поле СУмма Бонуса = ЕСТЬNULL(Ссылка.ГонорарМенеджера,0)+ЕстьNULL(Ссылка.ПремияМенеджера,0)
Всем спасибо за помощь!
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab