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

1С:Предприятие ::

Метки: 

Сохранение и восстановление отбора в табличной части внешней обработки

Я
   Ник ё занят
 
18.10.17 - 10:57
Есть внешняя обработка с табличной частью Товары
Есть две кнопки "сохранить настройки" и "восстановить настройки"

по нажатию кнопки сохраненить настройки я хочу записывать в хранилище настроек отбор, делаю вот так:
    ХранилищеОбщихНастроек.Сохранить(Строка(ЭтотОбъект), "ОтборСтрокВТаблицеТоварыОбработка", ЭлементыФормы.Товары.ОтборСтрок);

по нажатию кнопки восстановить настройки я хочу получить этот отбор и указать его же для этой же таблицы (восстановить ранее сохраненный) делаю так:
    Отбор = ХранилищеОбщихНастроек.Загрузить(Строка(ЭтотОбъект), "ОтборСтрокВТаблицеТоварыОбработка");
    ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок = Отбор;// вот здесь ошибка, "Поле объекта недоступно для записи (ОтборСтрок)"


В переменной Отбор хранятся все данные отбора с типом значений "Отбор"
Непонимание в том, как этот отбор указать таблице?
 
 
   lodger
 
1 - 18.10.17 - 11:00
ничего в духе УстановитьОтбор(ТвойОтбор) не канает?
   Ник ё занят
 
2 - 18.10.17 - 11:03
(1) к чему УстановитьОтбор(МойОтбор) прописать?
   Гипервизор
 
3 - 18.10.17 - 11:06
(0) Попробуйте обойти элементы отбора в цикле, как-то так:

Для каждого ЭлементОтбора Из Отбор Цикл
    ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].Установить(ЭлементОтбора.Значение);
КонецЦикла;
   Ник ё занят
 
4 - 18.10.17 - 11:12
(3) спасибо, вроде работает, но с небольшой неточностью - там где галка у колонки в отборе не была указана при сохранении, при загрузке она указывается и получается везде она стоит и равно пустоте или нулю
   Ник ё занят
 
5 - 18.10.17 - 11:16
(4) вроде как-то так лучше
    Для каждого ЭлементОтбора Из Отбор Цикл
        Если Не ЭлементОтбора.Значение = 0 Тогда
            Если Не ЭлементОтбора.Значение.Пустая() И Не ЭлементОтбора.Значение = Неопределено и Не ЭлементОтбора.Значение = null Тогда 
                
  
  
  
  
  
  
  
  ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].Установить(ЭлементОтбора.Значение);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
   Ник ё занят
 
6 - 18.10.17 - 11:17
ох какое форматирование
   Ник ё занят
 
7 - 19.10.17 - 16:40
(4) конечный вариант:

    Для Каждого ЭлементОтбора Из Отбор Цикл
        ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].Установить(ЭлементОтбора.Значение);
        ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].Использование = ЭлементОтбора.Использование;
    КонецЦикла;
   Михаил Козлов
 
8 - 19.10.17 - 16:44
(7) Отбор только "равно"? Лучше скопировать: использование, вид сравнения и значение.
   Ник ё занят
 
9 - 23.10.17 - 11:49
(8)
    Для Каждого ЭлементОтбора Из Отбор Цикл
        ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].ВидСравнения  = ЭлементОтбора.ВидСравнения;
        ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].Значение      = ЭлементОтбора.Значение;
        ЭлементыФормы.ТоварыПродажиИОстатки.ОтборСтрок[ЭлементОтбора.Имя].Использование = ЭлементОтбора.Использование;
    КонецЦикла;


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