Есть номер М000032433:1 с типом Строка, нужно получить М000032433:2, М000032433:3 и тд. увеличивать нужно только после двоеточия
---
вот для старых платформ (переписана):

```1c
    Функция ИнкрементНомера(ВходящийНомер)
    Если Не ЗначениеЗаполнено(ВходящийНомер) Тогда
    Возврат 0;
    КонецЕсли;
    ПозицияРазделителя = Найти(ВходящийНомер, ":");
    ИнкрементируемоеЧисло = Формат(Число("0"+Прав(ВходящийНомер,СтрДлина(ВходящийНомер)-ПозицияРазделителя))+1,"ЧГ=0");
    Возврат ?(ПозицияРазделителя = 0, ИнкрементируемоеЧисло, Лев(ВходящийНомер,ПозицияРазделителя-1)+":"+ИнкрементируемоеЧисло);
    КонецФункции
```
---
СтрНайти(СтрокаКод, ":"). Нашел символ далее уже через Сред взял остаток. Либо делишь строку на массив через разделитель. либо регулярные выражения делаешь.
Ну если правая часть всегда равна 1, то вообще Прав используешь.
---
Правая часть всегда разная и может быть много цифр, например, 98732091734:92834 тогда надо 98732091734:92835.
А если, например, 98732091734 тогда 98732091734:1, 98732091734:2 итд, но это уже похоже совсем другой случай
---
например, 98732091734:92834 тогда надо 98732091734:92835.
А если, например, 98732091734 тогда 98732091734:1, 98732091734:2 итд А двоеточие всегда только одно?

Если да, то можно это сделать примерно так:

```1c
    НовыйНомер=Лев(СтарыйНомер,Найти(СтарыйНомер+":",":")-1)+":"+Формат(Число("0"+Сред(СтарыйНомер,Найти(СтарыйНомер+":",":")+1))+1,"ЧГ=0");
```

Громоздко? Да, но зато в одну строчку и без Попыток-Исключений, которые так любят 1Сники.
---
не то сказал. если двоеточия нет, то просто увеличивать на единицу
---
```1c
    Функция ИнкрементНомера(ВходящийНомер)
    Если Не ЗначениеЗаполнено(ВходящийНомер) Тогда
    Возврат 0;
    КонецЕсли;
    МассивЧисел = СтрРазделить(ВходящийНомер, ":");
    МассивЧисел[МассивЧисел.Количество()-1] = Формат(Число("0"+МассивЧисел[МассивЧисел.Количество()-1])+1,"ЧГ=0");
    Возврат СтрСоединить(МассивЧисел, ":");
    КонецФункции
```
---
{Справочник.ОбъектыОИС.Форма.ФормаЭлемента.Форма(963,16)}: Процедура или функция с указанным именем не определена (СтрРазделить)
 МассивЧисел = <<?>>СтрРазделить(ВходящийНомер, ":"); (Проверка: Толстый клиент (обычное приложение))
{Справочник.ОбъектыОИС.Форма.ФормаЭлемента.Форма(965,10)}: Процедура или функция с указанным именем не определена (СтрСоединить)
 Возврат <<?>>СтрСоединить(МассивЧисел, ":"); (Проверка: Толстый клиент (обычное приложение))
---
значит версия платформы старая и не поддерживает.
---
1С:Предприятие 8.3 (8.3.10.2580) старая?
---
см. режим совместимости. По нему считается.
---
8.3.5, для интерфейса 8.2
---
эх. В 8.3.6 все это появилось.
---
вот для старых платформ (переписана):

```1c
    Функция ИнкрементНомера(ВходящийНомер)
    Если Не ЗначениеЗаполнено(ВходящийНомер) Тогда
    Возврат 0;
    КонецЕсли;
    ПозицияРазделителя = Найти(ВходящийНомер, ":");
    ИнкрементируемоеЧисло = Формат(Число("0"+Прав(ВходящийНомер,СтрДлина(ВходящийНомер)-ПозицияРазделителя))+1,"ЧГ=0");
    Возврат ?(ПозицияРазделителя = 0, ИнкрементируемоеЧисло, Лев(ВходящийНомер,ПозицияРазделителя-1)+":"+ИнкрементируемоеЧисло);
    КонецФункции
```
---
{Справочник.ОбъектыОИС.Форма.ФормаЭлемента.Форма(966,55)}: Переменная не определена (НаправлениеПоиска)
    ПозицияРазделителя = СтрНайти(ВходящийНомер, ":", <<?>>НаправлениеПоиска.СКонца); (Проверка: Толстый клиент (обычное приложение))
{Справочник.ОбъектыОИС.Форма.ФормаЭлемента.Форма(966,26)}: Процедура или функция с указанным именем не определена (СтрНайти)
    ПозицияРазделителя = <<?>>СтрНайти(ВходящийНомер, ":", НаправлениеПоиска.СКонца); (Проверка: Толстый клиент (обычное приложение))
---
переписал. См. выше. СтрНайти тоже нет. Есть просто Найти.
---
{Справочник.ОбъектыОИС.Форма.ФормаЭлемента.Форма(966,50)}: Ожидается символ ')'
    ПозицияРазделителя = Найти(ВходящийНомер, ":"<<?>>, НаправлениеПоиска.СКонца); (Проверка: Толстый клиент (обычное приложение))
---
см. выше. Убрал же НаправлениеПоиска.
---
да. обновляется же только последний коммент)
---
не фурычит. некогда уже смотреть. в общем направление мысли понятно. спасибо
---
```1c
    мЧисла = СтрРазделить(ЧислоСтрокой, ":", Ложь);
    Если мЧисла.Количество() = 1 Тогда
    Попытка
    чЧисло = Число(мЧисла[0]);
    Исключение
    //Обработка ошибки
    КонецПопытки;
    Возврат Строка(чЧисло + 1); // но тут надо пробелы убирать если число будет более чем 3 знака
    Иначе
    Попытка
    чЧисло = Число(мЧисла[1]);
    Исключение
    КонецПопытки;
    Возврат мЧисла[0] + ":" + Строка(чЧисло + 1); // но тут надо пробелы убирать если число будет более чем 3 знака
    КонецЕсли;
```
---
1. Найти номер символа ":" через СтрНайти();
2. Взять всё, что находится справа от ":", используя СтрДлина(), Прав() и номер символа ":";
3. НовыйПостфикс = Строка(Число(ВсёЧтоСправа)+1);
4. Прилепить НовыйПостфикс справа от ":".
5. PROFIT!
---
```1c
    Функция УвеличитьНомер(Код)

    ОписаниеЧисло = ОбщегоНазначения.ОписаниеТипаЧисло(20);

    ПозицияРазделителя = СтрНайти(Код,":",НаправлениеПоиска.СКонца);

    Если ПозицияРазделителя Тогда
    Возврат СтрШаблон("%1%2",
    Лев(Код, ПозицияРазделителя),
    ОписаниеЧисло.ПривестиЗначение(Сред(Код,ПозицияРазделителя+1))+1);
    Иначе
    Возврат СтрШаблон("%1:%2",Код,1);
    КонецЕсли;

    КонецФункции
```