Строку привести к нужному шаблону

1. nagaitseff 175 15.02.19 11:42 Сейчас в теме
День добрый!

Подскажите пожалуйста, необходимо строку из Nго количества чисел (так представлен код) привести к нужному шаблону.

Есть Строка(Код) = "0301010004"

Надо = "03-01-01-0004"

Как это можно сделать в цикле чтобы получилось универсально? Из Любой длины к такому виду, последние 4 отдельно, остальные по 2 разряда.

Спасибо.
По теме из базы знаний
Найденные решения
3. zarankony 306 15.02.19 12:05 Сейчас в теме
Результат= Формат(Число(строка),"ЧЦ=10; ЧРГ=-; ЧВН=; ЧГ=4,2,2,2");
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. spacecraft 15.02.19 12:29 Сейчас в теме
(1) если Код числовой:
Надо = Формат(Код,"ЧРГ=-; ЧГ=4,2,0");

если Код текстовый:
Надо = Формат(Число(Код),"ЧРГ=-; ЧГ=4,2,0")
nagaitseff; +1 Ответить
2. SedovSU@mail.ru 298 15.02.19 11:57 Сейчас в теме
А если не четное количество, например семь символов длина, как быть? 0000000 как быть 00-00-0000, как еше один 0 представить?
6. login1020 134 15.02.19 14:12 Сейчас в теме
(2) Тут либо всегда четное количество, либо из 00000000 делать 00-00-0-0000
(1) Что делать с нечетным количеством?
7. nagaitseff 175 18.02.19 03:38 Сейчас в теме
3. zarankony 306 15.02.19 12:05 Сейчас в теме
Результат= Формат(Число(строка),"ЧЦ=10; ЧРГ=-; ЧВН=; ЧГ=4,2,2,2");
4. soft_wind 15.02.19 12:17 Сейчас в теме
напишите функцию преобразования
вот самый простой вариант (без всяких проверок и наворотов ввиде заданного шаблона)

Функция ОбработатьВид(лкСтрока)
    Возврат Лев(лкСтрока,2) + "-" + Сред(лкСтрока,3,2) + "-" + Сред(лкСтрока,5,2) + "-" + Сред(лкСтрока,7); 
КонецФункции;

просто в цикле вызываете ее

Для каждого лкЗапись из ВашаТЗ Цикл
   лкЗапись.Код = ОбработатьВид(лкЗапись.Код);
КонецЦикла;
nagaitseff; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот