|
Слетает нумерация при обмене РИБ | ☑ | ||
---|---|---|---|---|
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) - так дело то в том, что он и не свободен - и не занят. Он выдан системой, но не записан. И система почему-то его ещё раз выдаёт. А когда вручную делают - такой проблемы нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |