Имя: Пароль:
1C
1С v8
Не идет автоматическая нумерация БП 3.0
,
0 Олдж
 
01.08.23
21:18
Итак, по какой-то причине, которую я понять не могу имеем следующее в документе "счет-фактура выданный":
ДКБП-0999997
ДКБП-0999998
ДКБП-0999999
и дальше затык, при записи нового документа получаю ошибку
Значение "ДКБП-0999999" поля "Номер" не уникально.
Что делаем, вручную создаю номера
ДКБП-1000000
ДКБП-1000001
Дальше применяю вроде бы действующий в этих делах метод ОбновитьНумерациюОбъектов(Метаданные.Документы.СчетФактураВыданный);
Но ничего не получилась, ошибка Значение "ДКБП-0999999" поля "Номер" не уникально. никуда не ушла.
Прошу подсказать верный алгоритм
1 Злопчинский
 
01.08.23
22:05
Распечатать реест с номерами ДКБП т посмотреть упорядочив...?
Интересно что получится
2 Олдж
 
01.08.23
22:21
(1) там жопа и все перенумеровать нет возможности :)
Но разве нумерация не должна восстанавливаться по самому "последнему" номеру ? ДКБП-0999999 это же не ДКБП-999999, есть еще ведущий ноль, но всё равно не переходит дальше
или тут на уровне платформы номер не больше 999999 ?
3 Franchiser
 
гуру
01.08.23
22:36
(0) расширь нумерацию и сделай номера дкбп-00
4 Franchiser
 
гуру
01.08.23
22:38
Проверь подписки на события, может у тебя префиксом является "дкбп-0"
5 1CBaseV8
 
01.08.23
22:40
Сделать отбор за год и отсортировать по номеру. Посмотреть последние в списке, обычно в них проблема.
6 Олдж
 
01.08.23
22:42
(3) не совсем понял как. Длина поля Номер 12 символов, подскажи какой номер ДКБП-00 сделать, ДКБП-0090000?
7 1CBaseV8
 
01.08.23
22:45
(4) Да, из-за того что с/ф на аванс имеют префикс "А", первый ноль зарезервирован

    ИначеЕсли ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс
        ИЛИ ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитента
        ИЛИ ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.КорректировочныйНаАванс Тогда
        Если Константы.ОтдельнаяНумерацияСчетовФактурНаАванс.Получить() Тогда
            Префикс = "А";
        Иначе
            Префикс = "0";
        КонецЕсли;
8 1CBaseV8
 
01.08.23
22:46
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)

    Если Исправление Тогда
        Префикс = "И";
    ИначеЕсли ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.СводнаяСправка Тогда
        Префикс = "Р";
    ИначеЕсли ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.КорректировочнаяСправка Тогда
        Префикс = "К";
    ИначеЕсли ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс
        ИЛИ ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитента
        ИЛИ ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.КорректировочныйНаАванс Тогда
        Если Константы.ОтдельнаяНумерацияСчетовФактурНаАванс.Получить() Тогда
            Префикс = "А";
        Иначе
            Префикс = "0";
        КонецЕсли;    
    Иначе
        Префикс = "0";
    КонецЕсли;

КонецПроцедуры
9 1CBaseV8
 
01.08.23
22:47
Т.е. первая цифра всегда "0" или "А"

    Иначе
        Префикс = "0";
    КонецЕсли;
10 Олдж
 
01.08.23
22:57
(4) (9) Благодарю, суть проблемы ясна
11 Winnie Buh
 
02.08.23
13:47
(0) >Что делаем, вручную создаю номера
ДКБП-1000000

попробуй создать не ДКБП-1000000, а ДКБП-01000000
12 Serg_1960
 
02.08.23
16:02
(11) Автор нарвется на ограничение по длине номера - "Длина поля Номер 12 символов"(6)