Имя: Пароль:
1C
1С v8
Отбор в СКД
0 Малый Тихон
 
05.11.15
07:52
Всем привет. Есть простой запрос в СКД:

ВЫБРАТЬ
    МаршрутныеКартыТрудозатраты.Ссылка КАК МаршрутнаяКарта,
    МаршрутныеКартыТрудозатраты.Количество КАК НормаВремениНаШтуку,
    МаршрутныеКартыТрудозатраты.ВидРабот КАК Операция,
    МаршрутныеКартыТрудозатраты.Операция КАК ОперацияДляСвязи,
    ПОДСТРОКА(МаршрутныеКартыТрудозатраты.Операция.РабочийЦентр.Наименование, 13, 2) КАК Подразделение,
    МаршрутныеКартыВыходныеИзделия.Номенклатура.Наименование КАК ЧертежныйНомер,
    МаршрутныеКартыВыходныеИзделия.Номенклатура.НаименованиеПолное КАК Наименование,
    МаршрутныеКартыТрудозатраты.ВидРабот.КодОперации КАК НомерОперации,
    МаршрутныеКартыТрудозатраты.ВидРабот.Наименование КАК наименованиеОперации,
    МаршрутныеКартыВыходныеИзделия.Номенклатура
ПОМЕСТИТЬ ОснованяТаблица
ИЗ
    Справочник.МаршрутныеКарты.Трудозатраты КАК МаршрутныеКартыТрудозатраты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.МаршрутныеКарты.ВыходныеИзделия КАК МаршрутныеКартыВыходныеИзделия
        ПО МаршрутныеКартыТрудозатраты.Ссылка = МаршрутныеКартыВыходныеИзделия.Ссылка

ИНДЕКСИРОВАТЬ ПО
    ОперацияДляСвязи
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    ДополнительныеРеквизиты.Ссылка КАК Ссылка,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоРазрядРаботы
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК РазрядРаботы,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоШифрПрофессии
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК ШифрПрофессии,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоВидОплаты
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК ВидОплаты,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоВидОборудования
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК ВидОборудования,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоВидНорм
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК ВидНорм,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоВидТарифа
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК ВидТарифа,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоУровеньМеханики
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК УровеньМеханики,
    МАКСИМУМ(ВЫБОР
            КОГДА ДополнительныеРеквизиты.Свойство = &СвойствоУчасток
                ТОГДА ДополнительныеРеквизиты.Значение
            ИНАЧЕ &ПустаяСтрока
        КОНЕЦ) КАК Участок
ПОМЕСТИТЬ ДопРеквизиты
ИЗ
    ОснованяТаблица КАК ОснованяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТехнологическиеОперации.ДополнительныеРеквизиты КАК ДополнительныеРеквизиты
        ПО ОснованяТаблица.ОперацияДляСвязи = ДополнительныеРеквизиты.Ссылка

СГРУППИРОВАТЬ ПО
    ДополнительныеРеквизиты.Ссылка

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
    ОснованяТаблица.МаршрутнаяКарта КАК МаршрутнаяКарта,
    ОснованяТаблица.Операция КАК Операция,
    ДопРеквизиты.РазрядРаботы КАК РазрядРаботы,
    ДопРеквизиты.ШифрПрофессии КАК ШифрПрофессии,
    ДопРеквизиты.ВидОплаты КАК ВидОплаты,
    ДопРеквизиты.ВидОборудования КАК ВидОборудования,
    ДопРеквизиты.ВидНорм КАК ВидНорм,
    ДопРеквизиты.ВидТарифа КАК ВидТарифа,
    ДопРеквизиты.УровеньМеханики КАК УровеньМеханики,
    ДопРеквизиты.Участок КАК Участок,
    ОснованяТаблица.НормаВремениНаШтуку КАК НормаВремениНаШтуку,
    ОснованяТаблица.ЧертежныйНомер КАК ЧертежныйНомер,
    ОснованяТаблица.Наименование КАК Наименование,
    ОснованяТаблица.НомерОперации КАК НомерОперации,
    ОснованяТаблица.наименованиеОперации КАК наименованиеОперации,
    ОснованяТаблица.Номенклатура КАК Номенклатура,
    ВложенныйЗапрос.Ссылка.Ссылка КАК Подразделение
{ВЫБРАТЬ
    МаршрутнаяКарта.*,
    Операция.*,
    РазрядРаботы.*,
    ШифрПрофессии.*,
    ВидОплаты.*,
    ВидОборудования.*,
    ВидНорм.*,
    ВидТарифа.*,
    УровеньМеханики.*,
    Участок.*,
    НормаВремениНаШтуку,
    ЧертежныйНомер,
    Наименование,
    НомерОперации,
    наименованиеОперации,
    Номенклатура.*,
    Подразделение.*}
ИЗ
    ОснованяТаблица КАК ОснованяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ ДопРеквизиты КАК ДопРеквизиты
        ПО ОснованяТаблица.ОперацияДляСвязи = ДопРеквизиты.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СтруктураПредприятияДополнительныеРеквизиты.Значение КАК Значение,
            СтруктураПредприятияДополнительныеРеквизиты.Ссылка.Ссылка КАК Ссылка
        ИЗ
            Справочник.СтруктураПредприятия.ДополнительныеРеквизиты КАК СтруктураПредприятияДополнительныеРеквизиты
        ГДЕ
            СтруктураПредприятияДополнительныеРеквизиты.Свойство = &СвойствоДляПодразделения) КАК ВложенныйЗапрос
        ПО ОснованяТаблица.Подразделение = ВложенныйЗапрос.Значение
{ГДЕ
    ОснованяТаблица.МаршрутнаяКарта.*,
    ОснованяТаблица.Операция.*,
    ДопРеквизиты.РазрядРаботы.*,
    ДопРеквизиты.ШифрПрофессии.*,
    ДопРеквизиты.ВидОплаты.*,
    ДопРеквизиты.ВидОборудования.*,
    ДопРеквизиты.ВидНорм.*,
    ДопРеквизиты.ВидТарифа.*,
    ДопРеквизиты.УровеньМеханики.*,
    ДопРеквизиты.Участок.*,
    ОснованяТаблица.ЧертежныйНомер,
    ОснованяТаблица.Номенклатура.*,
    ВложенныйЗапрос.Ссылка.Ссылка.* КАК Подразделение}



В настройках СКД ставлю отбор по Номенклатуре и Подразделению. По номенклатуре поиск происходит по Подразделению нет. Почему так происходит, всю голову уже сломал?
1 SeraFim
 
05.11.15
07:54
Нужно больше ссылок!
2 SeraFim
 
05.11.15
07:55
ОснованяТаблица.Подразделение = ВложенныйЗапрос.Значение
ЛЕВОЕ СОЕДИНЕНИЕ
ВложенныйЗапрос.Ссылка.Ссылка КАК Подразделение

Для начала разберись, что такое подразделение и где оно у тебя.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший