Имя: Пароль:
1C
1С v8
Номер документа
,
0 discant
 
20.07.12
11:56
Товарищи!
Есть обработка, которая создает подчиненные документы.
Документ-родитель, на основании которого создаются подчиненные, кривыми руками создателя получил номер 02А-001. Когда номера доходят до 02А-999, разряды кончаются и получаем "Значение поля "Номер" не уникально".
Передаю методу УстановитьНовыйНомер() другой префикс, но поскольку префикс номера получается 02А, мой префикс, взятый из строковой переменной, номеру не добавляется...
Что делать?
P.S. Пробовал ставить условие на вхождение "-999" и по его истинности устанавливать номер 02А-0000999 вручную, но следующий вызов метода УстановитьНовыйНомер() Снова присваивает 02А-999.
1 SherifSP
 
20.07.12
11:58
(0)Не правильно условие ставишь
2 AndyD
 
20.07.12
11:58
пиши обработку, которая поменяет у всех документов номера с 02А-001 -  02А-999 на 02А-00001 -  02А-00999

и после этого проблем не будет
3 salvator
 
20.07.12
11:59
(0) "Обработка объектов с подбором" на ИТС. Там есть перенумерация.
4 discant
 
20.07.12
11:59
(2) Тогда полетят связи у всех 02А-документов.
5 AndyD
 
20.07.12
12:00
что это за связи, которые по номеру связываются?
6 discant
 
20.07.12
12:01
Документ-основание например
7 discant
 
20.07.12
12:03
к (6) структура подчиненности рухнет.
8 hhhh
 
20.07.12
12:06
(6) структура подчиненности связывается по ссылке. К номеру никакого отношения не имеет.
9 discant
 
20.07.12
12:08
А реквизит "Основной заказ" как же?
10 Serg_1960
 
20.07.12
12:08
Использовать номер документа, для каких либо целей, кроме нумерации - фи, апендикс ручного ведения документооборота :( Подчиненность документов по другому делается - не так, тупо, прямолинейно. Но врочем если юзверы настаиваю - отрубиавтонумерацию и пусть сами трах.. упс... сами присваивают номера и следят за уникальностью.
11 discant
 
20.07.12
12:13
(10) Согласен, что апендикс, по шапке, кто это затеял уже получил. Так как все таки сделать так, чтобы когда-999 входит в номер, следующему номеру было присвоено -0001000
12 hhhh
 
20.07.12
12:18
(11) ну всё равно, напишите еще обработочку, где в реквизит ОсновнойЗаказ добавляются два нулика. Эта обработка займет у вас 8 минут вместе с отладкой.
13 discant
 
20.07.12
12:30
То есть без перенумерации вообще никак?
14 hhhh
 
20.07.12
12:38
(13) 999 - это получается самый большой номер. Он больше 0001000, потому что сравнение идет по-символьно.

То есть или приписывайте к этому 999 слева нули или выкидывайте его вообще из базы.

Ну есть еще вариант замены префикса. Старые номера со старым префиксом, а новые, начиная с 0001000 делайте с другим префиксом
15 discant
 
20.07.12
12:42
А как префикс заменить? банальным присвоением?
16 discant
 
20.07.12
14:04
Так-с... с префиксом разобрался...
А как теперь восстановить нормальную нумерацию?
Следующий документ, который я провожу наследует номер 02а... и т. д. а я хочу, чтобы нумерация продолжалась с 00000000120... разоб
17 discant
 
20.07.12
14:06
К (16) последний документ, который был нормально пронумерован имеет номер 00000000120
18 hhhh
 
20.07.12
14:17
вручную присвойте, а дальше оно пойдет
19 discant
 
20.07.12
14:32
Я тоже так думал... Не идет((((