| 
    
            
         
         | 
    
    
  | 
Написание запроса вручную | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        zippygrill    
     29.09.13 
            ✎
    15:37 
 | 
         
        Не получается написать запрос вручную. Конструктор не вызвать из за ТЗ в качестве источника запроса. Ругается на "Ожидается выражение "КОНЕЦ"
 
        <<?>>ИТОГИ" Запрос ВЫБРАТЬ * ПОМЕСТИТЬ вт Из &РаспределенныеПриходыРасходы КАК РаспределенныеПриходыРасходы ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вт.Аванс КАК Аванс, вт.ДатаОплаты КАК ДатаОплаты, вт.ДатаОплатыПоНакладной КАК ДатаОплатыПоНакладной, вт.ДатаОтгрузки КАК ДатаОтгрузки, вт.ДнейОтрочкиПоНакладной КАК ДнейОтрочкиПоНакладной, вт.Договор КАК ДоговорКонтрагента, вт.Долг КАК Долг, вт.Контрагент КАК Контрагент, вт.Оплачено КАК Оплачено, вт.Организация КАК Организация, вт.Просрочка КАК Просрочка, вт.РегистраторПриход КАК РегистраторПриход, вт.РегистраторРасход КАК РегистраторРасход, вт.СуммаОплаты КАК СуммаОплаты, вт.СуммаОтгрузки КАК СуммаОтгрузки, вт.УпрДолгПоДоговоруКонтрагента КАК УпрДолгПоДоговоруКонтрагента, ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Значение КАК ОтветственныйПоДоговору, Выбор Когда вт.Просрочка > 0 И вт.Долг > 0 Тогда вт.Долг иначе 0 Конец КАК ПросроченныйДолг, ВЫБОР КОГДА вт.Аванс = 0 ТОГДА вт.Долг - вт.УпрДолгПоДоговоруКонтрагента ИНАЧЕ вт.Аванс - ВЫБОР КОГДА вт.УпрДолгПоДоговоруКонтрагента < 0 ТОГДА -вт.УпрДолгПоДоговоруКонтрагента ИНАЧЕ вт.УпрДолгПоДоговоруКонтрагента КОНЕЦ КОНЕЦ КАК РазницаБухДолгИУпрДолг ИЗ вт КАК вт ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору ПО вт.Договор = ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Объект И (ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Свойство = &СвойствоОтветственныйПоДоговору) ГДЕ Выбор Когда &ФлажокТолькоПолностьюНеЗакрытыеАвансы Тогда вт.Аванс > 0 Иначе ИСТИНА КОНЕЦ И ВЫБОР КОГДА &ФлажокТолькоПолностьюНеЗакрытыеДолги ТОГДА вт.Долг > 0 ИНАЧЕ ИСТИНА КОНЕЦ И ВЫБОР КОГДА &ФлажокТолькоПросроченнаяДебиторскаяЗадолженность ТОГДА вт. ИТОГИ СУММА(вт.Аванс), СУММА(вт.Долг), СУММА(вт.Оплачено), СУММА(вт.СуммаОплаты), СУММА(вт.СуммаОтгрузки), СУММА(вт.УпрДолгПоДоговоруКонтрагента) ПО вт.Организация, ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Значение, вт.Контрагент, вт.Договор  | 
|||
| 
    1
    
        zippygrill    
     29.09.13 
            ✎
    15:38 
 | 
         
        ВЫБРАТЬ *
 
        ПОМЕСТИТЬ вт Из &РаспределенныеПриходыРасходы КАК РаспределенныеПриходыРасходы ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вт.Аванс КАК Аванс, вт.ДатаОплаты КАК ДатаОплаты, вт.ДатаОплатыПоНакладной КАК ДатаОплатыПоНакладной, вт.ДатаОтгрузки КАК ДатаОтгрузки, вт.ДнейОтрочкиПоНакладной КАК ДнейОтрочкиПоНакладной, вт.Договор КАК ДоговорКонтрагента, вт.Долг КАК Долг, вт.Контрагент КАК Контрагент, вт.Оплачено КАК Оплачено, вт.Организация КАК Организация, вт.Просрочка КАК Просрочка, вт.РегистраторПриход КАК РегистраторПриход, вт.РегистраторРасход КАК РегистраторРасход, вт.СуммаОплаты КАК СуммаОплаты, вт.СуммаОтгрузки КАК СуммаОтгрузки, вт.УпрДолгПоДоговоруКонтрагента КАК УпрДолгПоДоговоруКонтрагента, ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Значение КАК ОтветственныйПоДоговору, Выбор Когда вт.Просрочка > 0 И вт.Долг > 0 Тогда вт.Долг иначе 0 Конец КАК ПросроченныйДолг, ВЫБОР КОГДА вт.Аванс = 0 ТОГДА вт.Долг - вт.УпрДолгПоДоговоруКонтрагента ИНАЧЕ вт.Аванс - ВЫБОР КОГДА вт.УпрДолгПоДоговоруКонтрагента < 0 ТОГДА -вт.УпрДолгПоДоговоруКонтрагента ИНАЧЕ вт.УпрДолгПоДоговоруКонтрагента КОНЕЦ КОНЕЦ КАК РазницаБухДолгИУпрДолг ИЗ вт КАК вт ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору ПО вт.Договор = ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Объект И (ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Свойство = &СвойствоОтветственныйПоДоговору) ГДЕ Выбор Когда &ФлажокТолькоПолностьюНеЗакрытыеАвансы Тогда вт.Аванс > 0 Иначе ИСТИНА КОНЕЦ И ВЫБОР КОГДА &ФлажокТолькоПолностьюНеЗакрытыеДолги ТОГДА вт.Долг > 0 ИНАЧЕ ИСТИНА КОНЕЦ И ВЫБОР КОГДА &ФлажокТолькоПросроченнаяДебиторскаяЗадолженность ТОГДА вт. ИТОГИ СУММА(вт.Аванс), СУММА(вт.Долг), СУММА(вт.Оплачено), СУММА(вт.СуммаОплаты), СУММА(вт.СуммаОтгрузки), СУММА(вт.УпрДолгПоДоговоруКонтрагента) ПО вт.Организация, ЗначенияСвойствОбъектовСвойствоОтветственныйПоДоговору.Значение, вт.Контрагент, вт.Договор  | 
|||
| 
    2
    
        GROOVY    
     29.09.13 
            ✎
    15:39 
 | 
         
        ВЫБОР КОГДА ТОГДА КОНЕЦ     
         | 
|||
| 
    3
    
        zippygrill    
     29.09.13 
            ✎
    15:39 
 | 
         
        проблема в последних 2 полях :)     
         | 
|||
| 
    4
    
        Armando    
     29.09.13 
            ✎
    15:39 
 | 
         
        >> Конструктор не вызвать из за ТЗ в качестве источника запроса
 
        че за бред?  | 
|||
| 
    5
    
        zippygrill    
     29.09.13 
            ✎
    15:43 
 | 
         
        (4)почему бред? У меня не разу не получалось написать запрос когда в качестве источника ТЗ.     
         | 
|||
| 
    6
    
        viktor_vv    
     29.09.13 
            ✎
    15:44 
 | 
         
        (3) Проблема тут в условии. Или обрезало или косяк
 
        И ВЫБОР КОГДА &ФлажокТолькоПросроченнаяДебиторскаяЗадолженность ТОГДА вт.  | 
|||
| 
    7
    
        Зойч    
     29.09.13 
            ✎
    15:44 
 | 
         
        (5) не пиши Выбрать * из &ТЗ и будет норм работать     
         | 
|||
| 
    8
    
        zippygrill    
     29.09.13 
            ✎
    15:47 
 | 
         
        (6)я дописал вроде.
 
        (7)а как иначе?  | 
|||
| 
    9
    
        viktor_vv    
     29.09.13 
            ✎
    15:48 
 | 
         
        (8) Перечисляй поля в явном виде.     
         | 
|||
| 
    10
    
        zippygrill    
     29.09.13 
            ✎
    15:49 
 | 
         
        в условиях да, а в ИТОГАХ?     
         | 
|||
| 
    11
    
        zippygrill    
     29.09.13 
            ✎
    15:50 
 | 
         
        о в итогах через точку. похоже заработало.
 
        спасибо  | 
|||
| 
    12
    
        bard666    
     29.09.13 
            ✎
    15:53 
 | 
         
        В конструкторе жмакаешь создать временную таблицу и в качестве названия задаешь параметр. (в примере это &табл) Указываешь поля которые нужно выбрать (наименование должно совпадать с полями ТЗ). Помещаешь во временную таблицу и можешь пользоваться.
 
        ВЫБРАТЬ | Табл.Номенклатура, | Табл.Количество |ПОМЕСТИТЬ ВТ |ИЗ | &Табл КАК Табл |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ.Номенклатура, | ВТ.Количество |ИЗ | ВТ КАК ВТ Запрос.УстановитьПараметр("Табл", ТвояТЗ); Пробуй  | 
|||
| 
    13
    
        zippygrill    
     29.09.13 
            ✎
    15:56 
 | 
         
        ооо где-то в типовой я видел подобное.     
         | 
|||
| 
    14
    
        bard666    
     29.09.13 
            ✎
    16:04 
 | 
         
        Может и есть что-то такое в типовой, но этот пример я сам по бырику накидал..     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |