Имя: Пароль:
1C
1С v8
Подскажите конструкцию языка запроса
0 m_roose
 
16.12.14
15:53
Ребят, кто подскажет, что делает такая конструкция или где почитать об этом поподробнее можно, когда выводимое поле пишется через точку со звездочкой: поле.* и когда аналогично это пишется в параметрах виртуальной таблицы остатки. пример запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ //РАЗЛИЧНЫЕ
    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиОстатки.Организация КАК Организация,
    ВзаиморасчетыСКонтрагентамиОстатки.Сделка КАК Сделка,
    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента),
    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.Контрагент),
    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.Организация),
    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.Сделка),
    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов) КАК ВалютаВзаиморасчетовПредставление,
    ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов,
    ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК СуммаУпр
    //ПОЛЯ_СВОЙСТВА
    //ПОЛЯ_КАТЕГОРИИ
{ВЫБРАТЬ
    Контрагент.*,
    Организация.*,
    ДоговорКонтрагента.*,
    ВалютаВзаиморасчетов,
    Сделка.*,
    СуммаВзаиморасчетов,
    СуммаУпр
    //ПСЕВДОНИМЫ_СВОЙСТВА
    //ПСЕВДОНИМЫ_КАТЕГОРИИ
}
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКон, {Контрагент.* КАК Контрагент, Сделка.* КАК Сделка, ДоговорКонтрагента.* КАК ДоговорКонтрагента, Организация.* КАК Организация}) КАК ВзаиморасчетыСКонтрагентамиОстатки
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
        РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКон,{Контрагент.* КАК Контрагент, Сделка.* КАК Сделка, ДоговорКонтрагента.* КАК ДоговорКонтрагента, Организация.* КАК Организация}) КАК ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа
            ПО ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента = ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.ДоговорКонтрагента
            И ВзаиморасчетыСКонтрагентамиОстатки.Сделка = ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.Сделка
            И ВЫБОР
                КОГДА &ПереключательЗадолженность = 1
                    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.СуммаВзаиморасчетовОстаток>0
                КОГДА &ПереключательЗадолженность = 2
                    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.СуммаВзаиморасчетовОстаток<0
                ИНАЧЕ Истина
            КОНЕЦ
    //СОЕДИНЕНИЯ
{
ГДЕ
    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент.* КАК Контрагент,
   ВзаиморасчетыСКонтрагентамиОстатки.Организация.* КАК Организация,
    ВзаиморасчетыСКонтрагентамиОстатки.Сделка.* КАК Сделка,
    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.* КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов,
    ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК СуммаУпр
    //УСЛОВИЯ_СВОЙСТВА
    //УСЛОВИЯ_КАТЕГОРИИ
}

{УПОРЯДОЧИТЬ ПО
    Организация.*,
    Контрагент.*,
    ДоговорКонтрагента.*,
    ВалютаВзаиморасчетов,
    Сделка,
    СуммаВзаиморасчетов,
    СуммаУпр
    //ПСЕВДОНИМЫ_СВОЙСТВА
    //ПСЕВДОНИМЫ_КАТЕГОРИИ
}

ИТОГИ СУММА(СуммаВзаиморасчетов), СУММА(СуммаУпр)
    //ИТОГИ_СВОЙСТВА
    //ИТОГИ_КАТЕГОРИИ
    ПО ОБЩИЕ
{ИТОГИ ПО
    Организация.*,
    Контрагент.*,
    ДоговорКонтрагента.*,
    Сделка.*,
    ВалютаВзаиморасчетов
    //ПСЕВДОНИМЫ_СВОЙСТВА
    //ПСЕВДОНИМЫ_КАТЕГОРИИ
}

АВТОУПОРЯДОЧИВАНИЕ
1 vicof
 
16.12.14
15:56
Это расширение языка запросов для построителя
2 palpetrovich
 
16.12.14
16:00
(0) почуствуй разницу :)
//выборка всех невиртуальных полей из таблицы справочника
ВЫБРАТЬ Справочник.Номенклатура.*

//выборка определенных полей из таблицы справочника
ВЫБРАТЬ
     Справочник.Номенклатура.Код,
     Справочник.Номенклатура.Наименование,
     Справочник.Номенклатура.Представление //виртуальное поле
3 m_roose
 
16.12.14
16:03
(2) вот честно не могу соотнести то, что вы написали, с тем что в запросе, для меня это разные вещи, на примере моего запроса не объясните?
(1) т.е. в обычном запросе такая конструкция работать не будет?
4 vicof
 
16.12.14
16:10
(3) нет, она там не нужна
5 zhig75
 
16.12.14
16:13
Через точку со звездочкой, означает возможность использовать дочерние реквизиты, в отчетах написанных на скд, или в построителе.
6 m_roose
 
16.12.14
16:19
(5) спасибо
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший