Имя: Пароль:
1C
1C 7.7
v7: Снова нумерация документов: откуда взялся префикс
0 Evgenius
 
21.01.15
12:36
Доброго времени суток.
Ввели префиксы автонумерации для некоторых документов (ИБ у нас на основе конфигурации "Альфа-авто" на 7.7). В результате почему-то поменялась нумерация и одного из тех видов, которые не трогали: прямо при создании (т.е. после команды Док.Новый()) у документа этого вида номер с однобуквенным префиксом "З".
Посмотрел в профайлере - 1С при создании документа выполняет следующий запрос для вычисления номера:

set rowcount 1; select DOCNO from _1SJOURN(NOLOCK) where DNPREFIX='      68152015    ' and DOCNO>='З' and substring(DOCNO,1,1)='З' order by DNPREFIX DESC, DOCNO DESC; set rowcount 0

Документов этого вида с таким префиксом номера в базе нет. Запрос не возвращает ни одной строки. И 1С Присваивает Номер "З000000001". Спрашивается, откуда взялась "З" в качестве префикса? Из документов другого вида? по какому принципу и праву? :-)
1 DGorgoN
 
21.01.15
12:48
1. Код посмотреть.
2. Нумератор?
2 Naumov
 
21.01.15
12:49
100% нумератор общий
3 Evgenius
 
21.01.15
13:14
2 DGorgoN
Вроде, из текста понятно должно быть: нет там ничего, кроме команды Док.Новый().
Ну, ничего, имеющего отношение к присвоению номера.

2 Naumov
У документа нет нумератора. Иначе бы не спрашивал
4 Злопчинский
 
21.01.15
13:52
Проверить нумераторы
Проверить код на установку префиксов
Проверить вид документа на наличие уже существующего номера в периоде нумерации
Провести тии
5 Evgenius
 
21.01.15
13:55
Еще раз:
Нумератора нет
Нет документов этого вида с таким префиксом
Нет кода, явно устанавливающего новый номер, номер с префиксом появляется у нового документа сразу после выполнения команды

Док.Новый()

2 Злопчинский: вы ветки читаете перед ответом? :-)

Во всех этих случаях и не было бы так интересно :-)
6 Ёпрст
 
21.01.15
14:01
(0) в глобальнике, префиксавтонумерации установлен поди
7 Ёпрст
 
21.01.15
14:03
+ возможно, это префикс от риба
8 Злопчинский
 
21.01.15
14:05
У меня было похожее
Как последствия неаккуратной работы с транзакциями
Лечилось только конфигуратором
9 Evgenius
 
21.01.15
14:14
(6) Ага, и эта хрень в глобальнике срабатывает в какой момент? :-)
Между Док.Новый() и следующей командой? :-)

(7) База не распределенная

(8) А как именно "лечилось"-то ?
10 Evgenius
 
21.01.15
14:16
(8) Ну, кроме как написать после
Док.Новый();
явную установку номера с "псевдопрефиксом":
Док.УстановитьНовыйНомер("0");
Это уже сделано. Интересно, "что это было" (с)
11 Evgenius
 
21.01.15
14:19
(6) Сорри, я забыл про эту возможность
(ПрефиксАвтоНумерации("*", "??"))!!!
12 Evgenius
 
21.01.15
14:23
(6) В общем, спасибо вам (да и всем остальным тоже), кое-кто у нас и правда установил префикс автонумерации для всех документов такой командой:
ПрефиксАвтоНумерации("Документ.*", <та самая буква "З">)

Оправдаюсь тем, что несколько лет в 7.7 дела не имел :-)
2 + 2 = 3.9999999999999999999999999999999...