|
Поиск документа по номеру | ☑ | ||
---|---|---|---|---|
0
Garikus
22.12.16
✎
10:42
|
Доброго времени суток, поделитесь идеей
Есть список документов с номерами 1,2,3,4,5,6,7,8 и т.д. В базе документы с номерами ПР0000001,ПР0000002,ПР0000003 и т.д. Нужно искать по короткому номеру. Пробовал запросом через ПОДОБНО %номер, но таким макаром он находит все документы где содержится цифра переменной Номер. Как можно побороть? |
|||
1
Альбатрос
22.12.16
✎
10:44
|
Добавлять нули в цикле, пока не достигнет длины номера?
|
|||
2
ВРедная
22.12.16
✎
10:45
|
Если это постоянная задача, то проще добавить в документ номер без нулей и префикса, а потом по этому полю искать через "=".
|
|||
3
Cool_Profi
22.12.16
✎
10:47
|
номерДляпоиска = "ПР"+ формат(номер, "ЧЦ=7; ЧВН=; ЧГ=");
|
|||
4
Garikus
22.12.16
✎
10:49
|
(1)в том то и дело что на момент начала поиска неизвестно какой номер в базе и какой длинны он. И номер может содержать нули а может и нет.
(2) Задача постоянная, но добавить не получится документы документы отправляются в органы с полным префиксом и номерами( (3) Как писал выше точного формата номера не знаю(, вернее он разный в базе |
|||
5
Альбатрос
22.12.16
✎
10:51
|
(4) То есть искать надо по последним цифрам в номере?
|
|||
6
Garikus
22.12.16
✎
10:51
|
да
|
|||
7
Garikus
22.12.16
✎
10:51
|
может в подобно я по символам как то не так написал(
|
|||
8
FIXXXL
22.12.16
✎
10:52
|
(4) добавь РС НомераДляПоиска типа ДокСсылка - НомерБезВсего
обработиной заполни, сделай подпиську ищи на здоровье |
|||
9
FIXXXL
22.12.16
✎
10:52
|
(7) если ты не знаешь формат. искать по ПОДОБНО будет сильно подобно
|
|||
10
Garikus
22.12.16
✎
10:54
|
(10) пока нашел решение в том чтобы формировать список доков в ТЗ приводить номер документов в нужный мне вид и потом уже искать по ТЗ
|
|||
11
Garikus
22.12.16
✎
10:54
|
Хотелось бы конечно без промежуточных методах обойтись
|
|||
12
bodri
22.12.16
✎
10:55
|
как вариант:
Если известен период, выбрать запросом документы, а потом переборкой в цикле, вот там и можно поиграться с длиной текущего документа как в (3) |
|||
13
Garikus
22.12.16
✎
10:57
|
Для каждого ст из Таб цикл
//Д = Формат(ст.ДокДата,"ДЛФ=Д"); //Ст.ДокДата = Дата(Д); номр = Прав(ст.ДокНом, 8); Пока Лев(номр, 1)="0" Цикл номр = Сред(номр, 2); КонецЦикла; ст.ДокНом = СокрЛП(номр); КонецЦикла; Пока как то так извращаюсь, но это + время к обработке( |
|||
14
Garikus
22.12.16
✎
10:57
|
сорь комменты забыл убрать
|
|||
15
Garikus
22.12.16
✎
10:58
|
но тоже не все номера корректно редет(
|
|||
16
catena
22.12.16
✎
11:01
|
(13)Префиксы хоть постоянные или тоже разные?
|
|||
17
Мимохожий Однако
22.12.16
✎
11:02
|
ОФФ: Бардак разгребать тяжелее, чем сразу делать правильно. Т.к. у бардака вариаций на порядки больше.
(0)Побороть можно только наведением порядка. |
|||
18
catena
22.12.16
✎
11:03
|
Для каждого префикс из СписокПрефиксов Цикл
номр = СтрЗаменить(номр,префикс,""); КонецЦикла; номр = Число(номр); |
|||
19
bodri
22.12.16
✎
11:06
|
(13) по длине можно с СтрДлина поигратся
|
|||
20
FIXXXL
22.12.16
✎
11:06
|
(13) для сокращения времени поиска - пиши правильный номер поиска при записи дока
|
|||
21
Garikus
22.12.16
✎
11:16
|
(20) Самый прикол в том что это файл в экселе приходит от клиентов, а там номер который они забили у себя в базе может хз какой быть, как оператору вздумалось
|
|||
22
ВРедная
22.12.16
✎
11:17
|
(13) еще раз, просто во время записи документа с номером "ХХ000001" пиши в отдельный реквизит (новый, свой реквизит, не "номер") число номера - в данном случае - "1".
Потом, при поиске ищи не по номеру документа (который с префиксом и нулями) а по своему реквизиту, который уже без префиксов и нулей. |
|||
23
FIXXXL
22.12.16
✎
11:20
|
(21) и что ты хочешь найти в своей базе по "хз знает какому" номеру из чужой базы? абы чЁ, главное найти? :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |