Добрый день!
Есть такой код:
В строке ТекстСообщения может встречаться знак %. Если такое случается, то валится с "Ошибка синтаксиса шаблона в позиции..."
Не придумал ничего лучше, чем заменить СтрШаблон на ПодставитьПараметрыВСтроку
Так работает нормально, но может есть способ как то экранировать, наверное, процент, чтобы не ругался?
Есть такой код:
ТемаПисьма = СтрШаблон(
"Новый комментарий к документу: %1"
+ Символы.ПС + "Автор: " + объект.Автор
+ Символы.ПС + "------------------------------------------"
+ Символы.ПС + ТекстСообщения
+ Символы.ПС + "------------------------------------------", Документ)В строке ТекстСообщения может встречаться знак %. Если такое случается, то валится с "Ошибка синтаксиса шаблона в позиции..."
Не придумал ничего лучше, чем заменить СтрШаблон на ПодставитьПараметрыВСтроку
ТемаПисьма = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"Новый комментарий к документу: %1"
+ Символы.ПС + "Автор: " + Объект.Автор
+ Символы.ПС + "------------------------------------------"
+ Символы.ПС + Объект.ТекстСообщения
+ Символы.ПС + "------------------------------------------", Документ);Так работает нормально, но может есть способ как то экранировать, наверное, процент, чтобы не ругался?
По теме из базы знаний
Найденные решения
(1) Все верно, лучше использовать ПодставитьПараметрыВСтроку() - он анализирует не только наличие самого знака процента, но и наличие числа после него А СтрШаблон() - это платформенный метод, он реагирует на сам символ %, и в частных случаях это беда, конечно.
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%1", Параметр1);Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Все верно, лучше использовать ПодставитьПараметрыВСтроку() - он анализирует не только наличие самого знака процента, но и наличие числа после него А СтрШаблон() - это платформенный метод, он реагирует на сам символ %, и в частных случаях это беда, конечно.
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%1", Параметр1);
Метод стрШаблон после "%" ожидает число. Если же требуется засунуть символ "%" в стрШаблон не как описание параметра, то знак нужно экранировать, т.е. "%%".
В справке про это написано:
В справке про это написано:
Если в строке встречается символ % два раза подряд (%%), такая пара трактуется как одинарный процент, независимо от того, стоит ли сразу за ними цифра или не стоит.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
