Выбрать пропущенные числа последовательности #745432


#0 by Про100Филя
Есть справочник Код Наименование Число 001    Имя1        1 002    Имя2        2 003    Имя3        3 004    Имя4        4 005    Имя5        5 "Число" при создании заполняется с инкрементом 1 (Ну как нумерация кода) При пометке на удаление число становится равным нулю. Код Наименование Число 001    Имя1        1 002    Имя2        2 003    Имя3        0 <---- Объект помечен на удаление 004    Имя4        4 005    Имя5        5 Нужно запросом узнать пропущенные числа в последовательности. Как найти пропущенное число 3?
#1 by Liova
А разрядность этого Числа какая?
#2 by Про100Филя
Целое число
#3 by Liova
Вообще делается виртуалка со всеми числами диапазона и левое соединение к твоей таблице с условием есть NULL. Вообще задача странная.
#4 by Гёдза
если код = число, то элементарно ватсон
#5 by Liova
Понятно, что целое, но есть разница 5 там разрядов или 14 Я говорил про это примерно:
#6 by Liova
Чем воротить такой запрос может быть проще переделать, чтобы такой задачи не возникало? Или при присвоении 0 коду в отдельный реквизит писать этот свободный код, который был.
#7 by Про100Филя
Ну задачу упростил, для простоты понятия. Разрядоность как в коде 8. Если бы. В реальной задаче не все так просто, это уже есть и количество объектов в справочнике около 25 000.
#8 by Liova
Ну так 1 раз перебрать эти 25 тысяч и поставить им этот реквизит, а у остальных перед записью. И получается тривиальный запрос с условием по СвободныйКод <> 0
#9 by Широкий
Вот например: ищет пропущенное число, но не числа: ВЫБРАТЬ     2 ВЫБРАТЬ     3 ВЫБРАТЬ     5 ; ГДЕ     ТаблицаЧисел1.Число ЕСТЬ NULL
#10 by Про100Филя
Спасибо! Тогда в регистр сведений это перенести(В разрезе чисел), и при пометке на удаление ставить пустую ссылку.
#11 by palpetrovich
дык выбрать ссылка ИЗ справочник.Твой где справочник.Число=0
#12 by Про100Филя
Выбрать пропущенные числа последовательности, а не нули.
#13 by 13_Mult
Если сделать (-1) можно выбрать все числа
#14 by Широкий
Разницы нет. Только вот два пропущенных не найдет
#15 by 13_Mult
два подряд пропущенных )
#16 by palpetrovich
ну дык :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С