|
v7: Как выбрать элементы по документу? | ☑ | ||
---|---|---|---|---|
0
Таня-ученица
10.08.15
✎
16:08
|
Создала справочник "А", где одним из реквизитов типа "Документ" (реквизит "Документ").
Хочу отобрать только те элементы справочника, которые равны моему текущему документу. Написала запрос: |SELECT |DOC.DESCR as [Наименование], |СпрСотр.DESCR as [Сотрудник] | |FROM | $Справочник.А as Спр | |INNER JOIN | _1SJOURN As DOC ON DOC.IDDOC = $Спр.Документ |LEFT JOIN | $Справочник.Сотрудники as СпрСотр ON СпрСотр.ID = $Спр.Сотрудник | |WHERE |DOC.IDDOC = :Док | |"; запросSQL.УстановитьТекстовыйПараметр("Док", ТекущийДокумент()); Но в выборке пусто. Помогите найти ошибку! |
|||
1
Таня-ученица
10.08.15
✎
16:13
|
Под селектом нужно так:
|SELECT |СпрСотр.DESCR as [Сотрудник] | но не помогает. Тут что-то в |INNER JOIN | _1SJOURN As DOC ON DOC.IDDOC = $Спр.Документ тип реквизита не конкретный вид документа, а общий "Документ" |
|||
2
Абыр
10.08.15
✎
16:23
|
(0) тип реквизита "Документ" какой?
|
|||
3
Абыр
10.08.15
✎
16:25
|
если тип "Документ", т.е. без указания конкретного вида, то Спр.Документ = DOC.IDDOCDEF + DOC.IDDOC, а не просто IDDOC
|
|||
4
Абыр
10.08.15
✎
16:25
|
и для описанной задачи джойн с журналом не нужен.
можете сразу сделать отбор по реквизиту справочника в WHERE |
|||
5
Таня-ученица
10.08.15
✎
16:28
|
(4) Напишите пример после WHERE
|
|||
6
Таня-ученица
10.08.15
✎
16:34
|
Я вот этого не поняла:
Спр.Документ = DOC.IDDOCDEF + DOC.IDDOC |
|||
7
palpetrovich
10.08.15
✎
16:34
|
(5) так наверное:
|SELECT |СпрСотр.DESCR as [Сотрудник] |FROM | $Справочник.А as СпрСотр |WHERE |СпрСотр.РеквизитТипаДокумент = :Док |
|||
8
Mutniy2
10.08.15
✎
16:35
|
||||
9
Mutniy2
10.08.15
✎
16:37
|
Короч. script-coding.com/v77tables.html
И пункт "1.1.1. Хранение ID объекта" |
|||
10
Таня-ученица
10.08.15
✎
16:38
|
(7) Сделала так, но в выборке снова пусто.
|
|||
11
Таня-ученица
10.08.15
✎
16:39
|
Сделала внутреннее соединение так:
|INNER JOIN | _1SJOURN As DOC ON DOC.IDDOC = $Спр.Документ AND DOC.IDDOCDEF = $ВидДокумента.Расход В выборке пусто. |
|||
12
Ёпрст
10.08.15
✎
16:39
|
(0)
|INNER JOIN | _1SJOURN As DOC (nolock) ON DOC.IDDOC = right($Спр.Документ,9) |
|||
13
Ёпрст
10.08.15
✎
16:40
|
ну и из селекта, вот этот бред выкини
DOC.DESCR as [Наименование], |
|||
14
Таня-ученица
10.08.15
✎
16:42
|
(12) Снова в выборке пусто. :(
(13) Давно выкинула. |
|||
15
Ёпрст
10.08.15
✎
16:43
|
и ...всё в топку, пиши так, что ле:
|SELECT |Спр .DESCR as [Наименование], |СпрСотр.DESCR as [Сотрудник] | |FROM | $Справочник.А as Спр (nolock) |LEFT JOIN | $Справочник.Сотрудники as СпрСотр (nolock) ON СпрСотр.ID = $Спр.Сотрудник |Where $Спр.Документ = :ВыбДокумент~ |
|||
16
Таня-ученица
10.08.15
✎
16:44
|
Всё, разобралась :)
Я - умница! |
|||
17
Таня-ученица
10.08.15
✎
16:45
|
Спасибо, Ёпрстик! :)
|
|||
18
Эльниньо
11.08.15
✎
14:15
|
Спр.ВыбратьЭлементыПоРеквизиту() чем плох?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |