Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Универсальный отчет

Универсальный отчет
Я
   Rastaman55
 
11.11.16 - 10:50
Видоизменяю универсальный отчет. Изначально были группировки строк только по контрагентам
ОтчетОстатки.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Контрагент");

Хочу теперь добавить группировку по свойству контрагента -ОтветственныйЗаПлатежи. В случае с реквизитом все просто просто пишется например:
ОтчетОстатки.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Контрагент.Наименование");
А как свойство прописать немогу понять.
 
 
   torgm
 
1 - 11.11.16 - 10:57
(0) Насколько помню "свойство" + гуид.
Посмотри в модуле любого отчета где формируются соединения по свойствам. Там все просто
   torgm
 
2 - 11.11.16 - 11:01
Если тупо то поставь отладчик на сформировать и посмотри 
измерения как сформированы в построителе

Будет что то типа такого: КонтрагентСвойство46ed21be432911e1a7dd00155d020405Значение 



Можно так добавить... Можно гуид посчитать.
ОтчетКонтрагента.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("КонтрагентСвойство46ed21be432911e1a7dd00155d020405Значение",ТипИзмеренияПостроителяОтчета.Элементы);
   Ёпрст
 
3 - 11.11.16 - 11:03
(0) вообще то , там и так всё есть, в настройках отчета ищи галку "учитывать свойства и категории" и всё само появится, без кодинга.
   torgm
 
4 - 11.11.16 - 11:04
(3) он программно прописать хочет :)
видимо отчет запускает из другой формы.
   Rastaman55
 
5 - 11.11.16 - 12:17
Проставил галочки в настройках отчета и по отладчику выяснил что добавляются в запрос отчета такие  поля
    КонтрагентСвойство392584bb9ca211e49e1b0015172a9709.Значение КАК КонтрагентСвойство392584bb9ca211e49e1b0015172a9709Значение,
    ПРЕДСТАВЛЕНИЕ(КонтрагентСвойство392584bb9ca211e49e1b0015172a9709.Значение) КАК КонтрагентСвойство392584bb9ca211e49e1b0015172a9709ЗначениеПредставление

и там где условие
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК ОрганизацияКатегории
    ПО ОрганизацияКатегории.Объект = Взаиморасчеты.Организация}
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК КонтрагентСвойство392584bb9ca211e49e1b0015172a9709
    ПО КонтрагентСвойство392584bb9ca211e49e1b0015172a9709.Объект = Взаиморасчеты.Контрагент
    И КонтрагентСвойство392584bb9ca211e49e1b0015172a9709.Свойство = &ПараметрКонтрагентСвойство392584bb9ca211e49e1b0015172a9709}

Должно работать но почему то не работает.
ОтчетОстатки.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("КонтрагентСвойство392584bb9ca211e49e1b0015172a9709Значение");
   Rastaman55
 
6 - 11.11.16 - 12:28
(4) Спасибо, все получилось. Использовать свойства и категории у меня прописывалось после создания запроса оказся.
   torgm
 
7 - 11.11.16 - 12:49
(6) Если хочешь универсальности то вот формирование поля
            ИмяСвойства = Поле.ИмяИзмерения + "Свойство" + СтрЗаменить(Строка(СвойстваОбъектов.Ссылка.УникальныйИдентификатор()), "-", "");

            // Поля

            ТекстПоляСвойства = ТекстПоляСвойства + ",
            |    " + ИмяСвойства + ".Значение КАК " + ИмяСвойства + "Значение,
            |    ПРЕДСТАВЛЕНИЕ(" + ИмяСвойства + ".Значение) КАК " + ИмяСвойства + "ЗначениеПредставление";





Лежит в 
Процедура ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса, ТаблицаПолей = Неопределено, СтруктураПредставлениеПолей = Неопределено, СоответствиеНазначений = Неопределено, Параметры = Неопределено, СоответствиеСвойствКатегорийИИзмерений = Неопределено, СтруктураЗаменять = Неопределено) Экспорт
   torgm
 
8 - 11.11.16 - 12:51
(7)

ИмяСвойства = Поле.ИмяИзмерения + "Свойство" + СтрЗаменить(Строка(СвойстваОбъектов.Ссылка.УникальныйИдентификатор()), "-", "")+ "Значение"
   Rastaman55
 
9 - 11.11.16 - 12:59
(8) Да я как раз пошагово отлаживая туда попал и в табло смотрел данные.

Список тем форума
Рекламное место пустует  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует