| 
    
            
         
         | 
    
    
  | 
Как перенумеровать справочник | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        спасибо. Понял. Хотелось самому написать.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |