|
v7: Как найти документ в справочнике? | ☑ | ||
---|---|---|---|---|
0
Таня-ученица
02.07.15
✎
11:16
|
Помогите отыскать документ.
Создала справочник ДОКИ, в нём сделала реквизит Док (тип Документ), с отбором и реквизит РУБЛ (тип число, в него при записи документа вношу кое-какие числа). Справочник заполнен. Составила запрос, где иду по всем документам: | Жур.IDDoc as [Документ $Документ], | $Доки.Док as [ДОКИ $Строка ], | $ДОКИ.РУБЛ as [РУБЛ $Строка ] |FROM | _1SJourn Жур (nolock) |LEFT JOIN | $Справочник.Доки as Доки (nolock) ON Жур.IDDoc = $Доки.Док Я хочу чтобы при переборе документов, запрос искал данный документ в справочнике ДОКИ в реквизите ДОК и возвращал мне в поле РУБЛ значение числа из реквизита РУБЛ. Но в полях ДОКИ и РУБЛ у меня пусто :( Помогите! |
|||
1
Таня-ученица
02.07.15
✎
11:29
|
Помогите
|
|||
2
Asmody
02.07.15
✎
11:34
|
Я ничего не понял
|
|||
3
Andrey2C
02.07.15
✎
11:35
|
Что у тебя в IdDoc и что в Док? И там и там есть ссылки на документ?
|
|||
4
Таня-ученица
02.07.15
✎
11:36
|
Что у тебя в IdDoc
уникальный идентификатор документа :) и что в Док? ссылка на документ в реквизите справочника ДОКИ |
|||
5
Andrey2C
02.07.15
✎
11:37
|
(4) Ну и как ты соединяешь левоесоединение с разными по типу полями?
|
|||
6
1Сергей
02.07.15
✎
11:38
|
тип реквизита "Док" неопределенного вида?
|
|||
7
Таня-ученица
02.07.15
✎
11:40
|
(5) В поле Доки.Док должен быть тот же уникальный идентификатор.
(6) в шапке же написала - тип ДОКУМЕНТ (не конкретного вида), просто документ Туда записывается значение функцией ТекущийДокумент() при записи документа |
|||
8
1Сергей
02.07.15
✎
11:41
|
ну тогда надо использовать Ссылка13 или как там в 1С++ называется...
|
|||
9
Andrey2C
02.07.15
✎
11:46
|
(7) Должен быть но там ссылка на документ))) Ничего не понятно
|
|||
10
Масянька
02.07.15
✎
11:47
|
(2) Поддерживая.
А что за "нетленка" со справочником документов? |
|||
11
Boroda
02.07.15
✎
11:48
|
К справочнику надо делать INNER JOIN. В справочнике же не все документы что в журнале.
Какой тип реквизита документа в справочнике? Если просто "Документ", то надо делать RIGHT(ИдДок,9) |
|||
12
Boroda
02.07.15
✎
11:49
|
к (11) дополнение, как должно быть:
|INNER JOIN | $Справочник.Доки as Доки (nolock) ON Жур.IDDoc = RIGHT($Доки.Док,9) |
|||
13
viktor_vv
02.07.15
✎
11:53
|
Для получения реквизита шапки документа надо еще таблицу шапки джойнить. И не совсем понятно зачем тебе журнал еще.
| $Доки.Док as [Документ $Документ], | $Доки.Док as [ДОКИ $Строка ], | $ДокШапка1.РУБЛ as [РУБЛ $Строка ] | $Справочник.Доки as Доки (nolock) |LEFT JOIN $Документ.ВидДокумента1 as ДокШапка1 ON ДокШапка1.IDDoc = Right($Доки.Док,9) |
|||
14
Таня-ученица
02.07.15
✎
12:10
|
Попробовала RIGHT($Доки.Док,9)
Работает медленно при большом кол-ве документов :( |
|||
15
Таня-ученица
02.07.15
✎
12:16
|
Т.е. сравниваются последние 9 символов?
|
|||
16
Boroda
02.07.15
✎
12:23
|
(15) В Жур.IdDoc - идентификатор документа, содержит 9 символов, а реквизит типа "Документ" содержит 13 символов, еще 4 символа на вид документа.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |