Имя: Пароль:
1C
1С v8
отбросить идентификаторы состоящие из букв
,
0 dron4ikkk
 
07.02.14
09:47
Всем привет! Запрос ищет максимальный ид и прибавляет к найденному ид +1. Вопрос как отбросить те ид которые могут быть такими: а2, б..те. состоящие из букв.


| И ТипЗначения(ПодразделенияОрганизаций.Код) = ТИП(Число)";


не работает




Запрос = Новый Запрос();
      Запрос.Текст =  "ВЫБРАТЬ
                      |    МАКСИМУМ(ПодразделенияОрганизаций.Код) КАК код
                      |ИЗ
                      |    Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
                      |ГДЕ
                      |    ПодразделенияОрганизаций.Владелец.Наименование = &НазвОрганизации
                      | И ТипЗначения(ПодразделенияОрганизаций.Код) = ТИП(Число)";
1 _lirsi
 
07.02.14
09:54
Если конфа типовая, то ПодразделенияОрганизаций.Код тип Строка
2 Defender aka LINN
 
07.02.14
09:54
(0) А для нахрена вообще это делает как-то непонятный запрос, если это платформа и сама прекрасно умеет?
3 k1us181b
 
07.02.14
09:55
ИД или Код?
4 dron4ikkk
 
07.02.14
09:55
(3) код
5 dron4ikkk
 
07.02.14
09:56
(1) да строка, но что это дает то
6 kosts
 
07.02.14
09:57
Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

% (процент): последовательность, содержащая любое количество произвольных символов
_ (подчеркивание): один произвольный символ
[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.

Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>. Сам <Спецсимвол> (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов:
буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в.

Причем перед этой последовательностью может располагаться произвольный набор символов.

см. также: Логические выражения
7 dron4ikkk
 
07.02.14
09:57
(2) добавляю запись в этот справочник и ошибка код не уникален. нихрена прекрасно не умеет делать
8 _lirsi
 
07.02.14
09:58
(5) это дает то, что запрос работать будет всегда неправильно
9 George Wheels
 
07.02.14
09:59
(7) А для чего префиксы придуманы?
10 kosts
 
07.02.14
09:59
(7) нумерация не правильная в справочнике введена
11 Wobland
 
07.02.14
09:59
(7) и ты сразу решил приступить к извращениям
12 dron4ikkk
 
07.02.14
10:00
предложите тогда более хороший вариант для решения этой проблемы
13 k1us181b
 
07.02.14
10:00
Автонумерация откл.?
14 George Wheels
 
07.02.14
10:01
(12) Перенумеровать и использовать префиксы.
15 kosts
 
07.02.14
10:01
(12) Привести все коды к виду который воспринимает 1с
000000001
000000002
000000003
16 dron4ikkk
 
07.02.14
10:01
(13) тип строка..
17 k1us181b
 
07.02.14
10:03
(16) и что?
18 Sammo
 
07.02.14
10:06
Исключить те, в которых есть не цифра.
19 _lirsi
 
07.02.14
10:06
Найди/напиши сам обработку для перенумерации объектов или руками приведи нумерацию к нормальному виду, как сказал kosts. И запрети пользователям менять коды.