8.х Вывод вычисляемого поля через "универсальный отчет"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Kant, 8 дек 2009.

  1. TopicStarter Overlay
    Kant
    Offline

    Kant

    Регистрация:
    8 дек 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Подскажите кто сталкивался с подобным, а то я уже все мозги сломал ((
    Обрисую ситуацию:

    Формирую отчет с использованием "Универсального отчета", настройки отчета задаются через запрос, т.е. явно указываю:
    УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;

    В тексте запроса вычисляю два значения типа Дата:
    Код:
    |ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.кнт_ЧислоДнейЗадолженности) КАК ПлановаяДатаОплаты,
    |ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата КАК ДатаДокумента
    
    ДоговорКонтрагента.кнт_ЧислоДнейЗадолженности - дополнительный реквизит в справочнике типа Число, в рассматриваемых примерах всегда заполнено и не имеет значения "null"и "Неопределено"
    оба поля не участвуют в группировках итогов, не используются с агрегатными функциями.

    в настройках универсального отчета оба определены одинаково как показатели:

    Код:
    УниверсальныйОтчет.ДобавитьПоказатель("ДатаДокумента","Дата документа",		 			 Истина,"ДФ=dd.MM.yy",	"Начало","На начало");
    УниверсальныйОтчет.ДобавитьПоказатель("ПлановаяДатаОплаты","Плановая дата оплаты", 			 Истина,"ДФ=dd.MM.yy",	"Начало","На начало");
    
    При выводе на экран дата документа есть, а даты плановой оплаты - нет :unsure:
    Однако если в настройках ставить галочку "Выводить детальные записи" - то в дополнительной строке появляется значение плановой даты оплаты!!!!
    из чего я делаю вывод что вычисляться то оно вычисляется, причем правильно, но почему то не выводится в нужной группировке ((

    Если кто знает, чем подобное лечится - прошу помочь, ибо мои мозги уже закипают...
    есть предположение, что т.к. поле вычисляемое, то ему обязательно требуется агрегатная функция в группировке, но как ее можно задействовать относительно поля типа Дата - ума не приложу.
    Если ставить функцию типа - КоличествоРазличных() - то на экран все выводится, и в нужном поле стоит цифирька 1. Но агрегатных функций, которые возвращают дату, я не знаю ((
  2. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    на закладке построителя в подзакладке Поля необходимое поле присутствует?
  3. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Давно пользовался Универсальным отчетов, но
    Можешь попробовать использовать агрегатную функцию "МАКСИМУМ()", если это поле во всех детальных записях одинаковое.
  4. TopicStarter Overlay
    Kant
    Offline

    Kant

    Регистрация:
    8 дек 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    присутствуют оба... и в Полях, и во всех остальных закладках

    попробовал... ругается... к переменным типа дата эта функция не применима(((
    да и даты то везде разные((
  5. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Ну значит у вас по акромя дат там еще что-то, даты можно группировать по максимуму!
    Тоды, не пойму какую вы дату хотите вывести в группировке, если они даты в детальных записях разные?
    PS. я бы залез в отладчик и отловил полный текст запроса построителя отчета, отладил бы его в консоли,
    разобрался че хотят от меня при заполнении настроек в универсальном отчете.
    А так гадать по двум строчкам заполнения параметров универсального отчета не радует совсем.
  6. TopicStarter Overlay
    Kant
    Offline

    Kant

    Регистрация:
    8 дек 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1

    Я могу вставить сюда и полный текст запроса, но во первых, он довольно длинный, во вторых в нем задействовано 3-4 дополнительных реквизита, не существующих в типовой конфигурации

    Изначально это была ведомость по дебиторской задолженности, начальство попросило вывести дату плановой оплаты документа реализации и дату самой реализации.

    Дата плановой оплаты считалась как: дата документа реализации + количество дней кредита из справочника договоры контрагентов.
    дата реализации соответствеенно - как дата документа.

    естественно что даты плановых оплат у каждого документа различны - потому как и сроки кредитов у всех различны.

    и как результат - дата плановой оплаты выводится только в строках детальных записей, а в строках группировки - пусто.
    а дата документа между тем спокойно выводится везде...
  7. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Ну если дата документа выводится везде нормально, то значит и дата оплаты должна, копируй запрос, посмотрим...

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