![]() |
![]() |
![]() |
|
Как перенумеровать справочник | ☑ | ||
---|---|---|---|---|
0
misha122062
05.10.10
✎
08:42
|
Прошу уважаемое сообщество помочь решить следующий вопрос.
Как перенумеровать справочник. Несмотря на кажущуюся простоту что то сразу на ум не приходит красивое и универсальное решение. Итак есть справочник, скажем Номенклатура в котором 5000 записей. Народ стал править коды и теперь там такие 1,99999999,12 1000 и проч... Теперь при попытке внести новый элемент программа посылает далеко. нужно сделать по порядку. если бы не были забиты все разряды - можно было бы найти максимальное число и перенумеровать вверх, а потом вниз. Но элемент 99999999 и подобные - забиты юзерами. Интересны Ваши методологические решения! Заранее благодарен за ответ. |
|||
1
чувак
05.10.10
✎
08:43
|
Есть же специальная обработка, которая перенумирует справочники!
|
|||
2
EGAfonov
05.10.10
✎
08:45
|
перенумеровать, используя префикс "Х" например. потом снова с префиксом "0" (ноль)
|
|||
3
YHVVH
05.10.10
✎
08:45
|
если строка то префикс, потом его убрать
|
|||
4
YHVVH
05.10.10
✎
08:45
|
(2) опередил
|
|||
5
misha122062
05.10.10
✎
08:48
|
(1)не нашел... не в курсе где она?
(2)Тип кода текстовый. Т.е. надо установить префикс базы, перенумеровать и затем убрать префикс? |
|||
6
misha122062
05.10.10
✎
08:48
|
поправка
(2)Тип кода ЧИСЛОВОЙ. Т.е. надо установить префикс базы, перенумеровать и затем убрать префикс? |
|||
7
чувак
05.10.10
✎
08:50
|
(5) В диске ИТС, называется "Универсальный подбор и обработка объектов"
|
|||
8
misha122062
05.10.10
✎
08:56
|
(7)понял, а отдельного никакого нету?
|
|||
9
Ksandr
05.10.10
✎
08:58
|
(8) А чем не подходит?
|
|||
10
Дарт Вейдер
05.10.10
✎
09:19
|
Обработку уже предлагали..
Если пишешь сам, может быть такой вариант: у тебя должны стать коды от 1 до <Количество элементов в справочнике>.. 1) заводишь счетчик от 1 до <Количество элементов в справочнике> и ищешь, если элемент с таким кодом есть, то пропускаешь его, если нет то пишешь код в СписокЗначений "сзСвободныеКоды". 2) далее прохоишь все элементы с кодом большим <Количество элементов в справочнике> и по порядку присваиваешь им коды из "сзСвободныеКоды". |
|||
11
Sserj
05.10.10
✎
09:22
|
(10) А почему нельзя просто перебирать и текущий код хранить в переменной?
Если текущий занят увеличивать на единицу, если нет то присваивать? |
|||
12
Дарт Вейдер
05.10.10
✎
09:23
|
(11) если элементы отсортировать по коду, то можно, конечно и так
|
|||
13
Sserj
05.10.10
✎
09:25
|
(12) Ну тобишь по идее можно выбрать все ссылки запросом, упорядочить по коду и прогнать с увеличением переменной, где хранится код?
|
|||
14
Дарт Вейдер
05.10.10
✎
09:31
|
(13) если запросом, то можно вообще так:
1) Выбрать подзапросом все ссылки, отсортировать по коду 2) Пронумеровать строки в запросе (в Базе Знаний есть пример), это будет колонка НовыйНомер потом просто пройти выборку и присвоить значение из НовыйНомер |
|||
15
misha122062
05.10.10
✎
09:40
|
спасибо. Понял. Хотелось самому написать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |