Имя: Пароль:
1C
1С v8
Генерация уникального числа ☑
0 avlav
 
24.08.12
✎
06:55
Добрый день.
Нужна идея, как сгенерировать уникальное 5-ти значное число в пределах дня. Сейчас работает регистр сведений (счетчик), жуткие тормоза и проблема с параллельностью работы.
Полученное значение нужно для обмена документами со спец. оборудованием.

Всю голову уже сломал, придумал генерацию из секунды в дне и номера сеанса пользователя, но числа получаются очень большие.
52 Ursus maritimus
 
24.08.12
✎
09:00
(0) Случайное число от уникального отличаешь?
Новый УникальныйИдентификатор() используй
53 avlav
 
24.08.12
✎
09:01
(52) Отличаю, с легкостью. Смотри ограничение - 5 цифр
54 acsent
 
24.08.12
✎
09:04
чем гуид то не подошел?
55 avlav
 
24.08.12
✎
09:06
Там как бэ число больше получается, цифр 15
56 H A D G E H O G s
 
24.08.12
✎
09:08
(55) И что?
57 vde69
 
24.08.12
✎
09:09
сложный но быстрый вариант решения

1. делается РС где хранятся ВСЕ уже использованые номера
2. делается регистр для текущего разделения по диапазонам между сеансами
 измерения ID_Сеанса, реквизиты стартовый_номер, ФинишныйНомер
2. делается параметр сеанса

при начале сеанса
1. блокируем регистр 2 (что-бы нельзя было получить уже занятый планируемый диапазон)
2. получаем список сеансов, по этому списку из регистра 2 получаем список занятых диапазонов, джойним его с регистром 1 и находим свободный диапазон
3. записываем свободный диапазон в регистр 2 и сохраняем параметры в параметр сеанса

при необходимости получения номера тупо инкремируем нижнюю границу лежащую в параметре сеанса и для фиксации - пишем в регист 1

если сеансов много - можно немного оптимизировать процесс выделения диапазона

плюсы - скорость, медленные операции выполняются при инициализации сеанса
минусы - резерв номеров
58 Sserj
 
24.08.12
✎
09:09
Чего то я не понял, если нужно просто уникальное в дне, зачем регистры?
Просто константа и увеличивать ее на 1
59 avlav
 
24.08.12
✎
09:14
(56)->(0) 5 цифр надо
60 Cube
 
24.08.12
✎
09:15
Мой вариант:

   ГСЧ = Новый ГенераторСлучайныхЧисел();
   СлучайноеЧисло = (ТекущаяДата() - НачалоДня(ТекущаяДата())) + ГСЧ.СлучайноеЧисло(0, 9999);


В обработке со следующим кодом:

   МассивЧисел = Новый Массив;
   КоличествоЧисел = 0;
   ВремяНачала = ТекущаяДата();
   
   ГСЧ = Новый ГенераторСлучайныхЧисел();
   СлучайноеЧисло = (ТекущаяДата() - НачалоДня(ТекущаяДата())) + ГСЧ.СлучайноеЧисло(0, 9999);
   
   Пока МассивЧисел.Найти(СлучайноеЧисло) = Неопределено Цикл
       ОбработкаПрерыванияПользователя();
       МассивЧисел.Добавить(СлучайноеЧисло);
       КоличествоЧисел = КоличествоЧисел + 1;
       СлучайноеЧисло = (ТекущаяДата() - НачалоДня(ТекущаяДата())) + ГСЧ.СлучайноеЧисло(0, 9999);
   КонецЦикла;
   
   Сообщить("За " + (ТекущаяДата() - ВремяНачала) + " сек. выбрано " + КоличествоЧисел + " уничальных пятизначных чисел.");


Получаем результат (кнопку нажимал активно, раза 3 в секунду):

За 0 сек. выбрано 63 уничальных пятизначных чисел.
За 0 сек. выбрано 148 уничальных пятизначных чисел.
За 0 сек. выбрано 64 уничальных пятизначных чисел.
За 0 сек. выбрано 132 уничальных пятизначных чисел.
За 0 сек. выбрано 178 уничальных пятизначных чисел.
За 0 сек. выбрано 88 уничальных пятизначных чисел.
За 0 сек. выбрано 94 уничальных пятизначных чисел.
За 0 сек. выбрано 125 уничальных пятизначных чисел.
За 0 сек. выбрано 127 уничальных пятизначных чисел.
За 0 сек. выбрано 85 уничальных пятизначных чисел.
За 0 сек. выбрано 85 уничальных пятизначных чисел.
За 0 сек. выбрано 103 уничальных пятизначных чисел.
За 0 сек. выбрано 109 уничальных пятизначных чисел.
За 0 сек. выбрано 154 уничальных пятизначных чисел.
За 0 сек. выбрано 115 уничальных пятизначных чисел.
За 0 сек. выбрано 205 уничальных пятизначных чисел.
За 0 сек. выбрано 92 уничальных пятизначных чисел.
За 0 сек. выбрано 71 уничальных пятизначных чисел.
За 0 сек. выбрано 214 уничальных пятизначных чисел.
За 0 сек. выбрано 22 уничальных пятизначных чисел.
За 0 сек. выбрано 157 уничальных пятизначных чисел.
За 0 сек. выбрано 116 уничальных пятизначных чисел.
За 0 сек. выбрано 107 уничальных пятизначных чисел.
За 0 сек. выбрано 194 уничальных пятизначных чисел.
За 0 сек. выбрано 255 уничальных пятизначных чисел.
За 0 сек. выбрано 25 уничальных пятизначных чисел.
За 0 сек. выбрано 111 уничальных пятизначных чисел.
За 0 сек. выбрано 77 уничальных пятизначных чисел.
За 0 сек. выбрано 73 уничальных пятизначных чисел.
За 0 сек. выбрано 251 уничальных пятизначных чисел.
За 0 сек. выбрано 292 уничальных пятизначных чисел.
За 0 сек. выбрано 89 уничальных пятизначных чисел.
За 0 сек. выбрано 215 уничальных пятизначных чисел.
За 0 сек. выбрано 70 уничальных пятизначных чисел.
За 0 сек. выбрано 223 уничальных пятизначных чисел.
За 0 сек. выбрано 18 уничальных пятизначных чисел.
За 0 сек. выбрано 64 уничальных пятизначных чисел.
За 0 сек. выбрано 70 уничальных пятизначных чисел.
За 0 сек. выбрано 192 уничальных пятизначных чисел.
За 0 сек. выбрано 91 уничальных пятизначных чисел.
За 0 сек. выбрано 134 уничальных пятизначных чисел.
За 0 сек. выбрано 115 уничальных пятизначных чисел.
За 0 сек. выбрано 124 уничальных пятизначных чисел.
За 0 сек. выбрано 44 уничальных пятизначных чисел.
За 0 сек. выбрано 90 уничальных пятизначных чисел.
За 0 сек. выбрано 181 уничальных пятизначных чисел.
За 0 сек. выбрано 66 уничальных пятизначных чисел.
За 0 сек. выбрано 42 уничальных пятизначных чисел.
За 0 сек. выбрано 31 уничальных пятизначных чисел.
За 0 сек. выбрано 176 уничальных пятизначных чисел.
За 0 сек. выбрано 74 уничальных пятизначных чисел.
За 0 сек. выбрано 104 уничальных пятизначных чисел.
За 0 сек. выбрано 101 уничальных пятизначных чисел.
За 0 сек. выбрано 108 уничальных пятизначных чисел.
За 0 сек. выбрано 113 уничальных пятизначных чисел.
За 0 сек. выбрано 90 уничальных пятизначных чисел.
За 0 сек. выбрано 84 уничальных пятизначных чисел.
За 0 сек. выбрано 99 уничальных пятизначных чисел.
За 0 сек. выбрано 163 уничальных пятизначных чисел.
За 0 сек. выбрано 119 уничальных пятизначных чисел.
За 0 сек. выбрано 88 уничальных пятизначных чисел.
За 0 сек. выбрано 167 уничальных пятизначных чисел.
За 0 сек. выбрано 94 уничальных пятизначных чисел.
За 0 сек. выбрано 164 уничальных пятизначных чисел.
За 0 сек. выбрано 106 уничальных пятизначных чисел.
За 0 сек. выбрано 107 уничальных пятизначных чисел.
За 0 сек. выбрано 38 уничальных пятизначных чисел.
За 0 сек. выбрано 194 уничальных пятизначных чисел.
За 0 сек. выбрано 143 уничальных пятизначных чисел.
За 0 сек. выбрано 180 уничальных пятизначных чисел.
За 0 сек. выбрано 179 уничальных пятизначных чисел.
За 0 сек. выбрано 52 уничальных пятизначных чисел.
За 0 сек. выбрано 43 уничальных пятизначных чисел.
За 0 сек. выбрано 136 уничальных пятизначных чисел.
За 0 сек. выбрано 167 уничальных пятизначных чисел.
За 0 сек. выбрано 230 уничальных пятизначных чисел.
За 0 сек. выбрано 118 уничальных пятизначных чисел.
За 0 сек. выбрано 34 уничальных пятизначных чисел.
За 0 сек. выбрано 123 уничальных пятизначных чисел.
За 0 сек. выбрано 11 уничальных пятизначных чисел.
За 0 сек. выбрано 189 уничальных пятизначных чисел.
За 0 сек. выбрано 66 уничальных пятизначных чисел.

Как видно, самое маленькое значение - 18 уникальных значений в секунду.
Код можно и модернизировать, добиваясь большей уникальности, но идея, я думаю всем понятна.
61 avlav
 
24.08.12
✎
09:16
(60) Нет гарантированной уникальности.
62 sTOd
 
24.08.12
✎
09:17
(42) Стопудово будет! Уже проверено.
63 Sserj
 
24.08.12
✎
09:18
Ну так скажите мне пожалуйста, почему просто константа не подходит, обнуляющаяся в полночь???
64 Cube
 
24.08.12
✎
09:18
(61) У тебя при любом раскладе, даже если ты будешь ГУИДы использовать, не будет 100% гарантии. Есть допустимая вероятность, отсюда и надо плясать.
65 avlav
 
24.08.12
✎
09:19
(48), (57) Похоже, что ничего другого не остается, разделителем диапазонов будет Пользователь (спр. Пользователи). Единственный минус, исключительная блокировка на всю таблицу, когда диапазон у пользователя заканчивается.
66 jenny_tea
 
24.08.12
✎
09:20
я бы сделала 2 константы: 1 дата, 2 число

Если НачалоДня(ТекущаяДата())<>Константа.ДатаДня.Получить() Тогда
  Константа.ДатаДня.Установить(НачалоДня(ТекущаяДата()));
  УникальноеЧисло = 10000;
Иначе
  УникальноеЧисло = Константа.УникальноеЧисло.Получить()+1;
конецесли;
Константа.УникальноеЧисло.Установить(УникальноеЧисло);
67 avlav
 
24.08.12
✎
09:21
(64) Я ГУИДы не собирался использовать, нужна 100 % уникальность. см (42)
68 avlav
 
24.08.12
✎
09:21
(66) Константы нельзя, при записи заблокируются все константы.
69 jenny_tea
 
24.08.12
✎
09:23
Тогда РС, и брать срез последних
70 MSII
 
24.08.12
✎
09:25
(69) все варианты, предполагающие работу с таблицами БД - медленные
71 avlav
 
24.08.12
✎
09:25
(43) Ок, ограничение на колво обменов - 5ти значное
72 avlav
 
24.08.12
✎
09:26
(70) Согласен, потому и задал вопрос (0) как уйти от запись в  БД.
73 MSII
 
24.08.12
✎
09:27
(67) Кстати, не думал считать номер секунды не от начала реального дня, а от начала "условного рабочего дня"? Высвобождаются 2 бита.
74 avlav
 
24.08.12
✎
09:27
(73) Номер секунды в чистом виде не походит, и еще, нужна уникальность в пределах дня, поэтому считать от начала дня - нормально
75 Cube
 
24.08.12
✎
09:28
(67) Тогда смотри (10) + регистр сведений в который пишется время последнего обмена, а при обмене проверку: если текущее время совпадает с временем последнего обмена, то подождать секунду.
76 avlav
 
24.08.12
✎
09:28
(73) Про высвобождению 2-х бит не понял
77 avlav
 
24.08.12
✎
09:29
(75) А как работает нумерация сообщений, полагаю там тот же регистр сведений (условно) от которого я хочу уйти
78 Cube
 
24.08.12
✎
09:30
(77) Ты про (13) что ли? Нет, там своя таблица.
79 avlav
 
24.08.12
✎
09:31
(78) Таблица своя, но принцип тот же. Я ж написал - условно в скобках
80 Cube
 
24.08.12
✎
09:31
(76) Наверное, он имеет ввиду, что если считать секунды не от 00:00:00, а от 08:00:00, то освобождается 28800 значений (8*60*60).
81 Cube
 
24.08.12
✎
09:33
(0) Ладно, задам главный вопрос - зачем тебе это надо?)) В смысле, опиши всю картину, как это число применяешь потом?
82 avlav
 
24.08.12
✎
09:33
(80) Понятно.
83 Ursus maritimus
 
24.08.12
✎
09:33
Сдается мне, что (0) где-то 3,14здит. 5значное число предполагает не более 100 тыс. записей в регистре сведений в сутки (В СУТКИ!!!!). При этом автор умудряется получить какие-то бешеные тормоза??? Может в руках проблема?
84 avlav
 
24.08.12
✎
09:36
см (42) Пользователь вносит док-т Обращение пациента, в документ записывается уникальный в дне номер. По этому номеру происходит обмен с медицинским оборудованием.
85 Cube
 
24.08.12
✎
09:37
(84) Капец, приехали... А чем тебе номер документа не угодил?
86 Ursus maritimus
 
24.08.12
✎
09:38
(85)+100500
87 avlav
 
24.08.12
✎
09:38
(83) Может и в руках, вот код, не знаю как тут правильно вставлять:
ПередЗаписью

//Проверки

Менеджер=РегистрСведений.Нумератор.ПолучитьМенеджерЗаписи();
Менеджер.Период = Дата;
Менеджер.Прочитать()

ТекНомер=Менеджер.Номер+1;
Менеджер.Номер=ТекНомер;
Менеджер.Период=Дата;
Менеджер.Записать()
КонецПроцедуры
88 Sserj
 
24.08.12
✎
09:39
(84) Что то мне сдается обмен с медицинским оборудованием никак не чиселками производится а битами, а там поле для полета фантазии безгранично и использовать можно не 10-ричную систему :)
89 avlav
 
24.08.12
✎
09:39
(87) ЦУП показывает ожидание блокировок на строке Менеджер.Прочитать() - доходит до 25 секунд. Большая интенсивность ввода документов
90 avlav
 
24.08.12
✎
09:40
(85) В БД несколько организаций, нумерация в каждой своя.
91 Ursus maritimus
 
24.08.12
✎
09:40
Судя по (84) и (87). В (83) я был прав...
92 avlav
 
24.08.12
✎
09:40
(88) На входе оборудование хавает xml
93 Ursus maritimus
 
24.08.12
✎
09:41
(90) И Что?
94 Sserj
 
24.08.12
✎
09:43
(87) а зачем тебе переодический регистр? Если история видимо нафик не нужна, зачем ее хранить в регистре и тем самым увеличивать расчеты?
95 Cube
 
24.08.12
✎
09:43
(90) Да ё маё! В документ добавь реквизит, тип - число 5 символов. При присвоении документу нового номера (подписка на событие) присваивай реквизиту следующее по текущему дню значение. При выгрузке используй этот реквизит.
96 avlav
 
24.08.12
✎
09:44
(95) Счас именно так и работает, как предлагаешь получить следующее значение?
97 Cube
 
24.08.12
✎
09:45
(90) К тому же, каждой организации можно присвоить номер и добавлять его в качестве префикса к номеру документа...
98 Cube
 
24.08.12
✎
09:45
(96) Запросом. Не нужно никаких регистров.
И сейчас совсем не так работает, не звизди :)
99 Ursus maritimus
 
24.08.12
✎
09:45
(95) НАХЕРА??
(90) Поставить в соответсвие буквенному префиксу число И ВСЕ
АА=1
АБ=2

АА001 = 1001
АБ001 = 2001
АБ002 = 2002
100 Cube
 
24.08.12
✎
09:47
(99) Опоздал)) См. (97).
Сотка!
101 avlav
 
24.08.12
✎
09:47
Номер документа - строка, длина 10 символов, нумерация уникальная в пределах года.
102 qeos
 
24.08.12
✎
09:47
а если просто константу завести и инкрементировать просто?
103 Ursus maritimus
 
24.08.12
✎
09:48
(100) Не. Ты предлагаешь менять префикс в номере документа, а я нет.
104 avlav
 
24.08.12
✎
09:48
Номер документа - строка, длина 10 символов, нумерация в пределах года.
105 Reset
 
24.08.12
✎
09:48
А чем не подходит поле код в справочнике?
106 Ursus maritimus
 
24.08.12
✎
09:49
(101) И че? Поставь 5 символов и в пределах дня.
107 Reset
 
24.08.12
✎
09:49
*или номер документа с периодичностью день
108 Ursus maritimus
 
24.08.12
✎
09:49
(106)+Вернее 5 символов можно не ставить
109 Cube
 
24.08.12
✎
09:49
(101) Нумерацию можно и в пределах дня настроить, если что... Но и без этого можно обойтись, если в год документов меньше, чем 9999.
110 Reset
 
24.08.12
✎
09:50
Автор изобретает велосипед какойто имхо
111 Ненавижу 1С
 
гуру
24.08.12
✎
09:50
внешним запросом выбирать значение последовательности (SEQUENCE) в какой нибудь СУБД
112 Cube
 
24.08.12
✎
09:50
(103) Я предлагаю заменять префикс. То же самое, что и ты предложил :)
113 Ursus maritimus
 
24.08.12
✎
09:50
(110) Причем крайне кривоопый
114 Ursus maritimus
 
24.08.12
✎
09:51
(112) возьми пирожок
115 avlav
 
24.08.12
✎
09:51
(111) Те же грабли с блокировкой таблицы
116 Reset
 
24.08.12
✎
09:53
(115) Какие еще грабли?
117 Ненавижу 1С
 
гуру
24.08.12
✎
09:53
(115) там ничего не блокируется, именно для этого SEQUENCE и были придуманы
118 LobS
 
24.08.12
✎
09:53
(0) Как работает генератор случайных чисел
http://habrahabr.ru/post/128666/#habracut
119 Reset
 
24.08.12
✎
09:54
Игра в угадайку. Понравится автору/не понравится
120 avlav
 
24.08.12
✎
09:54
(119) Ты о чем?
121 avlav
 
24.08.12
✎
09:57
(117) Можно потестировать, только я не понимаю, как записи могут не блокироваться и при этом соблюдается уникальность
122 Cube
 
24.08.12
✎
09:58
(101) Вот ещё вариант, примерно такой же, как и (95):
Номер документа делай 5 символов в пределах дня (тип число) и добавляй реквизит "Номер документа" длиной 10 символов (тип строка). При записи документа делай номер документа (наш новый реквизит) по принципу:
ПрефиксОрганизации + ДеньГода(НашДокумент.Дата) + НашДокумент.Номер.
123 Ненавижу 1С
 
гуру
24.08.12
✎
09:59
(121) конечно блокируется в общем-то, но вне транзакций, в своей маленькой транзакции
именно поэтому последовательности гарантируют уникальность, но не гарантируют пропущенных номеров
124 avlav
 
24.08.12
✎
10:03
(122) Нумерация док-тов внутри каждой организации должна быть своя по идеологическим соображениям
125 Reset
 
24.08.12
✎
10:05
(120)
(110) -> (105) -> (107)
126 Cube
 
24.08.12
✎
10:06
(124) Ну сделай номер документа 8 символов, три из которых префикс организации, уговорил...
127 avlav
 
24.08.12
✎
10:08
(107)->(124), (105)- Уникальность в дне нужна. (110) - других вариантов не вижу
128 avlav
 
24.08.12
✎
10:09
(126) Даже не думал уговаривать.
129 Reset
 
24.08.12
✎
10:09
(127) Это никак не исключает возможностей как того, так и другого
130 Reset
 
24.08.12
✎
10:11
(127) Двадцать раз уже сказали, что документ может нумероваться в предалах дня. Спрвочник может быть подчиненным и можно иметь сколь угодно параллельную нумерацию в пределах владельцев.
131 avlav
 
24.08.12
✎
10:12
Двадцать раз уже ответил, что нумерация документов уникальна в каждой организации.
132 Reset
 
24.08.12
✎
10:13
(131) 21 раз пояснили, что для разный организаций придумали префиксы
133 avlav
 
24.08.12
✎
10:14
(132) И?
134 avlav
 
24.08.12
✎
10:14
Попробуй на листочке пронумеровать два столбика от 1 до 10 - получишь уникальность?
135 Cube
 
24.08.12
✎
10:16
(133) Ты что такой упоротый? Тебе уже 130 сообщений говорят, что не нужно тебе ничего, кроме номера документа... Если уникальность будет без учета организаций, то в разрезе организаций точно будет всё уникально...
136 Reset
 
24.08.12
✎
10:16
(134) Я тебя не понимаю. Ладно, здесь есть более терпеливые, может поймут что тебе надо
137 Cube
 
24.08.12
✎
10:16
(126) Этого делать нельзя, кстати. Я поторопился.
138 avlav
 
24.08.12
✎
10:17
(135) см. (124) Нумерация док-тов внутри орг. должна быть СВОЯ, по идеологическим соображениям.
139 Cube
 
24.08.12
✎
10:18
(138) Что значит СВОЯ? По порядку? Че за бред... Не счет-фактуры же нумеруешь...
140 avlav
 
24.08.12
✎
10:20
(139) Ты с Заказчиками также разговариваешь? Ну вот уперся он, грит внутри организации должна быть своя непрерывная нумерация. Я ж не буду говорить ему, что он лох.
141 Cube
 
24.08.12
✎
10:25
(140) Самый производительный для тебя вариант это либо (95), либо (122). Принцип я объяснил. Тебе осталось его понять и подпилить под свою задачу. Можно сделать так, что и волки сыты будут и овцы целы, но ты этого пока не понимаешь, т.к. уперся...
142 Reset
 
24.08.12
✎
10:28
(140) Ты не заказчик, ты пришел помощи просить
143 avlav
 
24.08.12
✎
10:45
Всем спасибо за помощь!
Резюмирую: нормальный вариант, предложен в (48),(57). (123) - тут повышаются затраты на подключение к внешней СУБД, можно потестить скорость работы, если приемлема, тоже вариант.
Вариант (122) имеет место быть, при условии отсутствия необходимости сплошной нумерации доков внутри организации.
Закрываю ветку.
144 Ursus maritimus
 
24.08.12
✎
10:47
Лол. А потом приходится за ними это гуано разгребать...
145 Cube
 
24.08.12
✎
10:49
(143) С вариантом (122), как и с вариантом (95) можно иметь непрерывную нумерацию в разрезе организаций, ващета...
146 Torquader
 
26.08.12
✎
01:38
когда мне нужен был уникальный номер в многопроцессорной системе-мне пришлось создавать файлы с номерами,и пока происходила ошибка создания-номер был занят-при больших номерах,конечно,существовала задержка,но вместо создания можно было просто прочитать директорию,чтобы отсеить заведомо занятые.
147 mistеr
 
26.08.12
✎
02:30
(84) Механизм нумерации есть в платформе, и работает он эффективно, без блокировок "до 25 секунд". В этом топике же его неумело пытаются изобрести заново.

У тебя, как я понял, проблема в том, что док. Обращение пациента имеет свою нумерацию для разных организаций. А оборудование у них одно на всех, и обмены с ним также должны регистрироваться и нумероваться, уникально в пределах дня. Что отсюда следует? Сущность "обмен", или "анализ", или что там у вас, нужно выделить в отдельный документ. Настроить ему нумерацию в пределах дня, без префикса организации. В доке Обращение пациента вместо номера ссылку на док. Анализ. При программном его создании получаем уникальный номер.
148 КонецЦикла
 
26.08.12
✎
04:39
Ужос, 200 постов обсуждать ЭТО
Переходите на 8.3 штоле, там уж точно все реализовано :)
149 Torquader
 
26.08.12
✎
20:45
(147) Оно работает эффективно, если не пытаются в несколько десятков процессов создавать документы пачками.
Вообще-то, в нормальных SQL-серверах есть такое понятие, как генератор, которое специально для этого придумано, чтобы независимо от транзакций или параллельности выполнения выдавать уникальные значения на каждый вызов.
И ситуация сильно зависит от того, сколько номеров нужно нагенерить - если это нумерация обращения пациента в устройство, то стандартная нумерация 1С вполне справится, если же нумерация нужна для передаваемых в устройство пакетов, а передаваться они будут несколько сот штук в секунду, то можно очень даже сильно подвесить 1С.
150 mistеr
 
27.08.12
✎
01:03
(149) >в несколько десятков процессов создавать документы пачками

Никогда еще не встречал реальную необходимость в подобном. В нише 1С естественно.
151 МишКа
 
27.08.12
✎
01:32
(0) ЭтаФорма.УникальныйИдентификатор чем не устраивает?