| 
    
            
         
         | 
    
  | 
Как правильно сделать нумерацию | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        YHVVH    
     19.07.13 
            ✎
    22:27 
 | 
         
        Хочу спросить совета.
  
        Есть регистр сведений , одно из измерений - Номер (тип число), Есть форма записи , пользователь нажимает записать. необходимо чтоб при записи определялся следующий номер и соответственно записывался. найти следующий номер можно в запросе, а вот как сделать чтоб нумерация соблюдалась уникальная, ведь если одновременно работают несколько пользователей, то существует вероятность что будут записи с одним и тем же номером. Как этого можно избежать ?  | 
|||
| 
    1
    
        shuhard    
     19.07.13 
            ✎
    22:33 
 | 
         
        (0) засади в измерение справочник и нумеруй его средствами платформы     
         | 
|||
| 
    2
    
        Fragster    
     гуру 
    19.07.13 
            ✎
    22:34 
 | 
         
        блокируй таблицу перед присвоением номера     
         | 
|||
| 
    3
    
        YHVVH    
     19.07.13 
            ✎
    22:35 
 | 
         
        (2) в какой момент я должен буду блокировать и как?     
         | 
|||
| 
    4
    
        YHVVH    
     19.07.13 
            ✎
    22:35 
 | 
         
        (1) идея хорошая , но хотелось бы без справочника.     
         | 
|||
| 
    5
    
        Тьма    
     19.07.13 
            ✎
    22:36 
 | 
         
        (2)Перед поиском свободного номера, причем блокировать на чтение.     
         | 
|||
| 
    6
    
        YHVVH    
     19.07.13 
            ✎
    22:37 
 | 
         
        (5) а можно подробней , как заблокировать на чтение всю таблицу.     
         | 
|||
| 
    7
    
        YHVVH    
     19.07.13 
            ✎
    22:38 
 | 
         
        сейчас сделано так
  
        у меня процедура &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если НЕ ЗначениеЗаполнено(ТекущийОбъект.НПП) Тогда ТекущийОбъект.НПП = ПолучитьНПП(); КонецЕсли; КонецПроцедуры  | 
|||
| 
    8
    
        YHVVH    
     19.07.13 
            ✎
    22:40 
 | 
         
        в процессе работе получаются двойные номера :-(( редко но получаются     
         | 
|||
| 
    9
    
        wertyu    
     19.07.13 
            ✎
    22:49 
 | 
         
        а в ПолучитьНПП() чего?     
         | 
|||
| 
    10
    
        YHVVH    
     19.07.13 
            ✎
    22:53 
 | 
         
        (9) просто функция которая возвращает результат запроса
  
        ВЫБРАТЬ ПЕРВЫЕ 1 Тест.Номер КАК Номер ИЗ РегистрСведений.Тест КАК Тест УПОРЯДОЧИТЬ ПО Номер УБЫВ  | 
|||
| 
    11
    
        Fragster    
     гуру 
    19.07.13 
            ✎
    22:58 
 | 
         
        блокировки - управляемые? или автоматические?     
         | 
|||
| 
    12
    
        Fragster    
     гуру 
    19.07.13 
            ✎
    22:59 
 | 
         
        если автоматические - то в запросе - ДЛЯ ИЗМЕНЕНИЯ, если управляемые - то через объект БлокировкаДанных с ипом Исключительная     
         | 
|||
| 
    13
    
        YHVVH    
     19.07.13 
            ✎
    22:59 
 | 
         
        (11) управляемый     
         | 
|||
| 
    14
    
        YHVVH    
     19.07.13 
            ✎
    23:00 
 | 
         
        объект БлокировкаДанных с ипом Исключительная
  
        не понял.  | 
|||
| 
    15
    
        YHVVH    
     19.07.13 
            ✎
    23:02 
 | 
         
        Блокировка = Новый БлокировкаДанных;
  
        ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Тест"); ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; Блокировка.Заблокировать(); так?  | 
|||
| 
    16
    
        Fragster    
     гуру 
    19.07.13 
            ✎
    23:07 
 | 
         
        (15) ну, типа того     
         | 
|||
| 
    17
    
        wertyu    
     19.07.13 
            ✎
    23:09 
 | 
         
        Разрешенные     
         | 
|||
| 
    18
    
        wertyu    
     19.07.13 
            ✎
    23:10 
 | 
         
        у тебя будет блокировка получения     
         | 
|||
| 
    19
    
        YHVVH    
     19.07.13 
            ✎
    23:12 
 | 
         
        (17) (18) не понял, что разрешенные ?
  
        добавить к (15 )еще в запросе моем ВЫБРАТЬ разрешенные сделать?  | 
|||
| 
    20
    
        wertyu    
     19.07.13 
            ✎
    23:39 
 | 
         
        да     
         | 
|||
| 
    21
    
        wertyu    
     19.07.13 
            ✎
    23:41 
 | 
         
        ну и обработку с пустым результатом     
         | 
|||
| 
    22
    
        Fragster    
     гуру 
    19.07.13 
            ✎
    23:47 
 | 
         
        (17)(18)(20)(21) не для того РАЗРЕШЕННЫЕ. совсем не для того.     
         | 
|||
| 
    23
    
        EvgeniuXP    
     19.07.13 
            ✎
    23:51 
 | 
         
        права     
         | 
|||
| 
    24
    
        beer_fan    
     20.07.13 
            ✎
    00:48 
 | 
         
        (0) Не парься с блокировками... просто перед записью считывай крайний номер, и добавляй 1.     
         | 
|||
| 
    25
    
        YHVVH    
     20.07.13 
            ✎
    08:34 
 | 
         
        (24) какой крайний номер ?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |