![]() |
![]() |
|
Как сохранить таб. часть в настройках отчета? | ☑ | ||
---|---|---|---|---|
0
lirt82
25.09.25
✎
12:30
|
Всем привет, есть самописный отчет (не СКД) в отчете на форме есть закладка "НастройкиВыгрузки" в ней расположена таб. часть "СписокКлиентовДляВыгрузки" эта таб. часть реквизит объекта отчета. Пользователь ее (таб. часть заполняет) и сохраняет по кнопке "СохранитьНастройкиВыгрузки". Необходимо реализовать сохранение данных таб. части отчета и при открытии восстановить данные в таб. части. Код из формы отчета.
&НаКлиенте Процедура СохранитьНастройкиВыгрузки(Команда) СохранитьНастройкиВыгрузкиНаСервере(); КонецПроцедуры &НаСервере Процедура СохранитьНастройкиВыгрузкиНаСервере() //СписокКлиентовВыгрузки = ЗначениеВСтрокуВнутр(Отчет.СписокКлиентовДляВыгрузки.Выгрузить()); ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); ОтчетОбъект.СохранитьНастройкиВыгрузки(Отчет.АдресДляВыгрузки, Отчет.СписокКлиентовДляВыгрузки); //.Выгрузить()); КонецПроцедуры &НаСервере Процедура ВосстановитьНастройкиВыгрузкиНаСервере() ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); ОтчетОбъект.ВосстановитьНастройкиВыгрузки(Отчет.АдресДляВыгрузки, Отчет.СписокКлиентовДляВыгрузки); КонецПроцедуры Код модуля объекта отчета. Процедура СохранитьНастройкиВыгрузки(ПутьДляСохранения, СписокКлиентов) Экспорт Ключ = ПолучитьКлючОбъекта(); НастройкиВыгрузки = Новый Структура; НастройкиВыгрузки.Вставить("ПутьДляСохранения", ПутьДляСохранения); НастройкиВыгрузки.Вставить("СписокКлиентов", СписокКлиентов); УстановитьПривилегированныйРежим(Истина); ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(Ключ, ПолучитьКлючНастроекВыгрузки(), НастройкиВыгрузки,, Ключ); УстановитьПривилегированныйРежим(Ложь); КонецПроцедуры Процедура ВосстановитьНастройкиВыгрузки(ПутьДляСохранения, СписокКлиентов) Экспорт Ключ = ПолучитьКлючОбъекта(); УстановитьПривилегированныйРежим(Истина); НастройкиВыгрузки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(Ключ, ПолучитьКлючНастроекВыгрузки(),,, Ключ); УстановитьПривилегированныйРежим(Ложь); Если НастройкиВыгрузки <> Неопределено Тогда ПутьДляСохранения = НастройкиВыгрузки.ПапкаДляСохранения; СписокКлиентов = НастройкиВыгрузки.СписокКлиентов; //ЗначениеИзСтрокиВнутр(НастройкиВыгрузки.СписокКлиентов); КонецЕсли; КонецПроцедуры при таком коде выходит ошибка: Ошибка при установке значения атрибута контекста (СписокКлиентовДляВыгрузки) по причине: Нельзя изменять поле, содержащее объект данных формы |
|||
1
Asmody
25.09.25
✎
08:04
|
Потому что нельзя присвоить значение таб.части.
Загрузить() можно |
|||
2
lirt82
25.09.25
✎
08:20
|
(1) СписокКлиентов = НастройкиВыгрузки.СписокКлиентов.Загрузить();
Метод объекта не обнаружен (Загрузить) Хотя тип НастройкиВыгрузки.СписокКлиентов ТаблицаЗначений |
|||
3
Chameleon1980
25.09.25
✎
08:31
|
Список.загрузить
|
|||
4
Мультук
гуру
25.09.25
✎
08:32
|
(2)
Кэп имел в виду ПутьДляСохранения = НастройкиВыгрузки.ПапкаДляСохранения; СписокКлиентов.Загрузить(НастройкиВыгрузки.СписокКлиентов); |
|||
5
Chameleon1980
25.09.25
✎
08:33
|
(4) не вник в название метода :)
|
|||
6
lirt82
25.09.25
✎
12:21
|
(4) Ошибка при вызове метода контекста (Загрузить)
по причине: Несоответствие типов (параметр номер '1') |
|||
7
Волшебник
25.09.25
✎
12:29
|
СписокКлиентов.Загрузить(НастройкиВыгрузки.СписокКлиентов.Выгрузить());
|
|||
8
Мультук
гуру
25.09.25
✎
12:35
|
(7)
ТС утверждает что ТипЗнч(НастройкиВыгрузки.СписокКлиентов) = Таблица значений |
|||
9
Волшебник
25.09.25
✎
12:44
|
(8) это вряд ли... Как говорит Доктор Хаус, все врут.
|
|||
10
lirt82
25.09.25
✎
13:21
|
(7) Значение не является значением объектного типа (Выгрузить)
|
|||
11
Мультук
гуру
25.09.25
✎
13:35
|
(10)
1) Вы выгружаете из НастройкиВыгрузки.СписокКлиентов.Выгрузить() Но показываете не эту переменную, а вовсе другую 2) показываете вы СписокКлиентов (который Процедура ВосстановитьНастройкиВыгрузки(ПутьДляСохранения, СписокКлиентов) ) Эта переменная ожидаемо должна быть табличной частью, а у вас неопределено. Что вы собираетесь загрузить в неопределено я без понятия 3) Зачем нужно передавать туда (в ВосстановитьНастройкиВыгрузки) табличную часть я не знаю. Я бы просто вернул из ВосстановитьНастройкиВыгрузки(..) "НастройкиВыгрузки" и дальше в форме рассовал был всё по своим местам |
|||
12
Fish
гуру
25.09.25
✎
13:50
|
(2) "Хотя тип НастройкиВыгрузки.СписокКлиентов ТаблицаЗначений"
А на картинке (10) тип Неопределено. |
|||
13
Chameleon1980
25.09.25
✎
16:28
|
при сохранении
НастройкиВыгрузки.Вставить("СписокКлиентов", СписокКлиентов.Выгрузить()); |
|||
14
Chameleon1980
25.09.25
✎
16:29
|
расскоментируй тут
ОтчетОбъект.СохранитьНастройкиВыгрузки(Отчет.АдресДляВыгрузки, Отчет.СписокКлиентовДляВыгрузки); //.Выгрузить()); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |