|
v7: Вывод списка номенклатуры с определенным префиксом в коде через запрос
| ☑ |
0
brenli
26.11.17
✎
08:13
|
Доброго времени.
Подскажите как составить запрос для вывода номенклатуры с префиксом который передан в качестве параметра.
Функция ПоискМаксимальногоНомераПоПрефиксуГруппы(Префикс)
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|БезИтогов;
|КодНом = Справочник.Номенклатура.Код;
|Группировка КодНом Без Групп;
|Условие();
|;";
КонецФункции
Или через запрос так не удастся? Проще простым перебором?
|
|
1
SleepyHead
гуру
26.11.17
✎
08:26
|
Условие(Найти(КодНом,"Префикс")>0);
|
|
2
VladZ
26.11.17
✎
08:29
|
|Условие (Лев(КодНоменклатуры,2) = НужныйПрефикс);
|
|
3
SleepyHead
гуру
26.11.17
✎
08:38
|
Функция ПоискМаксимальногоНомераПоПрефиксуГруппы(Знач Префикс)
Префикс = СокрЛП(Префиск);
ДлинаПрефикса = СтрДлина(Префикс);
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|БезИтогов;
|КодНом = Справочник.Номенклатура.Код;
|Группировка КодНом Без Групп;
|Условие("Лев(КодНом,"+ДлинаПрефикса+")=Префикс);
|;";
|
|
4
brenli
26.11.17
✎
11:04
|
Спасибо.
Но проблема такая:
Например передается префикс "ХР", а в отбор попадают элементы с номерами
ХРИн0531
ХРИн0532
ХРИн0533
ХРИн0534
ХРИн0535
ХРИн0536
ХРИн0537
ХРИн0538
ХРИн0539
ХРИн0540
ХРПМ0002
ХРПМ0003
ХРПМ0004
ХРПМ0007
ХРПМ0008
ХРПМ0012
а нужно получить именно все номера с префиксом ХР например ХР00001, ХР00002 если есть таковые либо не получить ничего.
Но условие Условие("Лев(КодНом,"+ДлинаПрефикса+")=Префикс);
возвращает набор представленный выше.
|
|
5
Ёпрст
26.11.17
✎
11:20
|
(4)
Условие((Лев(КодНоменклатуры,2) = НужныйПрефикс))И (Число(Сред("КодНоменклатуры",2))>0);
|
|
6
SleepyHead
гуру
26.11.17
✎
11:24
|
(4) В 11с77 не всегда такие вещи можно сделать запросом. Но можно отобрать запросом те, которые начинаются на нужный префикс, потом обойти группировки запроса и уже в обходе проанализировать код так, как нужно.
|
|
7
Ёпрст
26.11.17
✎
11:27
|
(6) да всё там можно делать, вплоть до использования регулярки
|
|
8
SleepyHead
гуру
26.11.17
✎
12:03
|
(7) Прямые запросы имеешь ввиду?
|
|
9
Ёпрст
27.11.17
✎
09:59
|
(8) нет, чорные
|
|