| 
    
        
     
     | 
    
  | 
Своя генерация кода спарвочника | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        San335    
     25.05.21 
            ✎
    08:52 
 | 
         
        Доброго времени суток!
 
        Дайте подсказку в такой ситуации? Есть справочник со строковым кодом. В нем пишется своя генерация кода. Шаблон кода [Префикс]-[СамКод]. При создании нового элемента,ищется максимальное значение кода из справочника запросом МАКСИМУМ(Спр.Код) и значение СамКод = МАКСИМУМ(Спр.Код с отсечением префикса.)+1. До значения 999 все ОК идет. После создается значение 1000, а дальше 1001 уже не создается,т.к.часть кода, которая вычисляется как максимум = 999. Сори за кривое описание)  | 
|||
| 
    1
    
        ДенисЧ    
     25.05.21 
            ✎
    08:53 
 | 
         
        Формат(код, "ЧГ=")
 
        ЗЫ. Очередная жертва егэ зачеркнуто неразрывного пробела  | 
|||
| 
    2
    
        Dmitrii    
     гуру 
    25.05.21 
            ✎
    08:57 
 | 
         
        Спрашивается - что мешало использовать платформенную нумерацию, ограничившись подстановкой нужного префикса. А платформа сама бы считала код.     
         | 
|||
| 
    3
    
        San335    
     25.05.21 
            ✎
    08:58 
 | 
         
        (1) И как формат поможет если максимум из запроса выбирается? 
 
        Вот пример кодов существующих элементов: префикс1-001 префикс1-100 префикс1-999 префикс1-1000 При создании нового сгенерируется по-новой префикс1-1000, т.к. запросом по коду МАКСИМУМ = префикс1-999.  | 
|||
| 
    4
    
        ДенисЧ    
     25.05.21 
            ✎
    09:00 
 | 
         
        (3) Так вырезай свой кусок, приводи к числу и ищи максимум.     
         | 
|||
| 
    5
    
        San335    
     25.05.21 
            ✎
    09:03 
 | 
         
        (2) При стандатрной генирации помимо самого префикса и значения кода, остальная часть кода заполнялась нулями.     
         | 
|||
| 
    6
    
        San335    
     25.05.21 
            ✎
    09:04 
 | 
         
        (4) К числу в запросе? А,если вдруг часть кода руками кто-нить ZZZ например введет?     
         | 
|||
| 
    7
    
        Kassern    
     25.05.21 
            ✎
    09:06 
 | 
         
        (5) и чем вас не устроили нули в коде? Зато у вас фиксированная длинна кода. В печатных формах можете эти нули срезать, если уж так надо.     
         | 
|||
| 
    8
    
        ДенисЧ    
     25.05.21 
            ✎
    09:06 
 | 
         
        (6) Тогда эти руки положено оторвать и выкинуть. Да и вообще всю идею под корень нужно.     
         | 
|||
| 
    9
    
        Dmitrii    
     гуру 
    25.05.21 
            ✎
    09:09 
 | 
         
        Остаётся написать служебку руководству с рекомендацией уволить того дебила, который предложил такой механизм нумерации, вместе с тем, который эту ересь реализовал в конфигурации.     
         | 
|||
| 
    10
    
        RomanYS    
     25.05.21 
            ✎
    09:45 
 | 
         
        (3) Если хотите автоматической нумерации в 4 значащих цифры, то должно быть так:
 
        префикс1-0001 префикс1-0100 префикс1-0999 префикс1-1000  | 
|||
| 
    11
    
        San335    
     25.05.21 
            ✎
    09:57 
 | 
         
        (7) Требование пользователя к внешнему виду кода     
         | 
|||
| 
    12
    
        mikecool    
     25.05.21 
            ✎
    10:01 
 | 
         
        (11) таки даже в списке можешь выводить без нулей, посмотри типовые - в них реализовано     
         | 
|||
| 
    13
    
        Kassern    
     25.05.21 
            ✎
    10:10 
 | 
         
        (11) выводите пользователю как ему надо, но храните коды как положено     
         | 
|||
| 
    14
    
        San335    
     25.05.21 
            ✎
    10:25 
 | 
         
        Благодарствую. Направили меня на мысль, чтобы и волки целы были, и овцы сыты и говнокода в 1С не было)     
         | 
|||
| 
    15
    
        RomanYS    
     25.05.21 
            ✎
    10:27 
 | 
         
        (11) А что за требования такие: "001" их устраивало, а "0001" нет?     
         | 
|||
| 
    16
    
        San335    
     25.05.21 
            ✎
    10:30 
 | 
         
        (15) Длина перфикса не фиксирована. Может код быть префикс1-превикс2-префикс3-001. Просто нужно, чтобы сама часть кода имела длину минимум 3 символа.
 
        Т.е. допустимо префикс1-превикс2-префикс3-001 префикс1-превикс2-префикс3-050 префикс1-превикс2-префикс3-1200 А вот например: префикс1-превикс2-префикс3-0000001 префикс1-превикс2-префикс3-001001 префикс1-превикс2-префикс3-000009996 уже не допустимо.  | 
|||
| 
    17
    
        El_Duke    
     гуру 
    25.05.21 
            ✎
    10:39 
 | 
         
        (11) Чо ?
 
        Пользователю не пофиг ли как выглядит код элемента в справочнике ?  | 
|||
| 
    18
    
        mistеr    
     25.05.21 
            ✎
    10:42 
 | 
         
        (16) Что за бред? В чем реально проблема?     
         | 
|||
| 
    19
    
        big    
     25.05.21 
            ✎
    10:44 
 | 
         
        ВОЮШМАТЬ!!!     
         | 
|||
| 
    20
    
        Kassern    
     25.05.21 
            ✎
    11:13 
 | 
         
        (16) зачем использовать код для этих целей? Используйте артикул, если уж так приспичило, не трогайте вы код справочника. Потом вам могут аукнуться ваши коды, когда длина следующего кода будет не доступна.     
         | 
|||
| 
    21
    
        Kassern    
     25.05.21 
            ✎
    11:14 
 | 
         
        (20) для пользователя, если уж так критично, можете как угодно реквизит обозвать на форме и написать свой алгоритм его заполнения.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |