Имя: Пароль:
1C
1С v8
ОбновитьНумерациюОбъектов() Не помогает.
,
0 ХардHard
 
02.07.15
10:58
Такая проблема:
при копировании , создании нового документа СФ_Выданный
УстановитьНовыйНомер(ДокументОснование.Организация.Префикс) возвращает
номер А99 , хотя такой документ уже есть . Есть даже А103.

ОбновитьНумерациюОбъектов(Метаданные.Документы.СчетФактураВыданный)
Не помогло. Что еще можно попробовать?

База клиент - серверная самописка на основе старой УТ 10.3.
1 Галахад
 
гуру
02.07.15
11:00
Пренумерация.
2 Serg_1960
 
02.07.15
11:02
Перенумеровать документы за период автонумерации на большую длину номера, используя ведущие нули.

Например, А99 --> А00099
3 Лефмихалыч
 
02.07.15
11:06
еще можно установить префикс "А-" или "А0-"
4 Serg_1960
 
02.07.15
11:07
+(2) Обработка УниверсальныеПодборИОбработкаОбъектов.epf с диска ИТС тебе в помощь.
5 ХардHard
 
02.07.15
11:10
(4) Спс, поищу.
А можно без изменения вида номера ? Например сначала нули добавить, а потом убрать чтобы как раньше было?
6 Лефмихалыч
 
02.07.15
11:11
(5) без изменения префикса - нет
7 ХардHard
 
02.07.15
11:12
(6) Ну префикс сначала поменять а потом вернуть на прежний?
8 Лефмихалыч
 
02.07.15
11:13
(7) сначала все улучшится, потом вернется, как было
9 Serg_1960
 
02.07.15
11:14
(5) А не всё ли равно сколько нулей в номере электронного(!) документа? Типовая печать ведь убирает ведущие нули из номера? (если мне память не изменяет).
10 ХардHard
 
02.07.15
11:23
(9) Да бухгалтера всякие очень трепетно к этому  всему относятся.
11 ВРедная
 
02.07.15
11:27
(10) объясни им, что либо ручная нумерация, либо отсутствие нулей
12 ХардHard
 
02.07.15
11:27
Еще вопрос . Самому продублировать механизм нумерации . Работы на 10 минут. В самописке это совсем плохо, как считаете?
13 Serg_1960
 
02.07.15
11:30
(10) Если они хотят чтобы работала автонумерация - у них нет другого выхода. В типовых конфигурациях автонумерация не изменяет длину номера. И как только, например, встретится номер типа "А9", "А99", "А999" и т.д. - автонумерация прекратит нормально работать.
14 ХардHard
 
02.07.15
11:32
(13) Блин вот я теперь понял. Скок лет работаю, а не знал такого. Спасибо, мил человек. Буду писать свой велосипед, наверное.
15 Serg_1960
 
02.07.15
11:40
(14) Не стоит этого делать. Ты попробуй составить алгоритм поиска наибольшего номера, если у них различная длина :(

Всё завершится и упрется в банальный перебор всех записей, ибо ни запросы, ни выборки не сработают так, как тебе нужно.
16 ВРедная
 
02.07.15
11:54
(15) почему не сработают, если хранить числовой номер отдельно от полного номера и префикс тоже отдельно, то можно получить максимальный номер в году по префиксу
17 ХардHard
 
02.07.15
12:00
(15) (16) Можно поизвращаться с определением длинны номера.В запросе. Чем  сейчас и занимаюсь.
18 Serg_1960
 
02.07.15
12:04
(16) "Хранить"? Это значит нужно использовать регистр сведений (начало периода, конец периода, префикс, номер). многопользовательский режим - блокировки, транзакции. И не забыть про возможность указания номера "вручную" пользователем.
19 ХардHard
 
02.07.15
12:07
(18) "Хранить"? Это значит нужно использовать регистр сведений (начало периода, конец периода, префикс, номер). многопользовательский режим - блокировки, транзакции.

Тут оборот 10 СФ в день.)

И не забыть про возможность указания номера "вручную" пользователем.
При записи СФ можно в РС добавлять запись соответственную.
20 Serg_1960
 
02.07.15
12:09
(17) Подскажу: запрос на поиск макс.длины номера в периоде автонумерации; отбор номеров с этой длинной; сортировка - профит. Логично? Логично. Нелогично только то, что в последовательности "1"-"9", "10"-"99", "100-999" и т.д. может быть встречен номер, например, "0099" :(
21 Serg_1960
 
02.07.15
12:15
Выход? Если нет номера - генерация номера в момент записи документа; если есть номер - проверка номера перед записью документа.
22 Serg_1960
 
02.07.15
12:22
(19) Если десяток документов в день и всего один пользователь- можешь писать сколь угодно медленный алгоритм своей нумерации. Разрешаю, нет проблем :)

А вот когда менеджеров, клепающих однотипные документы, - целый отдел...
и их (отделов) - не один...
и отделы - в обособленных подразделениях, территориально удаленные друг от друга...
и у тебя - риб-база...

Вот тогда, да, - у тебя проблема :))
23 ХардHard
 
02.07.15
12:23
(20) У меня в СФ без лидирующих нулей всегда было. Так что это не проблема. А с "0099" , действительно , совсем некрасивый запрос будет.
24 ХардHard
 
02.07.15
12:23
(22) Глупо спорить с КЭПом %)
25 hhhh
 
02.07.15
12:56
(24) не забывайте основную мысль: "9" > "10"