Добрый день. Вся номенклатура в базе имеет название типа "Труба 1м Ø 120". При печати этикетки нужно печатать "120" крупным шрифтом что-бы издалека на складе видели какой это диаметр. Можно создать дополнительный реквизит и печатать его крупным шрифтом на макете этикетки. Подскажите как можно массово из наименования номенклатуры выдернуть именно "120" и скопировать в доп реквизит? Может быть есть что то типа скопировать три знака после значка Ø?
Вообще, конечно надо справочник просмотреть, чтобы уловить общую картину, и уже по ней построить алгоритм парсинга.
Использовать, конечно, примитивные функции работы со строками.
В вашем случае хорошо помогут регулярные выражения.
Здесь можно создать шаблон который загоняется в Pattern - https://regex101.com/ Вот кусок кода для помощи
RegExp = Новый COMОбъект("VBScript.RegExp"); // создаем объект для работы с регулярными выражениями
//Заполняем данные
RegExp.MultiLine = Ложь; // истина — текст многострочный, ложь — одна строка
RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.IgnoreCase = истина; // истина — игнорировать регистр строки при поиске
//RegExp.Pattern = "\d+х\d+х\d+"; //1200x485x444
//RegExp.Pattern = "\d+x\d+"; //1200x485
МассивРазмеров = Новый Массив;
ТаблицаДопРеквизитов = Новый ТаблицаЗначений;
ТаблицаДопРеквизитов.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения"));
ТаблицаДопРеквизитов.Колонки.Добавить("Значение");
Пока Выборка.Следующий() Цикл
RegExp.Pattern = "\d+.\d+[х,x,\/]\d+.\d+[х,x,\/]\d+.\d+";
Matches = RegExp.Execute(Выборка.Наименование);
Если ЗначениеЗаполнено(Matches) Тогда
Match = Matches.Item(0);