Имя: Пароль:
1C
1С v8
Реквизит обработки
0 AlphaSpec
 
24.07.15
12:42
Внешняя обработка. Реквизит обработки с типом СписокЗначений "Реквизит". Две формы этой обработки. Из первой открываю другую по нажатию кнопки:

Форма2 = ПолучитьФорму("Форма2",,);
Форма2.Открыть();

Далее во второй форме формирую список и хочу присвоить его реквизиту:

Процедура ПриОткрытии()
    Если ОбработкаОбъект.Реквизит.Количество() = 0 Тогда
        Массив = ПолучитьСписокЗначений();
    Иначе
        Массив = ОбработкаОбъект.Реквизит.ВыгрузитьЗначения();
    КонецЕсли;
    Список.ЗагрузитьЗначения(Массив);
КонецПроцедуры

...

Процедура ПрименитьКнопкаНажатие(Элемент)
    ОбработкаОбъект.Реквизит = Список;
    ЭтаФорма.Закрыть();
КонецПроцедуры

После нажатия "Применить" в отладке Реквизит заполняется нужным мне СЗ, но при повторном открытии формы2 реквизит пуст, и не срабатывает условие ИНАЧЕ в процедуре ПриОткрытии(). Что не так?
1 Альбатрос
 
24.07.15
12:44
Значит очищается где-то
2 Лефмихалыч
 
24.07.15
12:44
(0) во второй форме реквизит ОбработкаОбъект является основным реквизитом формы или нет?
3 AlphaSpec
 
24.07.15
12:56
(2) да, я указал его в реквизитах формы
4 Aprobator
 
24.07.15
12:59
(0) нахрена банальный выбор через такую задницу то делать?
5 AlphaSpec
 
24.07.15
13:12
(4) Во второй форме пользователь формирует СЗ из ПоляСписка. Вопрос в том, почему при повторном открытии формы значение реквизита очищается...? Пробовал другие извращенные варианты, например через

Резвизит = ОткрытьМодально()

передавать при закрытии список - то же самое. Варианты?
6 Aprobator
 
24.07.15
13:16
(5) потому что ОбработкаОбъект, не тот что в форме откуда вызывается.
ЭтотОбъект.ПолучитьФорму - должно помочь. Как делать различного рода выбор и подбор - смотри на ИТС, там всё довольно прозрачно описано.
7 AlphaSpec
 
24.07.15
13:35
Решено. В свойствах второй формы не указал Данные ОбработкаОбъект
8 Aprobator
 
24.07.15
13:39
ПроизвольнуюФорму что ли забабахал? Тогда непонятно, как первый раз заполнение происходило.