|
Слетела автоматическая нумерация документов. | ☑ | ||
---|---|---|---|---|
0
Денис Прог
04.05.18
✎
14:41
|
Всем доброго время суток.
Есть документ "Платежное поручение исходящее" в которой для каждой организации ведется своя нумерация. Нумерация заполняется автоматически и создается по принципу "наибольший текущий номер +1". У каждой организации есть свои префикс. Пример: последний документ с номером ЛП000000200, следующий создается с номером ЛП000000201. Вследствии времени префикс номера сменили на другой(Лпл00000124), потом захотели обратно, НО! Номер остается с тем же префиксом, и послеидущем по порядку - Лпл00000125. Какие методы использовал: 1. Вручную указывать нужный мне номер - следующий автоматически не проставляется; 2. ОбновитьНумерациюОбъектов() - не помогает(с указанием метаданных тоже); 3. Перенумерация с помощью обработки УниверсальныеПодборИОбработкаОбъектов - делал, новый префикс работает отлично, при возвращении к старому - снова номер Лпл00000125; 4. УстановитьНовыйНомер() - возвращает Лпл00000125. |
|||
1
Волшебник
04.05.18
✎
14:43
|
Сделай префикс с минусом, т.е. лпл-001
|
|||
2
Денис Прог
04.05.18
✎
14:50
|
(1) а как это повлияет на прошлый префикс? Мне его нужно вернуть для дальнейшей работы.
|
|||
3
novichok79
04.05.18
✎
15:03
|
(2) ну только если отлавливать события при установке номера и корректировать его с учетом организации. но это будет геморно. лучше не трогать номер документа, а сделать отдельное поле для таких извратов.
|
|||
4
novichok79
04.05.18
✎
15:03
|
(2) леща еще можно отгрузить за такие фокусы пользакам.
|
|||
5
Волшебник
04.05.18
✎
15:08
|
(2) в старый префикс тоже добавь минус вместо одного нуля
|
|||
6
Денис Прог
04.05.18
✎
15:33
|
(5) Вручную меняю номер на нужный ЛП-00000200, очищаю таблицу регистрации, снова создаю документ с номером ЛП-00000201, и в новом документе следующий новый номер - Лпл00000125
|
|||
7
Джинн
04.05.18
✎
15:35
|
ОбновитьНумерациюОбъектов
|
|||
8
saaken
04.05.18
✎
15:36
|
(0) создай нового пользователя
|
|||
9
Джинн
04.05.18
✎
15:37
|
(7) + после нее перезаписать последний правильный документ
|
|||
10
Денис Прог
04.05.18
✎
15:39
|
(7) делал
(9) и это тоже |
|||
11
Azverin
04.05.18
✎
15:39
|
(7) не поможет
|
|||
12
Денис Прог
04.05.18
✎
15:39
|
(8) А пользователь причем тут?
|
|||
13
Azverin
04.05.18
✎
15:41
|
(10) фишка в том, что в платформе зашит поиск префикса по символам. "ЛП" и "Лпл" - первые символы префикса совпадают. Сам на этом собаку съел.
|
|||
14
saaken
04.05.18
✎
15:44
|
(12) возможно кэширование
|
|||
15
Денис Прог
04.05.18
✎
15:45
|
(13) то есть для платформы это одно и тоже?
|
|||
16
Денис Прог
04.05.18
✎
15:45
|
(14) Чистил, не помогло
|
|||
17
Azverin
04.05.18
✎
15:46
|
(15) Да. Мы переименовывали префикс - первую букву, и взлетело всё.
|
|||
18
saaken
04.05.18
✎
15:50
|
(16) не кэш чисти, а пользователя пересоздай
|
|||
19
Azverin
04.05.18
✎
15:52
|
(18) и как это поможет?
(15) после выравнивания префиксов, не забудьте сделать ОбновитьНумерациюОбъектов для метаданных (Платежное поручение исходящее). |
|||
20
saaken
04.05.18
✎
15:53
|
(19) вам решение надо или теоретическое обоснование.
мне помогло |
|||
21
Azverin
04.05.18
✎
15:54
|
(20) так бы сразу и сказал, что помогло)
теперь да, хочется понять почему? |
|||
22
Денис Прог
04.05.18
✎
15:57
|
(19)
В общем сделал вот что: 1. Обработкой "УниверсальныеПодборИОбработкаОбъектов" проставил новый префикс ЛПО; 2. Создал новый документ и вручную его установил; 3. Сделал "ОбновитьНумерациюОбъектов"; 4. Повторил шаг 2; и в последующих документах мой префикс начал подставляться. Как оно работает?)) |
|||
23
Денис Прог
04.05.18
✎
15:58
|
(20) сейчас, эксперимента ради, попробую
|
|||
24
Azverin
04.05.18
✎
16:04
|
(22) тогда получается, что и правда сначала ищется ранее введённый префикс, или же криво работает платформа.
|
|||
25
Serg_1960
04.05.18
✎
16:04
|
"Как оно работает?" - работает оно просто и примитивно :) Просто запомни: нельзя использовать префиксы, которые являются подмножеством других префиксов. Сложно сказал? Если сложно -
тогда читай (13) и последующий диалог до просветления :) |
|||
26
Azverin
04.05.18
✎
16:06
|
(25) "которые являются подмножеством других префиксов" - бинго!
у нас были "ГК" и "ГКг" ))) |
|||
27
Serg_1960
04.05.18
✎
16:13
|
(24) Это старый баг, имхо, который ради совместимости не стали исправлять :)
(26) Чисто теоретически рассуждая, самый простой выход из неоднозначных ситуаций - использовать однородные префиксы одинаковой длины. В случае префиксов "ГК" и "ГКг",имхо, можно избежать конфликта, если "ГК" заменить на "ГК0". Ну, по крайней мере, на старых платформах можно было короткие префиксы добивать до нужной длины нулями... |
|||
28
YaFedor
04.05.18
✎
16:19
|
Очевидно же, что строка ЛП0 меньше чем Лпл, поэтопу при применении префикса ЛП ищется максимальный номер с префиксом ЛП, а это Лпл0...х и потом он увеличивается на единицу
Можно попробовать префикс ЛПО, где последний символ это русская буква "о" |
|||
29
Денис Прог
04.05.18
✎
16:20
|
(25) да не, понятно сказал. Просто думал что не может быть такого.
|
|||
30
Денис Прог
04.05.18
✎
16:20
|
Всем спасибо за обсуждение!
Тему можно считать закрытой. |
|||
31
Azverin
04.05.18
✎
16:22
|
(30) так что с новым пользователем? - вроде не поможет.
|
|||
32
Serg_1960
04.05.18
✎
16:23
|
(29) Тогда вот Вам ссылка "Особенности работы механизма автонумерации" и Бог в помощь
https://its.1c.ru/db/metod8dev#content:1550:hdoc |
|||
33
Денис Прог
04.05.18
✎
16:38
|
(31)
1. Создал нового пользователя; 2. Сделал новый документ и присвоил вручную префикс; 3. Новый документ с префиксом, который был до моих изменений. Наверное, в (25) и (13) и есть ответ. Ну и (32) для справки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |