Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сохранение\Восстановление настроек отбора списка документов          
AlexHummer Подменю пользователя
сообщение 11.07.17, 10:40
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 1 раз
Рейтинг: 0

1С:Підприємство 8.3 (8.3.6.2449)
УНФ для Украины, редакция 1.6 (1.6.2.1)
Управляемые формы.

Добрый день.
Есть задача - сохранять и восстанавливать разные комбинации настроек отбора списка документов "Заказ покупателя"
Пытаюсь реализовать разными способами (как чтение\запись настроек, так и их хранение). Успешным результатом пока не могу похвастаться.
Подскажите пожалуйста, как лучше реализовать?

актуальный тестовый вариант такой:
&НаКлиенте
Процедура Д_СохранитьНастройкуОтбора(Команда)
    МассивОтборов    = Новый Массив;
    Для Каждого ЭлементОтбора из Список.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
        Если ЭлементОтбора["Представление"]    = "Период" Тогда
            Продолжить;
        КонецЕсли;
        
        ЗаписьОтбора    = Новый Структура;
        ЗаписьОтбора.Вставить("Использование",ЭлементОтбора["Использование"]);
        ЗаписьОтбора.Вставить("ЛевоеЗначение",ЭлементОтбора["ЛевоеЗначение"]);
        ЗаписьОтбора.Вставить("ВидСравнения",ЭлементОтбора["ВидСравнения"]);
        ЗаписьОтбора.Вставить("ПравоеЗначение",ЭлементОтбора["ПравоеЗначение"]);
        МассивОтборов.Добавить(ЗаписьОтбора);        
    КонецЦикла;
    
    Д_СохранитьНастройку(МассивОтборов);
    
КонецПроцедуры

&НаСервере
Функция Д_СохранитьНастройку(СохраненнаяНастройка = Неопределено,СтруктураЗаменяемойНастройки = Неопределено) //Экспорт
    
    СтруктураНастройки = Новый Структура;
    СтруктураНастройки.Вставить("ИмяОбъекта", "СписокЗаказов");
    СтруктураНастройки.Вставить("НаименованиеНастройки", "СписокЗаказов1");
    СтруктураНастройки.Вставить("СохраненнаяНастройка", СохраненнаяНастройка);
    
    Если ТипЗнч(СтруктураНастройки) <> Тип("Структура") Тогда
        
        Возврат Ложь;
        
    КонецЕсли;
    
//Тут непосредственно записывает структуру в добавленный РС. Резульат Ложь\Истина
    Возврат СохранитьДанныеНастройки(СтруктураНастройки, СтруктураЗаменяемойНастройки);
    

&НаКлиенте
Процедура Д_ОткрытьНастройкуОтбора(Команда)
    МассивОтборов    = ПолучитьНастройку();
    Если МассивОтборов    = Неопределено Тогда
        Возврат;
    КонецЕсли;    
    
        Для Каждого ЭлементМассива из МассивОтборов Цикл         
        ЗаписьОтбора    = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЗаписьОтбора.Использование    = ЭлементМассива.Использование;
        ЗаписьОтбора.ЛевоеЗначение    = ЭлементМассива.ЛевоеЗначение;
        ЗаписьОтбора.ВидСравнения    = ЭлементМассива.ВидСравнения;
        ЗаписьОтбора.ПравоеЗначение    = ЭлементМассива.ПравоеЗначение;
        ЗаписьОтбора.Применение     = ТипПримененияОтбораКомпоновкиДанных.Элементы;
    КонецЦикла;
    ЭтаФорма.ОбновитьОтображениеДанных();
    
КонецПроцедуры

&НаСервере
Функция ПолучитьНастройку() //Экспорт
    
    СтруктураНастройки     = Новый Структура;
    СтруктураНастройки.Вставить("ИмяОбъекта", "СписокЗаказов");
    СтруктураНастройки.Вставить("НаименованиеНастройки", "СписокЗаказов1");
    
    Если ТипЗнч(СтруктураНастройки) <> Тип("Структура") Тогда
        
        Возврат Неопределено;
        
    КонецЕсли;
    
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    СохраненныеНастройки.Пользователь,
    |    СохраненныеНастройки.ИмяОбъекта,
    |    СохраненныеНастройки.НаименованиеНастройки КАК НаименованиеНастройки,
    |    СохраненныеНастройки.СохраненнаяНастройка,
    |    СохраненныеНастройки.ИспользоватьПриОткрытии,
    |    СохраненныеНастройки.СохранятьАвтоматически
    |ИЗ
    |    РегистрСведений.Д_СохраненныеНастройки КАК СохраненныеНастройки
    |ГДЕ
    |    СохраненныеНастройки.ИмяОбъекта = &ИмяОбъекта
    |    И СохраненныеНастройки.НаименованиеНастройки = &НаименованиеНастройки");
    
    Запрос.УстановитьПараметр("ИмяОбъекта", СтруктураНастройки.ИмяОбъекта);
    Запрос.УстановитьПараметр("НаименованиеНастройки", СтруктураНастройки.НаименованиеНастройки);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Если РезультатЗапроса.Пустой() Тогда
        
        Возврат Неопределено;
        
    Иначе
        
        ВыборкаИзРезультатаЗапроса = РезультатЗапроса.Выбрать();
        ВыборкаИзРезультатаЗапроса.Следующий();
        
        СтруктураНастройки.Вставить("СохраненнаяНастройка", ВыборкаИзРезультатаЗапроса.СохраненнаяНастройка.Получить());
        СтруктураНастройки.Вставить("ИспользоватьПриОткрытии", ВыборкаИзРезультатаЗапроса.ИспользоватьПриОткрытии);
        СтруктураНастройки.Вставить("СохранятьАвтоматически", ВыборкаИзРезультатаЗапроса.СохранятьАвтоматически);
        
    КонецЕсли;
    
    Возврат СтруктураНастройки.СохраненнаяНастройка;//Истина;
    
КонецФункции // ПолучитьНастройку()

КонецФункции


Выгрузка проходит вроде нормально. Сохраняется.
Далее выбирается тоже нормально. в процедуре Д_ОткрытьНастройкуОтбора переменная МассивОтборов получается и имеет вид:


Далее, массив обрабатывается, и Список.КомпоновщикНастроек.Настройки.Отбор.Элементы получается таким:


Потом делается обновление отображения - и на форме ничего не происходит (список не отобран, управляющие элементы фильтров справа - все пустые)

AlexHummer Подменю пользователя
сообщение 13.07.17, 13:52
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 1 раз
Рейтинг: 0

Никто не сталкивался с подобным?

pablo Подменю пользователя
сообщение 13.07.17, 17:00
Сообщение #3

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

В варианте отчета есть предопределенные настройки отбора? Если они пересекаются с установленными Вами, то настройки из отбора переопределяют установленные программно при компоновке отчета. Если интересует детально, то [необходимо зарегистрироваться для просмотра ссылки]


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 2:26
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!