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

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

Восстанавливаются не все настройки построителя отчета

Восстанавливаются не все настройки построителя отчета
Я
   Сильф
 
12.10.16 - 17:51
УТ 10.3, платформа 8.3.8.1747, документ ИнвентаризацияТоваровНаСкладе. В нём есть отбор по номенклатуре и ном.группе, реализованный через построитель отчёта. По образу и подобию уже имеющихся отборов, добавил два своих, и они успешно работают, но! При сохранении документа и закрытии формы должны сохраняться и его отборы, типовым механизмом это реализовано в обработчике ПередЗаписью следующим образом:

УсловияПроведенияИнвентаризации = Новый ХранилищеЗначения(ПостроительОтчета.ПолучитьНастройки(Истина, Ложь, Ложь, Ложь, Ложь));

(УсловияПроведенияИнвентаризации - это реквизит документа.)
И при повторном открытии формы эти настройки восстанавливаются для отображения на форме таким кодом:

ЗначениеУсловий = УсловияПроведенияИнвентаризации.Получить();
    Если ТипЗнч(ЗначениеУсловий) = Тип("НастройкиПостроителяОтчета") Тогда
        ПостроительОтчета.УстановитьНастройки(ЗначениеУсловий, Истина, Ложь, Ложь, Ложь, Ложь);
    КонецЕсли;

Так вот, восстанавливаются только те поля отбора, которые изначально были в этом документе. Добавленные мной - нет. Что я мог сделать не так?

P.S.: Добавил на форму свои кнопки Записать и Прочитать, в которых прописал ровно тот же код, что и выше, и потестил их работу прямо в форме, т.е., без записи документа в базу. В таком режиме всё сохраняется и восстанавливается.
 
 
   Сильф
 
1 - 12.10.16 - 18:13
Приём
   Cyberhawk
 
2 - 12.10.16 - 18:16
У конструктора запроса есть вкладка Построитель, туда не добавил наверное
   Сильф
 
3 - 12.10.16 - 18:26
(2) Там текст запроса меняется в зависимости от условий. Если имеется в виду секция ГДЕ в фигурных скобках, то она присутствует.
   Сильф
 
4 - 13.10.16 - 15:12
Подниму
   Михаил Козлов
 
5 - 13.10.16 - 15:15
Посмотрите в отладчике значение настроек ПостроительОтчета.ПолучитьНастройки(...)
и значение, которое возвращается из сохраненных настроек.
Может что-то с доступными полями.
   Ёпрст
 
6 - 13.10.16 - 15:23
(0)
запрос выполняется через построитель или через объект запрос ?
   Ёпрст
 
7 - 13.10.16 - 15:24
+посмотри в коде, нет ли там принудительного установки доступных полей отбора в ПриОткрытии
   Сильф
 
8 - 13.10.16 - 15:58
(5) > Посмотрите в отладчике значение настроек ПостроительОтчета.ПолучитьНастройки(...)

Возвращается штука, имеющая тип НастройкиПостроителяОтчета - это "чёрный ящик", внутрь заглянуть невозможно. СП по его поводу говорит буквально следующее:

-----------------
НастройкиПостроителяОтчета (ReportBuilderSettings)
НастройкиПостроителяОтчета (ReportBuilderSettings)
Описание:

Содержит все настройки построителя отчета.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Сериализуется.
----------------
   Сильф
 
9 - 13.10.16 - 15:58
(8) Ниаких свойств и методов.
   Сильф
 
10 - 13.10.16 - 16:00
(6) через построитель
(7) я ставлю точку останова на строчке с "УстановитьНастройки", и смотрю в табло, сразу после этой строки устанавливается отбор построителя, и в нём только типовые поля заполнены. Мои отборы также присутствуют, но в них пустые значения.
 
 Рекламное место пустует
   Ёпрст
 
11 - 13.10.16 - 16:11
если ты не выбрал свои отборы в момент выполнения - их не будет в отборе. Проверь, так ли это.
Т.е выбери в условиях свои добавленные отборы и посмотри, сохраняет или нет
   Ёпрст
 
12 - 13.10.16 - 16:17
проверить легко - отладчиком смотри отбор посттроителя до и после выполнения.
И обход этой фичи тоже простой.
   Сильф
 
13 - 13.10.16 - 16:25
(11) > выбери в условиях свои добавленные отборы и посмотри, сохраняет или нет

Дык о том и речь - не сохраняет!

> проверить легко - отладчиком смотри отбор посттроителя до и после выполнения.

Так и делаю, см. (10)
   Ёпрст
 
14 - 13.10.16 - 17:18
(13) короче, делаешь так и привет
   Ёпрст
 
15 - 13.10.16 - 17:21
ПостроительОтчета1= Новый ПостроительОтчета(ПостроительОтчета.Текст);
ПостроительОтчета1.УстановитьНастройки(ПостроительОтчета.ПолучитьНастройки());

и ужо выполняешь и выводишь ПостроительОтчета1, а ПостроительОтчета нужен только для отборов.

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