Имя: Пароль:
1C
 
Как работает УстановитьНовыйКод(<Префикс>)
Ø
0 NickLon
 
04.07.06
11:53
Возник вопрос о том, как работает эта команда. Существует 1644 элемента в одной папке и 89 в другой. Нужно, чтобы в первой папке был префикс "00-", а во второй "08-". В первой папке выдаёт новый код "00-586", а во второй правильно "08-90" (в процедуре ВводНового() есть проверка кто именно родитель). Так вот непонятно, почему в первом случае именно 586, а не 1645?
1 Uho
 
04.07.06
11:59
видимо, последний элемент с префиксом "00-" это "00-585"
2 Mitrich
 
04.07.06
12:00
А что будет после 08-99?
3 Arden
 
04.07.06
12:01
наверное потому что есть номера такого вида 00-ХХХ а не 00-0ХХХ, а во второй папке дойдите до 08-99 и посмотрите что получиться.
ЗЫ ВСЕ номера должны иметь ОДИНАКОВОЕ количество символов.
4 NickLon
 
04.07.06
12:06
(1) Нет, именно 00-1644 Но есть небольшое "но". Дело в том, что сначала в этих папках была чехарда с номерами. Я их привел в порядок. Но не пользовался УстановитьНовыйКод() в обработке, а просто созданием сложного кода в цикле. Ну, там Спр.Код = "00-" + Н, где Н - счетчик. Может быть здесь собака порылась?
Но опять же таки, вторую папку я тоже так делал. Правда, префикса "08" не существовало. То есть, я хочу вот что сказать. Не могло ли получиться так, что когда-то в теле ВводНового() использовался метод УстановитьНовыйКод(), а потом, во время обновления его снесли, а программа "запомнила" что этот метод в последний раз отработала на 585. Такое может быть?
5 NickLon
 
04.07.06
12:09
(2,3) Нет, это я для краткости так написал. На самом деле у меня номера "00-00001644" и "08-00000089". Эту фичу я знаю.
6 Mitrich
 
04.07.06
12:10
(4) Мдя... Надо было хотя бы так перенумеровывать тогда уж:
Спр.Код = "00-" + Строка(Формат(Н,"Ч(0)4.0"))
7 Arden
 
04.07.06
12:11
(4) метод УстановитьНовыйКод() ничего не запоминает. ищи номера в которых после превикса 3(три) цифры и дописывай перед ними "0".
еще раз !!!ВСЕ номера должны иметь ОДИНАКОВОЕ количество символов.!!!
8 Uho
 
04.07.06
12:11
(5) "это я для краткости так написал" - чтобы заморочить всем голову?
  
теперь давай правду говори... какой номер есть, какой присваивается
9 Arden
 
04.07.06
12:14
(5) мля
ЗЫ все равно ищи номер у которого символов меньше.
10 NickLon
 
04.07.06
12:24
Да, такое было в других папках. Извините. А можно ли как-то указать, чтобы использовалась определённая папка для генерации номера?
11 Arden
 
04.07.06
12:28
(10) в конфигураторе "Серии кодов" - ставим переключатель "В пределах подчинения"
12 NickLon
 
04.07.06
12:36
Всё получилось. Всем спасибо!