|
v7: Прямой запрос (поиск по номеру док) | ☑ | ||
---|---|---|---|---|
0
LOTOS2000
12.12.14
✎
17:36
|
Нужно найти документ по номеру (номер тип = число)
ТекстЗапросаСКЛ = " |SELECT | Жур.IDDoc as [Док $Документ], | Жур.IDDocDef as Док_вид | |FROM | _1SJourn Жур |INNER JOIN | $Документ.РРР as ДокРРР ON ДокРРР.IDDoc = Жур.IDDoc |WHERE | Жур.Docno = :ДН |"; рс.УстановитьТекстовыйПараметр("ДН", ПромНомер ); ПромНомер - строка с номером документа. Как красиво (кастом или конвертом) преобразовать и найти номер? Если можно пример. |
|||
1
Злопчинский
12.12.14
✎
17:38
|
Могу нести херню - но нафига тебе джоин к таблице документа, если все что надо ты получаешь в Жур.IDDoc ...?
|
|||
2
Злопчинский
12.12.14
✎
17:39
|
И Следует учесть - периодичность нумерации документов
|
|||
3
LOTOS2000
12.12.14
✎
17:39
|
Джоин - для отбора по виду документа.
|
|||
4
LOTOS2000
12.12.14
✎
17:40
|
иначе получу пачку документов
|
|||
5
Гёдза
12.12.14
✎
17:41
|
в журнале есть вид документа
|
|||
6
LOTOS2000
12.12.14
✎
17:43
|
джойн - не существенно.
Мне нужно вот это: | Жур.Docno = :ДН переписать во что-то такое: | Жур.Docno = cast(:ДН as numeric(5)) |
|||
7
LOTOS2000
12.12.14
✎
17:45
|
Вот в таком виде:
ТекстЗапросаСКЛ = " |SELECT | Жур.IDDoc as [Док $Документ], | Жур.IDDocDef as Док_вид | |FROM | _1SJourn Жур |WHERE | Жур.Docno = :ДН |"; я получаю документы, у которых НомерДок = строка, а это не то что мне нужно. |
|||
8
mehfk
12.12.14
✎
17:46
|
DOCNO Номер документа. Длина определяется максимальным номером всех документов. Тип - Строка (максимальное значение - 20).
|
|||
9
Злопчинский
12.12.14
✎
17:47
|
посмотри DD файл на своем документе - там все равно номер документа - это строка.
так что все что тебе надо - это число преобразовать в строку, боюсь ошибиться - с ведущими пробелами |
|||
10
Злопчинский
12.12.14
✎
17:48
|
для ограничения по able документа м.б. имеет смысл вот сюда условие наложить: Жур.IDDocDef
а не джойнить нафиг ненужную таблицу |
|||
11
Ёпрст
12.12.14
✎
17:52
|
(0)
ТекстЗапросаСКЛ = " |SELECT | Жур.IDDoc as [Док $Документ], | Жур.IDDocDef as Док_вид | |FROM | _1SJourn Жур |WHERE Жур.iddocdef=$ВидДокумента.НужныйВид and | Жур.Docno like'%:НужныйНомер%' |
|||
12
mehfk
12.12.14
✎
17:55
|
НужныйНомер = 1000
найдет док с номером 11000, я1000 и т.д. |
|||
13
antoneus
12.12.14
✎
17:55
|
а если тупо рс.УстановитьТекстовыйПараметр("ДН", Число(ПромНомер));
|
|||
14
LOTOS2000
12.12.14
✎
17:55
|
Лайк!
Спасибо! Решилось :) (11) |
|||
15
Ёпрст
12.12.14
✎
17:56
|
(12) ну, пусть тогда добивает до длины нумера и ишет по равенству, хотя поиск по номеру.. да еще и не в пределах периодичности дока - вообще зло
|
|||
16
Ёпрст
12.12.14
✎
17:57
|
(14) рано радуешься, если номер дока имеет периодичность год, к примеру , то возможны дубли с разными датами..
|
|||
17
Ёпрст
12.12.14
✎
17:57
|
ну и ладно
|
|||
18
LOTOS2000
12.12.14
✎
17:58
|
(16) я знаю, уже сделал ловушку :)
|
|||
19
mehfk
12.12.14
✎
18:00
|
(18) Теперь проверь на НужныйНомер = 1
|
|||
20
LOTOS2000
12.12.14
✎
18:04
|
(19) its work
|
|||
21
antoneus
12.12.14
✎
18:08
|
(20) it works тогда уж или it's working )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |