Имя: Пароль:
1C
 
Сквозная нумерация
0 Дудка Ахинеи
 
13.11.08
10:41
Подкиньте идею о реализации сквозной нумерации одного типа документов отличной от НомерДок.
1 Дудка Ахинеи
 
13.11.08
10:41
+ оптимальную идею
2 ДенисЧ
 
13.11.08
10:42
Отдельная таблица, в неё пишется очередной взятый номер. и блокировка на момент записания. ПРисваивать при записи.
3 Дудка Ахинеи
 
13.11.08
10:45
еще идеи, плз
4 Дудка Ахинеи
 
14.11.08
19:48
ап
5 kvm
 
14.11.08
19:52
Чего б ты ни придумал, принципиально от НомерДок оно отличаться не будет...
6 Cthulhu
 
14.11.08
19:52
пока не будет аргументации для "отличной от НомерДок" - не будет и советов, ибо сумасшедшим или просто глупым людям советы как правило бесполезны...
ну или за отдельную плату...
7 Стрелок
 
14.11.08
19:53
я отдельно нумерую у одного клиента чеки ЭККА. константа - номер последнего чека и вперёд.....
8 lea_220400
 
14.11.08
19:54
(0) а что именно то надо.

Бери константу какую нить типа НомерДокНовый

А при выполнении определенного условия ставь в при ВводНового или на основании Установить новый номер("Константа.Чтото-");

У меня было задача на основе инвойсов и прихода делать сквозную нумерацию всех связанных перемещений с одним из видов документов , т.е. № инвойса = ИНВ-0001,
а вот все доки, которые были связаны с ним нумеровались к примеру ПРИХ-0001-01 и т.д., меняя только к примеру последние цыфры, ну и вперед
9 Smitt
 
14.11.08
20:00
Создай справочник, для каждого дока заводи новый элемент (со ссылкой из дока естессно). Код справочника юзай как номер :)
Но все же скажи  - зачем?
10 Дудка Ахинеи
 
14.11.08
20:25
(6) Ты что то погорячился бедняга...
(9) Скажу, чуток позже
11 Ork
 
14.11.08
20:32
(10) Не говори зачем. Скажи чем должно быть <<отлично от НомерДок>>
12 vde69
 
14.11.08
20:43
(7)(8) вы че советуете? а если пользователей много?

напомню как в 1с это реализовано:
при создании нового документа, в транкзации, генериться новый код (как дольше раск.) и записываетья Во временую табл.  
Во время сохраекемя дока  эта временая таблица очищиется

номер генериться с учетом зарезервированых (те которые во временой таблице) номеров
13 Стрелок
 
14.11.08
20:50
(12) ну много и что? номера генерятся новые и записываются в константу ПРИ ЗАПИСИ нового документа а не при открытии формы как сделано в 1С с НомерДок. Поэтому и используется там временная таблица
14 lea_220400
 
14.11.08
20:52
(12) ни разу такой алгоритм не подводил )))))
15 vde69
 
14.11.08
21:03
(13) если при записи - тогда ладно, только как-то не красиво когда номер на форме пустой.

ну да ладно, все равно не понятно нафига это топикастеру
16 Torquader
 
14.11.08
21:03
Справочник надёжнее константы, так как грамотно отработает в транзакции, если что-то откатят.
Но в любом случае возможны пропуски, так как если два пользователя создали документ, то у него нумерация плывёт.
В одном месте я делал расплывчатую нумерацию, то есть создавался справочник, в котором хранилось название нумерации и её текущий номер. Можно было любые документы и справочники на него сослать.
Отличная от НомерДок нумерация может понадобиться для нумерации каких-то бланков, которые есть физически и привязываются к документам в момент ввода документа, а также для нумерации клиентов (медицинские карты, карты гостя, карты учёта скидок и т.п.) также полезно для использования штрих-кодов при ускорении ввода документов (каждый напечатанный экземпляр может быть со своим штрих-кодом).
17 Emvika
 
14.11.08
21:20
(12) то есть ты хочешь сказать, что в 7.7 если 2 пользователя ~ в одно время создают одинаковые документы, а потом их записывают, то они будут с разнми номерами???
18 Defender aka LINN
 
14.11.08
21:24
(17) Таки да. Вас это удивляет?
19 Cthulhu
 
14.11.08
21:32
(17): а у него прикол в том, что номер то уникальній -- но его не видно пока не сохранишь документ ))))
20 Emvika
 
14.11.08
21:33
(18) а с фига ж в 8 сделали присвоение номера при записи?
21 Emvika
 
14.11.08
21:34
+(20) меня уже давно ничто не удивляет, давно живу...
22 vde69
 
14.11.08
21:51
(17) при этом наприме возможен случай когда поледний док в базе N5
я создаю N6 (но не записываю, номер резервируеться)
ты N7 и быстренько запишешь
а я только через час запишу...

и номера в базе будут идти 5, 7, 6  (этот механизм в платформе зашит)
23 Smitt
 
14.11.08
22:02
(16) почему плывет? Создаем элемент в момент записи, в транзакции. Коды сами генерятся.Все путём.
24 Emvika
 
14.11.08
22:03
(22) разбираешься! зачет!
25 Torquader
 
14.11.08
22:47
Особенно хорошо работает механизм, если какой-то документ долго продержали и не записали вообще - дырочка получается.
26 vde69
 
14.11.08
23:18
(25) бывает и такое, но встроеный механизм довольно надежно защищает от задваивания
27 Torquader
 
14.11.08
23:40
Ну так или задваивание или дырки - всё сразу только при сильно кривых руках бывает.