Ошибка синтаксиса шаблона СтрШаблон

1. WhiteBro 27.10.20 10:24 Сейчас в теме
Добрый день!
Есть такой код:
ТемаПисьма = СтрШаблон(
		"Новый комментарий к документу: %1"
		+ Символы.ПС + "Автор: " + объект.Автор
		+ Символы.ПС + "------------------------------------------"
		+ Символы.ПС + ТекстСообщения
		+ Символы.ПС + "------------------------------------------", Документ)

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

Так работает нормально, но может есть способ как то экранировать, наверное, процент, чтобы не ругался?
По теме из базы знаний
Найденные решения
4. FatPanzer 27.10.20 10:36 Сейчас в теме
(1) Все верно, лучше использовать ПодставитьПараметрыВСтроку() - он анализирует не только наличие самого знака процента, но и наличие числа после него
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%1", Параметр1);
А СтрШаблон() - это платформенный метод, он реагирует на сам символ %, и в частных случаях это беда, конечно.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. FatPanzer 27.10.20 10:36 Сейчас в теме
(1) Все верно, лучше использовать ПодставитьПараметрыВСтроку() - он анализирует не только наличие самого знака процента, но и наличие числа после него
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%1", Параметр1);
А СтрШаблон() - это платформенный метод, он реагирует на сам символ %, и в частных случаях это беда, конечно.
7. WhiteBro 27.10.20 10:43 Сейчас в теме
(4)Спасибо большое. Буду знать на одну тонкость больше)
2. VladimirB 16 27.10.20 10:29 Сейчас в теме
+Симв(КодСимв("%"))+

вместо %
6. WhiteBro 27.10.20 10:43 Сейчас в теме
(2)я так тоже пробовал, FatPanzer верно сказал, что не сработает
3. VladimirB 16 27.10.20 10:36 Сейчас в теме
Поправка
+Символ(КодСимвола("%"))+
5. FatPanzer 27.10.20 10:37 Сейчас в теме
(3) Смысл? Знак % от применения такой конструкции из строки шаблона никуда не исчезнет.
Оставьте свое сообщение

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