Имя: Пароль:
1C
1С v8
Слетает нумерация при обмене РИБ
,
0 Night_Wolf
 
30.03.12
11:24
Вопрос такого плана: Допустим человек нажал "Создать" документ "Операция" - ему выдало номер = 1234. Это следующий в системе. Он делает проводки в течении получаса - часа. Считает там что-то. В это время проходит обмен. Создаются 3 документа "Операция" с номерами: 1234,1235,1236. Естесственно проводятся и записываются. Потом пользователь пытается записать и провести документ - на что естесственно получает сообщение - "Номер не уникальный". Делаю "ОбновитьНумерациюОбъектов" - со следующим обменом опять то же самое. Что можно сделать?
1 Галахад
 
гуру
30.03.12
11:27
Дык, префиксы номеров, для разных баз разные.
2 shamannk
 
30.03.12
11:27
обмен в раб. время ? мда...
3 Night_Wolf
 
30.03.12
11:29
(1) - Префиксов номеров у нас не було и пока не предвидится.
(2) - да, обмен приходится делать в рабочее время (так до меня программист настраивал). Посоветуйте что можно сделать в моей ситауции.
4 Kreont
 
30.03.12
11:31
(0) Переделать чтоб номер присваивался в момент записи дока а не создания формы
5 Night_Wolf
 
30.03.12
11:32
(4) - это то да, но тоже как-то не очень хочется ломать базу на поддержке....
6 shamannk
 
30.03.12
11:35
(3) Может уже пора их вводить? (префиксы)
7 Maxus43
 
30.03.12
11:37
тока префиксы спасут. будь мужиком! включи их!
8 Night_Wolf
 
30.03.12
11:39
(6), (7) - уже думаю над этим. Спасибо всем! А то я замучился бегать после каждого обмена в бухгалтерию :)
9 Night_Wolf
 
30.03.12
11:43
В продолжение: А почему тогда если несколько пользователей работает в такой системе - одновременно создают несколько документов "Операция", а потом в разное время проводят - то не возникает конфликта нумерации?
10 hhhh
 
30.03.12
11:46
(9) ты уже нереально начал прикалываться. Понимаем, пятница.
11 Night_Wolf
 
30.03.12
11:46
Хотя я ж вам написал бред про свою базу. К нам прилетают только проводки по регистру Бухгалтерии, а документы создаются сами по UID.
12 Night_Wolf
 
30.03.12
11:47
(10) - Почему нереально? В свете (11) - очень даже логичный вопрос. Даже несмотря на пятницу.
13 Night_Wolf
 
30.03.12
11:53
up
14 Maxus43
 
30.03.12
11:54
в свете (11) - неправильно как то создаеш документы..
15 Night_Wolf
 
30.03.12
11:57
(14) - Ну почему же неправильно? С точки зрения размера сообщения обмена и скорости канала связи - очень даже правильно. А вот почему номера при обмене не видит, что пользователь уже занял, а при обычной работе видит - вот это вопрос интересный.
16 Maxus43
 
30.03.12
11:59
код создания документа приведи лучше
17 Kreont
 
30.03.12
12:00
При обмене базе все равно какие уже есть номера:
Используется Док.ОбменДанными.Загрузка = Истина;
18 Night_Wolf
 
30.03.12
12:03
(16) - код создания
В ПланеОбмена, в процедуре ПриПолученииДанныхотподчинённого()

Если (М=Метаданные.РегистрыБухгалтерии.Основной) ИЛИ (М=Метаданные.РегистрыБухгалтерии.Налоговый) Тогда
       ИдентификаторРегистратора=ЭлементДанных.Отбор.Регистратор.Значение.УникальныйИдентификатор();
       СсылкаНаРегистратор=Документы.Операция.ПолучитьСсылку(ИдентификаторРегистратора);
       Регистратор=СсылкаНаРегистратор.ПолучитьОбъект();


и далее в коде:

         Если (Регистратор=Неопределено) Тогда
       Регистратор=Документы.Операция.СоздатьДокумент();
       Регистратор.УстановитьСсылкуНового(СсылкаНаРегистратор);
       Регистратор.Дата=ЭлементДанных[0].Период;
       Регистратор.УстановитьНовыйНомер();
     КонецЕсли;
19 Night_Wolf
 
30.03.12
12:03
(17) - Я не понял что имеется ввиду. Как используется?
20 Maxus43
 
30.03.12
12:05
Регистратор.УстановитьНовыйНомер(); - без него тоже криво работает?
просто Регистратор.Записать() должен поидее номер свободный присвоить
21 Night_Wolf
 
30.03.12
12:09
(20) - Ну Регистратор.Записать() идёт по коду ниже через 3 строки. Какая разница - УстановитьНовыйНомер() и ли Записать(), если всё равно возьмёт номер, который следующий за записанным в системе, а не за выданным, но не записанным. Или в этом месте есть принципиальная разница?
22 Maxus43
 
30.03.12
12:10
ну он должен взять свободный номер, а я как понял из (0) он берёт занятый номер
23 Night_Wolf
 
30.03.12
12:26
(22) - так дело то в том, что он и не свободен - и не занят. Он выдан системой, но не записан. И система почему-то его ещё раз выдаёт. А когда вручную делают - такой проблемы нет.