|
ПостроительОтчета и ВыбранныеПоля | ☑ | ||
---|---|---|---|---|
0
cat-begimot
22.02.13
✎
05:34
|
Всем привет! Есть УТ 10.3, 8.2.15.284.
Отчет с реквизитом "ПостроительОтчета", настройки отчета сохраняются в регистр сведений через "структуру" в хранилище значений. СтрСохранять = "Склад"; СохраненнаяНастройка = УправлениеОтчетами.СохранитьРеквизитыОтчета(ЭтотОбъект,,СтрСохранять); Настройки = ПостроительОтчета.ПолучитьНастройки(Истина,Истина,Истина,Истина,Истина); Параметры = ПостроительОтчета.Параметры; СохраненнаяНастройка.Вставить("НастройкиПостроителя",Настройки); СохраненнаяНастройка.Вставить("ПараметрыПостроителя",Параметры); СтруктураНастройки = Новый Структура; СтруктураНастройки.Вставить("Пользователь", глЗначениеПеременной("глТекущийПользователь")); СтруктураНастройки.Вставить("ИмяОбъекта", Строка(ЭтотОбъект)); СтруктураНастройки.Вставить("НаименованиеНастройки", ?(мТекущаяНастройка = Неопределено, Неопределено, мТекущаяНастройка.НаименованиеНастройки)); СтруктураНастройки.Вставить("СохраненнаяНастройка", СохраненнаяНастройка); СтруктураНастройки.Вставить("ИспользоватьПриОткрытии", Ложь); СтруктураНастройки.Вставить("СохранятьАвтоматически", Ложь); НастройкаРезультат = УниверсальныеМеханизмы.СохранениеНастроек(СтруктураНастройки) Затем восстанавливаем, формируем отчет - вываливается с ошибкой ".МодульОбъекта(156)}: Ошибка при получении значения атрибута контекста (Результат) мТаблицаТоваров = ПостроительОтчета.Результат.Выгрузить(); по причине: {(1, 1)}: Ожидается выражение "ВЫБРАТЬ"" |
|||
1
cat-begimot
22.02.13
✎
05:34
|
Путем гугл было выяснена особенность - ошибка возникает т.к. в построителе в "ВыбранныеПоля" количество элементов нуль, почему так происходит, ведь явно было указано что надо сохранять этот праметр в "....ПолучитьНастройки(Истина,Истина,Истина,Истина,Истина)..."??
|
|||
2
cat-begimot
22.02.13
✎
05:36
|
Текст запроса:
"ВЫБРАТЬ | СпрНоменклатура.Ссылка КАК Товар, | СпрНоменклатура.Код КАК Код, | СпрНоменклатура.Артикул КАК Артикул, | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество, | МестаХраненияНоменклатуры.МестоХранения КАК Адрес |{ВЫБРАТЬ | Товар.*, | Код, | Артикул, | Количество, | Адрес.*} |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура | И (ТоварыНаСкладахОстатки.Склад = &Склад) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры | ПО СпрНоменклатура.Ссылка = МестаХраненияНоменклатуры.Номенклатура | И (ТоварыНаСкладахОстатки.Склад = МестаХраненияНоменклатуры.Склад) | И (ТоварыНаСкладахОстатки.Склад = &Склад) |ГДЕ | СпрНоменклатура.ЭтоГруппа = ЛОЖЬ | И СпрНоменклатура.ПометкаУдаления = ЛОЖЬ |{ГДЕ | СпрНоменклатура.Ссылка.*, | СпрНоменклатура.Код, | СпрНоменклатура.Артикул, | ТоварыНаСкладахОстатки.КоличествоОстаток, | МестаХраненияНоменклатуры.МестоХранения.*} |{УПОРЯДОЧИТЬ ПО | Товар.*, | Код, | Артикул, | Количество, | Адрес.*}" |
|||
3
cat-begimot
22.02.13
✎
07:36
|
Опытным путем установил что ошибка возникает когда при открытии отчета использую:
ДоступныеПоляОтбора = ПостроительОтчета.Отбор.ПолучитьДоступныеПоля(); ДоступныеПоляОтбора.Очистить(); .... ПостроительОтчета.Отбор.УстановитьДоступныеПоля(ДоступныеПоляОтбора); |
|||
4
cat-begimot
22.02.13
✎
07:38
|
Вопрос, остается открытым, что не так делаю? Даже если использовать только 3 строчки указанные выше будет ошибка при восстановлении настройки.
|
|||
5
cat-begimot
22.02.13
✎
07:55
|
Опытным путем выяснилось :), что удаление доступных полей тянет за собой и удаление "ВыбранныхПолей", после восстановления настройки их ровно столько же сколько было в "доступных" в момент сохранения настройки.....что за чудеса?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |