Имя: Пароль:
1C
1С v8
Как при создании нового документа увеличить его номер на единицу?
0 wrxsti
 
03.06.19
20:36
При программном создании нового документа, ему присваивается номер 000000001. Хотя у предыдущего документа номер 000002746. Тип данных у номера "строка".
Документ создаю так:

Для Каждого ЭлементМассива из Массив Цикл        
        Если ЭлементМассива.Id1C = "0" Тогда
            ДокументОбъект = Документы.Док1.СоздатьДокумент();
            НаименТеста = ЭлементМассива.english;                 
        ТестСсылка = Справочники.ОУ_Тесты.НайтиПоНаименованию(НаименТеста);
        ДокументОбъект.Тест = ТестСсылка;
            ДокументОбъект.Дата = ТекущаяДата();
            ДокументОбъект.Записать();              
        КонецЕсли;
    КонецЦикла;

Я так понимаю необходимо сделать выборку максимального номера в запросе, перевести его в число, прибавить единицу и вернуть в строку?
Подскажите пожалуйста, как это можно сделать?
1 wrxsti
 
03.06.19
21:33
Добавил такой код:
Строка1 =Строка(Число(Прав(Номер,9)) + 1);
            ДлиннаСтроки1 = СтрДлина(Строка1);
            Разница = 9 - ДлиннаСтроки1;
            Для р = 1 По Разница Цикл
                Строка1 = "0" + Строка1;
            КонецЦикла;
            Строка1 = Строка1;

            Номер = Строка1;

Номер документа стал 000002 746. Откуда взялся пробел и как его убрать?
2 vde69
 
03.06.19
21:43
ДокументОбъект.Дата = ТекущаяДата();
            ДокументОбъект.УстановитьНовыйНомер();
            ДокументОбъект.Записать();
3 wrxsti
 
03.06.19
22:14
(2) Создает с номером 000000001
4 vde69
 
03.06.19
23:45
(3)
1. какая периодичность нумерации
2. попробуй разово выполнить ОбновитьНумерацию()
3. что-то ты не договариваешь, 000002746 - длина 9, а 000000001 - длина 8, так не бывает...
5 Zombi
 
03.06.19
23:51
(1) Пробел появился из разделителя триад. Убрать его теперь руками или обработкой.