Имя: Пароль:
1C
1С v8
Групповая обработка справочников и документов
0 ColonelAp4u
 
18.08.17
13:20
Добрый день подскажите пожалуйста как в ней программно заполнить отбор из внешней обработки, тип данных я выбрал спр номенклатура программно, а в отбор почему то не получается добавить данные, хотя делаю по СП.
    
Отбор = ФормаОбработки.ПостроительЗапроса_Отбор.Добавить("Ссылка");
    Отбор["Номенклатура"].Использование = Истина;
    Отбор["Номенклатура"].Значение = СпиокНомеклатуры;
    Отбор["Номенклатура"].ВидСравнения = ВидСравнения.ВСписке;
Форма Обработки в данном случае это форма обработки Групповая обработка справочников и документов
1 ColonelAp4u
 
18.08.17
13:21
ругается на ФормаОбработки.ПостроительЗапроса_Отбор.Добавить("Ссылка");
Не верный параметр
2 ColonelAp4u
 
18.08.17
13:21
Пробовал и ФормаОбработки.ПостроительЗапроса_Отбор.Добавить("Номенклатура");
3 h-sp
 
18.08.17
13:29
(1) может там в отборе уже есть ссылка? зачем второй раз добавлять?
4 h-sp
 
18.08.17
13:30
и потом как-то у вас через задницу: сначала же ВидСравнения, а потом Значение уже задаем.
5 ColonelAp4u
 
18.08.17
13:35
(3) он до туда еще не доходит даже ошибка в первой строке  уже выходит
6 Ёпрст
 
18.08.17
13:52
(0) на вот, наслаждайся

    Если ПостроительЗапроса = Неопределено Тогда
        Предупреждение("Дятел, выбери обрабатываемый объекты, для начала",60);
        Возврат;
    КонецЕсли;
    
    ДоступныеПоляОтбора = ПостроительЗапроса.Отбор.ПолучитьДоступныеПоля();
    Если ДоступныеПоляОтбора.Найти("Номенклатура")=Неопределено Тогда
        Поле = ДоступныеПоляОтбора.Добавить("Номенклатура", "Номенклатура",
        Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
        Поле.Отбор = Истина;
    КонецЕсли;
    ЭлементОтбора = ПостроительЗапроса.Отбор.Найти("Номенклатура");
    Если ЭлементОтбора = Неопределено Тогда
        ЭлементОтбора = ПостроительЗапроса.Отбор.Добавить("Номенклатура");
    КонецЕсли;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке;
    ЭлементОтбора.Значение = ТвойСписок;
7 ColonelAp4u
 
18.08.17
14:17
(6) интересно получается мне нужно найти поле ссылка, имя его Ш_Ссылка, Если ДоступныеПоляОтбора.Найти("Ш_Ссылка")=Неопределено Тогда
Вот тут он его находит, а вот тут нет
ЭлементОтбора = ПостроительЗапроса.Отбор.Найти("Ш_Ссылка");
8 ColonelAp4u
 
18.08.17
14:20
Все сработало, всем  спасибо.