Имя: Пароль:
1C
1С v8
Сбой нумерации документа
,
0 rool
 
27.01.16
15:27
День добрый господа возник очень странный глюк при программном создании и попытке записи один из документов стал ругаться на то что его номер не уникален и не записывается. Автоматическая нумерация включена. При создании документа в ручную из списка номер проставляется корректно, и документ записывается нормально. До сегодняшнего дня всё долгое время работало. Ни кто не сталкивался с такой фигней?
1 sash-ml
 
27.01.16
15:30
ОбновитьНумерациюОбъектов();
2 vicof
 
27.01.16
15:32
Включи отладчик и посмотри, какой номер создается.
3 rool
 
27.01.16
15:34
(2) До записи никакой, пустое значение в поле. кстати а разве номер генерится не при первой записи?
4 sash-ml
 
27.01.16
15:34
(0) +(1) После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы.
5 rool
 
27.01.16
15:41
(4) Все равно ругается :(
6 vicof
 
27.01.16
15:42
(5)
ВЫБРАТЬ ПЕРВЫЕ 1
   Док.Номер КАК Номер
ИЗ
   Документ.Док КАК Док

УПОРЯДОЧИТЬ ПО
   Номер УБЫВ
7 vicof
 
27.01.16
15:42
Следующий вычислить немудрено
8 rool
 
27.01.16
15:45
(7) Не ну это то понятно, что можно следующий номер вычислить и подставить. Но это кастыль. Мне интересно почему стандартный нумератор не срабатывает. причем только при программном создании. До этого то он работал...
9 Serg_1960
 
27.01.16
15:50
(6) А чего его "вычислять"? Сортировка журнала по номеру и озвучить последний тут.

(0) "номер проставляется корректно, и документ записывается нормально" - а у Вас что, номер создаётся на форме?

(8) Ага :) пошли подробности - озвучили "стандартный нумератор"

PS: Вы поаккуратнее с терминами - Вас могут не понять правильно.
10 vicof
 
27.01.16
15:53
(8)(9) "А чего его ""вычислять""?"
Чтобы понять, в чем собака порылась.

(9) "Сортировка журнала по номеру и озвучить последний тут. "
Я надеюсь, автор сам сможет после этого понять, в чем проблема, и не надо будет на форуме флудить.
11 rool
 
27.01.16
15:59
(9) Нет номер создается не в форме, для документа включена автоматическая нумерация. но когда документ создаешь через форму, в форме сразу отображается новый номер до записи.
никакого кода затрагивающего нумерацию в модуле формы нет. точнее там вообще нет никакого кода, документ создается только интерактивно :)
а как еще называть систему автоматической нумерации документа 1С?)
12 lEvGl
 
гуру
27.01.16
16:01
(11)похоже что у вас там нумерация как раз неавтоматическая
13 lEvGl
 
гуру
27.01.16
16:02
+ кода нет, смотрите подписки на события
14 Serg_1960
 
27.01.16
16:03
(11) "в форме сразу отображается новый номер до записи" - это и есть то, что я назвал "на форме" - режим автонумерации в форме включен (свойство формы "Автонумерация"). Поэтому и есть отличия от "программной записи".
15 Serg_1960
 
27.01.16
16:07
В типовых, при записи нового документа, срабатывает подписка на событие. Если номера нет - обработка генерит новый номер с учетом префиксов организации, узла и т.д. Если номер присваивается в форме до записи, то эта обработка "не вмешивается" - номер ведь уже есть.
16 Serg_1960
 
27.01.16
16:09
(10) Не так всё просто. Например если есть префиксы или используются нумераторы.
17 Serg_1960
 
27.01.16
16:15
PS: а конфигурация так и не озвучена. Автор, учти: в типовой УПП в формах документов "Автонумерация" - "Не используется". Имхо, что-то у Вас нетиповое изменение приключилось случайно на форме этого документа. И возникли вопросы на Мисте :)
18 sash-ml
 
27.01.16
16:17
(5) странно, после ОбновитьНумерациюОбъектов(); должно работать. Или там пять раз через попытку документ записывается?
19 rool
 
27.01.16
16:18
все. проблему раскурил. хотя не понял почему обработчик записи ругался на не уникальный номер. в обработчик ПередЗаписью пытался записать связный документ, лежащий в закрытом периоде и на этом занятии обламывался.
20 vicof
 
27.01.16
16:24
(19) П..ц архитектурка
21 rool
 
27.01.16
16:24
(17) У нас УПП совсем не типовая, да еще и через задницу написанная, я потому и не озвучивал конфигурацию что это код дописанный диким франчем :)
22 rool
 
27.01.16
16:26
(20) ага. сам регулярно офигиваю :)
23 Serg_1960
 
27.01.16
16:35
(19) Привыкай :) 1С часто ругается, указывая совсем не на то, что породило ошибку :)
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.