Имя: Пароль:
1C
1С v8
УстановитьНовыйНомер() устанавливает один и тот же номер
, , ,
0 Aswed
 
02.03.16
12:50
Собственно как такое может быть и как с этим бороться?
Конфигурация АльфаАвто, сильно переписанная.
Но по идеи то пофигу должно быть, что так что так номер должен устанавливаться следующий по порядку. А он выставляется один и тот же.
1 Лефмихалыч
 
02.03.16
12:53
может префикс разный при вызове УстановитьНовыйНомер() и в обработчике события ПриУстановкеНовогоНомера?
2 Aswed
 
02.03.16
12:55
(1) Нет префикс один и тот же.
Думал проблема в кэше пользователя, так фиг. Базу скопировал себе у меня та же беда.
Ставит один и тот же номер.
3 Лефмихалыч
 
02.03.16
12:57
999999?
4 Остап Сулейманович
 
02.03.16
12:57
(0) Так бывает, если длина строки Префикс+НовыйНомер получается больше длины реквизита.
Например у вас длина номера 8 симв. Префикс - 3 буквы. Последний выданный - 99 999.
5 Aswed
 
02.03.16
13:00
(4) Не, тут все норм.
Длина префикса 2 буквы, никто его длину не менял.
Сейчас выдает номер СИ00028444
6 Defender aka LINN
 
02.03.16
13:01
Скажи ему ОбновитьНумерациюОбъектов()
7 Лефмихалыч
 
02.03.16
13:02
(6) врядли. Иначе бы "Базу скопировал себе у меня та же беда" не было
8 Fish
 
02.03.16
13:06
(0) Пробовал завести новый номер вручную? Помнится, у нас тоже в АльфеАвто иногда нумератор тупил (правда ещё на 8.1) - лечили именно так: ручками заводишь новый номер, и дальше нумерация идёт нормально. Так и не выяснили, то ли это был глюк платформы, то ли "гениальный" механизм нумерации Раруса, т.к. такое достаточно редко происходило.
9 Aswed
 
02.03.16
13:06
(6) А что это даст в данном случае?
10 Aswed
 
02.03.16
13:08
(8) Да дело в том что там номер присваивается без всякого шаманства. Просто вызовом процедуры УстановитьНовыйНомер(Префикс) при открытии документа. Тут криворукость разрабов не причем.
11 Лефмихалыч
 
02.03.16
13:09
может галка "Автонумерация" у документа не стоит ни фига?
12 cathode
 
02.03.16
13:10
(0) Какой режим совместимости установлен у конфигурации и под какой версией платформы она запускается?
13 Aswed
 
02.03.16
13:10
Выяснил вообще интересную вещь.
Если документ открывать из под одного и того же пользователя то номер вылазит один и тот же, но если этот же док создает второй пользователь, то номер присваивается новый.
Причем у второго пользователя этот новый номер опять будет повторяться во всех открываемых документах.
14 Лефмихалыч
 
02.03.16
13:12
Дело в каких-то подписках
15 Лефмихалыч
 
02.03.16
13:12
или это при открытии нового?
16 Живой Ископаемый
 
02.03.16
13:12
гарантирую, что в в8 есть отладчик.
17 Aswed
 
02.03.16
13:14
(11) Ёпть его в туда колено!!!
Какая скотина интересно этот флажок убрала!?!?!?
18 Лефмихалыч
 
02.03.16
13:15
да твою ж-то мать-то, семён семёныч, а?!.. нагнал тут интригу...
19 Масянька
 
02.03.16
13:16
(17) Найди и ... (тут от образования и знаний зависит :) )
20 Aswed
 
02.03.16
13:19
Внимание!
Не помогло. Поставил галку, все равно один и тот же номер вылазит.
21 Aswed
 
02.03.16
13:20
(15) При открытии нового.
Процедура вызывается один раз из общего модуля.
22 Aswed
 
02.03.16
13:21
(12) Платформа 8.3.6.2332
Режим совместимости Версия 8.2.16
23 Масянька
 
02.03.16
13:23
(22) Очищать нумерацию автоматически стоит галочка?
24 Мэс33
 
02.03.16
13:28
(13) убей этого пользователя и создай новый.
25 Aswed
 
02.03.16
13:30
(23) А это где?
26 Мэс33
 
02.03.16
13:31
(25) нигде. Косячного пользователя удали. Или пусть остается.
А создай нового. Пусть пользуется им.
27 Масянька
 
02.03.16
13:31
(25) В свойствах конфигурации. Была, по крайней мере. У меня такая же фигня была в УАТ.
28 hhhh
 
02.03.16
13:32
(20) ну посмотри в базе, какой там последний номер с префиксом СИ??
29 Мэс33
 
02.03.16
13:32
(26) мля.. глаз замылился (((
посыпаю голову пеплом.
30 Aswed
 
02.03.16
13:32
Блин прогнал.
Поставил автонумерацию, а под тестируемым пользователем не перезашел)
После перезахода все пошло как должно было быть.

ЗЫ Не могу понять только накой ляд было убирать автонумерацию?!?!?!
31 hhhh
 
02.03.16
13:40
(30) ну может ты в тот день напился? Ну и маханул несколько галок.
32 Лефмихалыч
 
02.03.16
13:48
(30) я тебе теперь больше ни когда верить не буду
33 Сергиус
 
02.03.16
13:49
(30)Возможно, кто-то таким образом думал свою нумерацию приладить, да не вышло)
34 cathode
 
02.03.16
13:53
(30) Вообще странно. Если даже автонумерация отключена, то УстановитьНовыйНомер() все равно ее выполняет. Там же везде УстановитьНовыйНомер() вызывается, да?
35 cathode
 
02.03.16
13:55
(30) Кстати, а рабочая база клиент-серверная или файловая? Может это косяк сервера 1С? Или к одной базе подключение с разных кластеров?
36 Лефмихалыч
 
02.03.16
13:55
(34) ни хрена подобного
37 cathode
 
02.03.16
13:59
(36) Чой-то нихрена? Попробуй в пустой базе сделать. Я тебе точно говорю, что вызов УстановитьНовыйНомер() работает как автонумерация. Если галка сброшена, то у нового документа просто номер пустая строка.
38 Лефмихалыч
 
02.03.16
14:10
(37)хмм... я ж ведь пробовал ж прежде, чем предположить (11)
действительно инкрементирует, падла
39 Лефмихалыч
 
02.03.16
14:13
Значит где-то в подписке какой-то есть

Если ТекущийПользователь() = "это вот это вот волшебный вася" Тогда
СтандартнаяОбработка = Ложь;
40 cathode
 
02.03.16
14:22
(39) А вот это, кстати может быть. Вот процедура, которая вызывается из ПриУстановкеНовогоНомера() заказ-наряда:

Функция дкПриУстановкеНовогоНомера(ЭтотОбъект, СтандартнаяОбработка, Префикс) Экспорт
    
    Результат = Истина;
    
    НовыйПрефикс = обПолучитьПрефиксОбъекта(ЭтотОбъект,Префикс);
    Если НовыйПрефикс = Неопределено Тогда
        СтандартнаяОбработка = Ложь;
    Иначе
        Префикс = НовыйПрефикс;
    КонецЕсли;
    
    Возврат Результат;
    
КонецФункции // дкПриУстановкеНовогоНомера()

Как раз, если НовыйПрефикс пустой, то СтандартнаяОбработка не выполняется. Если в обПолучитьПрефиксОбъекта кто-то ковырялся, то она вполне может возвратить Неопределено при каких-то условиях.
Независимо от того, куда вы едете — это в гору и против ветра!