![]() |
![]() |
![]() |
|
Написание запроса вручную | ☑ | ||
---|---|---|---|---|
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
|
Может и есть что-то такое в типовой, но этот пример я сам по бырику накидал..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |