{} - инструкции как с ними работает ПостроительОтчетов #390816


#0 by Funny
Кто-нибудь киньте в меня ссылку как правильно писать эти {}-инструкции? К примеру ручками написан запрос, как дальше поступать, что нужно вставлять и сколько.
#1 by Funny
Ни у кого нет?
#2 by AquaKosh
Засунуть его в конструктор запросов и там повставлять условия построителю. Если запрос уж совсем никак не засунуть в конструктор, сделать конструктором похожий запрос и посмотреть в нём, что куда конструктор пихает. Затем скопипастить.
#3 by Funny
Интересно также зачем внутри вложенного запроса в отчете ВаловаяПрибыль помещена инструкция {} вида:
#4 by AquaKosh
Зачем? Это условия, которые может изменять/использовать построитель.
#5 by Funny
Он их из указанного в {}-списке тупо добавляет в или исключает из обычного запроса? {} - это по сути меню возможных включений/исключений?
#6 by hhhh
меню исключений.
#7 by Funny
+ Иными словами, фраза: означает, что наряду с условием на выбираемый период, ИНТЕРАКТИВНО ЧЕРЕЗ НАСТРОЙКИ можно наложить еще 5 условий?
#8 by AquaKosh
Да.
#9 by Funny
В том смысле, что ДОБАВЛЕНИЕ любого доп. условия есть ИСКЛЮЧЕНИЕ части данных из РезалтСета. ;)))
#10 by AquaKosh
Добавление - это установка галочки "Использование".
#11 by AquaKosh
+ Т.е. условие может быть добавлено (присутствовать в  {}), но быть НЕ активно.
#12 by Funny
А еще вопрос - а тогда на кой ляд еще инструкции вида: УниверсальныйОтчет.ДобавитьПолеРесурс УниверсальныйОтчет.ДобавитьПоказатель УниверсальныйОтчет.ДобавитьПолеГруппировка УниверсальныйОтчет.ДобавитьИзмерениеСтроки УниверсальныйОтчет.ДобавитьОтбор Это чтобы ручками {} плодить? Если да, то где взять полный список и описание этих вызовов?
#13 by AquaKosh
Здрастя! Мы речь ведём про ПОСТРОИТЕЛЬ ОТЧЁТА! А относится к отчёту "Универсальный отчёт" из типовой конфы, который заточен под построитель. :)
#14 by Funny
И такой вопрос: Если в выборке запроса присутствует поле (после слов ВЫБРАТЬ РАЗРЕШЕННЫЕ), то это поле автоматически становится доступным в универсальном отчете или нужно его еще где-то прописывать?
#15 by Funny
Что такое "заточенность"? Я так понимаю, что УниверсальныйОтчет вызывает построитель для формирования запроса и формы отчета. Мой вопрос заключался собственно в том, нужно ли использовать указанные в инструкции для полей, которые и без того есть в метаданных регистра, по которым, например, строится отчет.
#16 by AquaKosh
Точно уже не помню, но вроде нужно прописывать. Вообще возьми любую типовую и посмотри как там сделаны отчёты на базе универсального. Раскопай универсальный отчёт и сразу поймёшь, что значит "заточен". :)
#17 by Funny
Вопрос в лоб: А, если используется голый запрос без {ВЫБРАТЬ }-инструкций, будет ли что-нибудь выведено на экран?
#18 by AquaKosh
Гхм... Запрос - это запрос. Он никак не связан с выводом на экран. ... Похоже ситуация совсем сложная... Вот что: в типовых есть "Консоль отчётов", запихни свой запрос туда. Можешь ещё попробовать "Консоль запросов" (я не ошибся, это разные консоли).
#19 by Funny
Сам запрос пашет. Вот только не вытащить на экран поля вложенного запроса.
#20 by Funny
+ Пока писал, все заработало в наилучшем виде! ;)))
#21 by Funny
+ Всё да не всё: при попытке вывода расшифровки (например, по документу движения) выдается только строка итогов, без детализации по номенклатуре. При нажатии на кнопку "Настройка" выдается сообщение об ошибке:                   Поле объекта не обнаружено (Положение)
#22 by AquaKosh
Отладчик в руки и вперёд! :)
#23 by Funny
Где-то в форуме прочитал анекдот про отчеты 1С, что это "такая жвачка, которая пристанет и захватит все ваше внимание, пока ваша квартира не уйдет банку, а жена к другому". ВОТ теперь не вписаться в систему сохранения структуры выбранных полей. Почему-то при расшифровке постоянно сбрасываются выбранные поля.
#24 by Funny
Где хранятся выбранные поля (измерения) отчета и почему они при выборе расшифровки скидываются??
#25 by Defender aka LINN
Так выбранные поля, или измерения?
#26 by Funny
То, что стоит в поле "Группировки строк" окна Настройки Отчета. Допустим, выбраны "Контрагенты" и "Номенклатура". При первом запуске настройки установлены, но отчет выводится только итогом. Приходится снова заходить в окно Настроек отчета и снова добавлять сброшенные Группировки строк. После этого отчет сгенерится как надо. И такая же фигня при переходе к расшифровке. Настройки группировки "слетают", их нужно заново вводить. В чем дело? Где они сохраняются?
#27 by AquaKosh
ПостроительОтчета.ГруппировкиСтрок смотри.
#28 by Funny
Нету у построителя такого поля. Тут трется какая-то Процедурина: "СкопироватьРазмещениеПоложениеВыбранныхПолей"
#29 by AquaKosh
Тьфу ты, ёпрст! ПостроительОтчета.ИзмеренияСтроки.
#30 by AquaKosh
Посмотри типовые отчёты, построенные на базе универсального. При написании нового отчёта на базе универсального кроме запроса и описания + определения параметров вообще ничего не надо дорабатывать. Всё и так работает. И расшифровка работает.
#31 by Funny
Ну, так это одно и тоже, только другими словами: При первом запуске, почему-то массив ИзмеренийСтрок не содержит записей, а при повторной установке они добавляются. То ли у меня кривая {}-инструкция ПостроителяОтчета, то ли что?
#32 by AquaKosh
+ Проще говоря: возьми типовой отчёт, который сделан на базе универсального, поменяй запрос, забей свои параметры и всё - готово!
#33 by Funny
Я по такому пути и шел. Да вот зараза зачем-то заставила меня все поля в Дополнительных параметрах описать. А так все было бы пучком, по твоему рецепту.
#34 by Funny
.2 Где волшебное слово-то говорить?
#35 by AquaKosh
Блин, всё не так. Посмотри другие отчёты, может у тебя пример неудачный был... Тебе нужно заполнять:
#36 by Defender aka LINN
Ни себе фига... И нафиг тебе расшифровка при таком количестве полей? И зачем одновременно выводить день, неделю, декаду, месяц, квартал, полугодие и год? Не говоря уже про саму дату...
#37 by AquaKosh
+ Всё это делается в процедуре "УстановитьНачальныеНастройки" в ТВОЁМ отчёте. Сам универсальный отчёт трогать НЕ надо.
#38 by Funny
У меня в окне отчета настройки сохраняются с предыдущего раза, но при запуске УстановитьНачальныеУстановки они (выбранные измерения) сбрасываются. Хоть плачь!
#39 by Funny
Эти доп.поля "навязаны". Не могу разобраться, но без этого мой запрос не работал. Видимо, как-то пересекались названия основного регистра и соединенного с ним запроса.
#40 by Defender aka LINN
Рыдаю... Мож поглядишь, что процедура ДобавитьДополнительноеПоле делает, а?
#41 by Funny
Ты толком скажи, чего сказать-т хочешь. Добавляет я так понял поля в {ВЫБРАТЬ }
#42 by Defender aka LINN
Вот и я о том же. В общем, ты, мягко говоря, неправ.
#43 by Funny
У меня вот какая хрень: 1 - одно поле явно указано и сохранено интерактивно в группировках поля с прошлого сеанса (например). Пусть, "Контрагент". 2 - два поля явно описаны как поля предопределенной группировки:    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура"); Но все это сбрасывается и не работает с первого раза.
#44 by Defender aka LINN
Если оно уже добавлено, зачем второй раз добавлять?
#45 by Funny
Проверка, что и предустановленные, и сохраняемые группировки скидываются. Причина тоже обнаружена - сам запрос. При его формировании (присвоении значения УниверсальныйОтчет.ПостроительОтчета.Текст=ТекстЗапроса, происходит сброс установленных группировок.
#46 by Funny
Подозреваю, что дело за малым где-то построитель вставил бы {}-инструкцию.
#47 by AquaKosh
Да не построитель вставляет {}, а ты. Запрос для универсального отчёта должен содержать {} для:
#48 by AquaKosh
#49 by Funny
У меня это все есть, но не работает. Единственное отличие моего запроса от указанного - у меня источник данных Регистр+Внутреннее соединение с вложенным запросом. Вопрос: 1) Нужно ли внедряться во ВложенныйЗапрос {}-инструкциями? 2) Как тогда связать ВложенныйЗапрос.Номенклатура КАК ЗапросНоменклатура с предустановленными группировками отчета (которые по идее связаны с Регистр.Номенклатура как Номенлатура)?
#50 by AquaKosh
1. Ну, если условия построителем нужно задать для вложенного запроса, то да. 2. ... ничего не понял. :)
#51 by Funny
Не нужно. Но что-то работает не так. Сбрасываются предпределенные группировки. При повторном их заведении все работает. Черт знает что!!!
#52 by AquaKosh
Чудес не бывает. Найди где/после чего сбрасываются, т.е. после выполнения какого кода, тогда можно будет судить.
#53 by Михаил Козлов
- При изменении текста (запроса) построителя его настройки сбрасываются. Можно их сначала получить (до присвоения текста запроса): а потом установить: построитель.УстановитьНастройки(настройки);
#54 by Funny
Спасибо, Михаил! Именно так и сделал на скорую руку у клиента. Сохранил настройки в Структуре, потом восстановил. Одно смущает, почему-то во всех измерениях (кроме верхнего) идет задвоение наименования. Например, если выбран отчет по Контрагент-Наименование-ХарактеристикаНаименования, то будут двоиться названия Наименование,Наименование и ХарактеристикаНаименования, ХарактеристикаНаименования.
#55 by Funny
Как быть?
#56 by AquaKosh
:) Следить за коллекцией ПостроительОтчета.ИзмеренияСтроки, т.к. она обычно заполняется автоматом самим построителем после ПостроительОтчета.ЗаполнитьНастройки;
#57 by Funny
Не очень понятно, что значит следить? По виду ПостроительОтчета.ИзмеренияСтроки вроде все нормально, но вот только в названиях строк задвоения (сами данные не двоятся).
#58 by Funny
Я бы скорее подумал, что это установки МакетаОтчета. Например, Макет.ОтображатьГруппировки=истина
#59 by AquaKosh
В "ИзмеренияСтроки" описываются группировки и их порядок! Если у тебя в измерениях задваивание, то и в результате запроса будет такое же задваивание группировок.
#60 by Funny
У меня нет задваивания чисел и в измерениях все ОК. У меня есть только задваивания наименований строк, типа Шланг гидравлический,Шланг гидравлический,Красный,Красный    3 шт.  15 руб.
#61 by AquaKosh
Ээээ... не понял, это как, строки двоятся, а суммы нет? :/ Или двоятся КОЛОНКИ?
#63 by AquaKosh
+1
#64 by Funny
Двоятся только названия группировок ниже первой. Значения не двоятся. И, естественно, могут быть, в случае, чисел как четными, так и нет.
#65 by Funny
up
#66 by Funny
ап
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С