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

Тема в разделе "1C и всё что с ней связано", создана пользователем Skellar, 10 авг 2011.

  1. Skellar

    Skellar Well-Known Member

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

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

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Смотри функцию естьNULL
     
  3. Skellar

    Skellar Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    87
    Симпатии:
    0
    Делал уже, получилось вот так:

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Надо сначала получать значения реквизитов по счету, помещать их во временные таблицы, а потом уже соединять.
     
  5. Skellar

    Skellar Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    87
    Симпатии:
    0
    Проблему решил, пошел со стороны характеристик, если кому интересно - текст запроса:



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

Поделиться этой страницей