|
v7: Прямой запрос (вид документа) | ☑ | ||
---|---|---|---|---|
0
pofigos
20.11.13
✎
15:49
|
Добрый день. Есть запрос:
ТекстЗапроса = " |SELECT ОсновнойОстатки.Субконто1 [Субконто1 $Справочник.Контрагенты] |, ОсновнойОстатки.Субконто2 [Субконто2 $Справочник.Документы] |, $Документы.ДоговорДок [Договор $Справочник.Договора] |, $ДокТТН.Мол [Склад $Справочник.Склады] |, ОсновнойОстатки.СуммаОстаток |FROM $БИОстатки.Основной(:ВыбДата~ | , | ,(Счет = :ВыбСчет) | ,(Субконто1,Субконто2) | , Фильтр) AS ОсновнойОстатки | |LEFT JOIN $Справочник.Документы AS Документы (NOLOCK) on Документы.id = ОсновнойОстатки.Субконто2 |LEFT JOIN $Документ.ТТННаОрганизациюТовары as ДокТТН (NOLOCK) on ДокТТН.IdDoc = RIGHT($Документы.СсылкаНаДокумент,9) | | |WHERE (ОсновнойОстатки.СуммаОстаток > 0) | |Условия |"; В принципе все отрабатывает. Проблема в том, что $Документы.СсылкаНаДокумент может принимать 3 Вида документа. Никак не могу выставить условие на то, чтобы отбор был только по одному виду документа. Что-то вроде (ДокТТН.IDDOCDEF = $ВидДокумента.ТТННаОрганизациюТовары). Помогите, кто сможет. |
|||
1
pofigos
20.11.13
✎
15:52
|
(0) Правильнее будет условие:
$Документы.СсылкаНаДокумент.IDDOCDEF = $ВидДокумента.ТТННаОрганизациюТовары |
|||
2
Ёпрст
20.11.13
✎
15:53
|
ну замени left на unner, делов то..
|
|||
3
Ёпрст
20.11.13
✎
15:54
|
вот тут
--LEFT JOIN $Документ.ТТННаОрганизациюТовары as ДокТТН (NOLOCK) on ДокТТН.IdDoc = RIGHT($Документы.СсылкаНаДокумент,9) inner JOIN $Документ.ТТННаОрганизациюТовары as ДокТТН (NOLOCK) on ДокТТН.IdDoc = RIGHT($Документы.СсылкаНаДокумент,9) |
|||
4
pofigos
20.11.13
✎
15:55
|
(3) во тупил то. Спасибо
|
|||
5
pofigos
20.11.13
✎
15:57
|
ЁПРСТ, вопрос еще..Конструкция $БИОстатки.Основной(,,,,) предусматривает параметр соединения? хотелось бы часть информации отфильтровать до выбора ВТ
|
|||
6
pofigos
20.11.13
✎
18:00
|
И еще на вопрос наткнулся.. Дописал немного запрос. Остался последний штрих. Нужно получить значение периодического реквизита из справочника Контрагенты.
ТекстЗапроса = " |SELECT ОсновнойОстатки.Субконто1 [Субконто1 $Справочник.Контрагенты] |, ОсновнойОстатки.Субконто2 [Субконто2 $Справочник.Документы] |, $ДокТТН.Мол [Склад $Справочник.Склады] |, ОсновнойОстатки.СуммаОстаток |FROM $БИОстатки.Основной(:ВыбДата~ | , |,(Счет = :ВыбСчет) |,(Субконто1,Субконто2) |, Фильтр) AS ОсновнойОстатки | |LEFT JOIN $Справочник.Документы AS Документы (NOLOCK) on Документы.id = ОсновнойОстатки.Субконто2 |LEFT JOIN $Справочник.Договора AS Договора (NOLOCK) on Договора.id = RIGHT($Документы.ДоговорДок,9) |LEFT JOIN $Справочник.Контрагенты AS Контрагент (NOLOCK) on Контрагент.id = ОсновнойОстатки.Субконто1 |INNER JOIN $Документ.ТТННаОрганизациюТовары as ДокТТН (NOLOCK) on ДокТТН.IdDoc = RIGHT($Документы.СсылкаНаДокумент,9) |INNER JOIN $Справочник.Сотрудники AS Сотрудник (NOLOCK) on Сотрудник.id = $ДокТТН.Менеджер | | |WHERE (ОсновнойОстатки.СуммаОстаток > 0) | |Условия |"; Подскажите, как сделать |
|||
7
Ёпрст
20.11.13
✎
18:02
|
||||
8
pofigos
20.11.13
✎
18:04
|
(7) Спасибо добрый человек.
|
|||
9
pofigos
20.11.13
✎
18:50
|
ну и последний наглый вопрос.. Пустая строка как-либо иначе проверяется?
Условия=Условия+"AND (RTRIM(LTRIM($ПоследнееЗначение.Контрагенты.КомментарийДляСуда(ОсновнойОстатки.Субконто1, :ВыбДата))) <> :ПустСтр )"; Запрос.УстановитьТекстовыйПараметр("ПустСтр",Строка("")); |
|||
10
viktor_vv
20.11.13
✎
18:52
|
Условия=Условия+"AND (RTRIM(LTRIM($ПоследнееЗначение.Контрагенты.КомментарийДляСуда(ОсновнойОстатки.Субконто1, :ВыбДата))) <> '' )";
одинарные кавычки, чтобы параметр не устанвливать. |
|||
11
Mikeware
20.11.13
✎
18:52
|
(9) а чем не угодило '' ?
|
|||
12
pofigos
20.11.13
✎
18:55
|
(11) тем что не вспомнил даже про это ) Спасибо. Отрабатывает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |