Имя: Пароль:
1C
1С v8
Отбор в обработке
0 serg-lom89
 
13.03.15
15:08
Добрый день.

Есть процедура которая выполняет запрос

    ПостроительЗаказы.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ВыборкаЗаказов.НомерЗаказа КАК НомерЗаказа,
    |    ВыборкаЗаказов.ДатаЗаказа КАК ДАТАЗАКАЗА,
    |    ВыборкаЗаказов.Контрагент КАК Контрагент,
    |    ВыборкаЗаказов.Комментарий КАК Комментарий,
    |    ТоварныйСостав.ПредставлениеНаЭтикетке КАК ПредставлениеНаЭтикетке,
    |    ТоварныйСостав.Номенклатура КАК Номенклатура,
    |    ТоварныйСостав.Бренд КАК Бренд,
    |    ТоварныйСостав.Артикул КАК Артикул,
    |    ТоварныйСостав.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ТоварныйСостав.Количество КАК Количество,
    |    ТоварныйСостав.ЦенаПродажи КАК ЦенаПродажи,
    |    ВыборкаЗаказов.ТипИсточника КАК ТипИсточника
    |{ВЫБРАТЬ
    |    НомерЗаказа,
    |    ТипИсточника,
    |    Контрагент.*,
    |    Комментарий,
    |    ПредставлениеНаЭтикетке,
    |    Номенклатура.*,
    |    Бренд,
    |    Артикул,
    |    ЕдиницаИзмерения.*,
    |    Количество,
    |    ЦенаПродажи,
    |    ТипИсточника}
    |ИЗ
    |    (ВЫБРАТЬ
    |        ЗаказыУСтороннихПоставщиков.НомерЗаказа КАК НомерЗаказа,
    |        ЗаказыУСтороннихПоставщиков.Контрагент КАК Контрагент,
    |        ЗаказыУСтороннихПоставщиков.ДатаЗаказа КАК ДатаЗаказа,
    |        ЗаказыУСтороннихПоставщиков.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
    |        ЗаказыУСтороннихПоставщиков.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
    |        ЗаказыУСтороннихПоставщиков.Комментарий КАК Комментарий,
    |        ЗаказыУСтороннихПоставщиков.НомерЗаказаПоставщика КАК НомерЗаказаПоставщика,
    |        ЗаказыУСтороннихПоставщиков.ТипИсточника КАК ТипИсточника
    |    ИЗ
    |        РегистрСведений.ЗаказыУСтороннихПоставщиков КАК ЗаказыУСтороннихПоставщиков
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПринадлежностьНоменклатурыТНВЭД.СрезПоследних КАК ПринадлежностьНоменклатурыТНВЭДСрезПоследних
    |            ПО ЗаказыУСтороннихПоставщиков.Номенклатура = ПринадлежностьНоменклатурыТНВЭДСрезПоследних.Номенклатура
    |    
    |    СГРУППИРОВАТЬ ПО
    |        ЗаказыУСтороннихПоставщиков.НомерЗаказа,
    |        ЗаказыУСтороннихПоставщиков.АлиасПоставщика,
    |        ЗаказыУСтороннихПоставщиков.Логин,
    |        ЗаказыУСтороннихПоставщиков.Контрагент,
    |        ЗаказыУСтороннихПоставщиков.ДоговорКонтрагента,
    |        ЗаказыУСтороннихПоставщиков.ПунктРазгрузки,
    |        ЗаказыУСтороннихПоставщиков.ДатаДоставки,
    |        ЗаказыУСтороннихПоставщиков.ДатаЗаказа,
    |        ЗаказыУСтороннихПоставщиков.НомерВходящегоДокумента,
    |        ЗаказыУСтороннихПоставщиков.ДатаВходящегоДокумента,
    |        ЗаказыУСтороннихПоставщиков.Корреспондент,
    |        ЗаказыУСтороннихПоставщиков.ДоговорКорреспондента,
    |        ЗаказыУСтороннихПоставщиков.ПунктРазгрузкиКорреспондента,
    |        ЗаказыУСтороннихПоставщиков.Комментарий,
    |        ЗаказыУСтороннихПоставщиков.Поставщик,
    |        ЗаказыУСтороннихПоставщиков.ОжидаемаяДатаОтгрузки,
    |        ЗаказыУСтороннихПоставщиков.НомерЗаказаПоставщика,
    |        ЗаказыУСтороннихПоставщиков.ТипИсточника) КАК ВыборкаЗаказов
    |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |            ЗаказыУСтороннихПоставщиков.Номенклатура КАК Номенклатура,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК Вес,
    |            ЗаказыУСтороннихПоставщиков.Валюта КАК Валюта,
    |            ЗаказыУСтороннихПоставщиков.ЦенаЗаказа КАК ЦенаЗаказа,
    |            ЗаказыУСтороннихПоставщиков.ЦенаПродажи КАК ЦенаПродажи,
    |            ЗаказыУСтороннихПоставщиков.СтранаПроисхождения КАК СтранаПроисхождения,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.БрендСтороннихПоставщиков КАК Бренд,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.КодСтороннегоПоставщика КАК КодСтороннегоПоставщика,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.Код КАК Код,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.ЕдиницаХраненияОстатков.Объем КАК Объем,
    |            ЗаказыУСтороннихПоставщиков.Номенклатура.Артикул КАК Артикул,
    |            ЗаказыУСтороннихПоставщиков.КоличествоОтгрузки КАК Количество,
    |            ПринадлежностьНоменклатурыТНВЭДСрезПоследних.ТНВЭД КАК ТНВЭД,
    |            ЗаказыУСтороннихПоставщиков.КоличествоЗаказа КАК КоличествоЗаказа,
    |            ЗаказыУСтороннихПоставщиков.КоличествоРезерва КАК КоличествоРезерва,
    |            ВЫРАЗИТЬ(ЗаказыУСтороннихПоставщиков.Номенклатура.ПредставлениеНаЭтикетке КАК СТРОКА(100)) КАК ПредставлениеНаЭтикетке,
    |            ЗаказыУСтороннихПоставщиков.ЦенаПрайса КАК ЦенаПрайса,
    |            ЗаказыУСтороннихПоставщиков.ЦенаРезерва КАК ЦенаРезерва,
    |            ЗаказыУСтороннихПоставщиков.СуммаСНДС КАК СуммаСНДС,
    |            ЗаказыУСтороннихПоставщиков.ВалютаДоговора КАК ВалютаДоговора,
    |            ЗаказыУСтороннихПоставщиков.ЦенаПродажиВВалютеДоговора КАК ЦенаПродажиВВалютеДоговора,
    |            ЗаказыУСтороннихПоставщиков.ЦенаЗаказаБезНДС КАК ЦенаЗаказаБезНДС,
    |            ЗаказыУСтороннихПоставщиков.НомерЗаказа КАК НомерЗаказа,
    |            ЗаказыУСтороннихПоставщиков.ТипИсточника КАК ТипИсточника
    |        ИЗ
    |            РегистрСведений.ЗаказыУСтороннихПоставщиков КАК ЗаказыУСтороннихПоставщиков
    |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПринадлежностьНоменклатурыТНВЭД.СрезПоследних КАК ПринадлежностьНоменклатурыТНВЭДСрезПоследних
    |                ПО ЗаказыУСтороннихПоставщиков.Номенклатура = ПринадлежностьНоменклатурыТНВЭДСрезПоследних.Номенклатура) КАК ТоварныйСостав
    |        ПО ВыборкаЗаказов.НомерЗаказа = ТоварныйСостав.НомерЗаказа
    |            И ВыборкаЗаказов.ТипИсточника = ТоварныйСостав.ТипИсточника
    |
    |УПОРЯДОЧИТЬ ПО
    |    НомерЗаказа
    |{УПОРЯДОЧИТЬ ПО
    |    НомерЗаказа,
    |    Контрагент,
    |    ДАТАЗАКАЗА}";

    
    Для Каждого Поле Из ПостроительЗаказы.ДоступныеПоля Цикл
        Представление = Неопределено;
        мСтруктураПредставлений.Свойство(Поле.Имя, Представление);
        Если Представление <> Неопределено Тогда
            Поле.Представление = Представление;
        КонецЕсли;    
    КонецЦикла;
    
    Для Каждого Поле Из ПостроительЗаказы.ДоступныеПоля Цикл
        Если Поле.Отбор Тогда
            ПостроительЗаказы.Отбор.Добавить(Поле.Имя, Поле.Имя, Поле.Представление);
        КонецЕсли;
    КонецЦикла;
    
    ПостроительЗаказы.Порядок.Добавить("НомерЗаказа");    
    ПостроительЗаказы.Порядок.Добавить("Контрагент");
    ПостроительЗаказы.Порядок.Добавить("ДатаЗаказа");
    


Вот только отбор который я указываю почему то при нажатии кнопки отбора в обработке не срабатывает.точнее не заполняется окно с условием отбора.
Подскажите куда рыть?
1 serg-lom89
 
13.03.15
15:11
те.е в условии   Если Поле.Отбор Тогда
поле равно ложь.подскажите где не так?
2 Михаил Козлов
 
13.03.15
15:21
Я обычно формировал только текст построителя и в отбор построителя добавлял "важные" поля. Можно еще задать структуру представлений для удобочитаемости. Это все в ПередОткрытием.
Смысл текста:
Если Поле.Отбор Тогда
ПостроительЗаказы.Отбор.Добавить(Поле.Имя, Поле.Имя, Поле.Представление);
КонецЕсли;
не понял: изначально флага Отбор у полей нет.
На форму помещал ТП с отбором построителя.