Имя: Пароль:
1C
1C 7.7
v7: Как выполнить процедуру в справочнике через обработку?
0 sysadminlk
 
15.12.17
16:07
Есть справочник в нем есть процедура
Процедура Отфильтровать(Кнопка="") Экспорт

на форме этого справочника я повешал кнопку
которая открывает обработку

ОткрытьФормуМодально("Обработка.ВводИДН",Контекст)

в обработке я ловлю контекст справочника Конт
и пытаюсь вызвать самонаписаную процедуру справочника вот так:

Конт.ВыбМанаг = НаКогоВешаем;
Конт.Отфильтровать(1);

справочник должен в этой процедуре сформировать и показать другой список элементов
типо     ИспользоватьСписокЭлементов(ПолучитьСписокТовараНаВремя(ИмяЮзера,ФлагФильтра));


Но я получаю ошибку
Конт.Отфильтровать(1);
{Обработка.ВводИДН.Форма.Модуль(68)}: Поле агрегатного объекта не обнаружено (Отфильтровать)


Короче как мне из процедуры имея контекст формы справочника изменить его содержимое (ИспользоватьСписокЭлементов) ?
1 sysadminlk
 
15.12.17
16:18
Пока поставил такой костыль

В обработке:
        Конт.ВыбМанаг = НаКогоВешаем;
        Конт.Форма.Заголовок("Обновить!");
        Конт.Форма.Обновить();

В модуле справочника:

Процедура МониторингОбновления()    
    Если Форма.Заголовок() = "Обновить!" Тогда
        Отфильтровать(777);
        Форма.Обновить();
        Форма.Заголовок("Выдача товара на время");
    КонецЕсли;
КонецПроцедуры    // МониторингОбновления

Форма.ОбработкаОжидания("МониторингОбновления",1);
2 Ёпрст
 
15.12.17
16:18
Так и пиши
Конт.ИспользоватьСписокЭлементов(Список);
3 vcv
 
15.12.17
18:04
обращаться к процедурам по контексту обычно помогает 1С++