Параметры в строке

1. frkbvfnjh 787 17.09.18 10:18 Сейчас в теме
Доброго времени суток, можно ли как то с помощью объекта ТекстовыДокумент поставить значение параметров в строку? К примеру есть строка "Ваша сумма [Сумма]" и нужно что бы вместо подстроки [Сумма] подставилось число, причем не важно в каком регистре напишут параметр [Сумма], хоть [СуМмА]. Попробовал так:
Результат = Новый ТекстовыйДокумент();
Результат.УстановитьТекст("Ваша сумма [Сумма]");
Результат.Параметры.Сумма = 100;

Но при вызове метода ПолучитьТекст() возвращает тот же текст "Ваша сумма [Сумма]". А можно как то получить готовый тест с учетом установленных параметров?
+
По теме из базы знаний
Найденные решения
13. frkbvfnjh 787 19.09.18 13:36 Сейчас в теме
Короче это не возможно. Всем спасибо!
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Doreng 27 17.09.18 10:25 Сейчас в теме
(1)Не очень понятно, что Вы делаете...почему не так -
МойТекст = "МойТекст";
МойПараметр = 100;
МойТекст = МойТекст + МойПараметр;

+
3. Boneman 298 17.09.18 10:30 Сейчас в теме
(1) Ну если там гдето шаблон хранится,
то параметры надо подставлять уже после получения текста,
обычным
ТекстШаблона = СтрЗаменить(ТекстШаблона,"[Сумма]", 100);

Чтобы без учета регистра, надо сразу имя параметра делать в одном регистре, "Ваша сумма [СУММА]"

а дальше конструкция такая,
ТекстШаблона = СтрЗаменить(ТекстШаблона,Врег("[Сумма]"), 100);
и имя параметра все равно будет приведено к верхнему регистру, и корректно найдется
+
8. frkbvfnjh 787 17.09.18 11:06 Сейчас в теме
(3) Полностью с Вами согласен, сейчас так и делаю, но проблема в том, что шаблон заполняет заказчик, а он как известно всегда "тупой" и хотелось бы отвязаться от регистра букв параметров, что бы минимизировать проблемы. Просто думал, что можно получить как то финальный результат текстового документа после заполнения параметров, да и заполнение параметров как то удобней и лаконичней чем СтрЗаменить.
+
4. Boneman 298 17.09.18 10:37 Сейчас в теме
(1) а если прямо параметрами, то там вроде нужно именно макет делать, области прописывать..тогда как в табдоке можно параметры ставить.
Но я так никогда не делал ))) поэтому точнее не скажу
+
6. Alexey_ 26 17.09.18 10:47 Сейчас в теме
(1)
Результат = Новый ТекстовыйДокумент;
ТекстДок = Новый ТекстовыйДокумент;
ТекстДок.УстановитьТекст("
|#Область Область1
|Ваша сумма [Сумма]
|#КонецОбласти");
Область1 = ТекстДок.ПолучитьОбласть("Область1");
Область1.Параметры.Сумма = 100;
Результат.Вывести(Область1);
Сообщить(Результат.ПолучитьТекст());
Показать
frkbvfnjh; Boneman; +2
9. frkbvfnjh 787 17.09.18 11:08 Сейчас в теме
(6) Да, наверное так будет работать, ща попробую. Просто я пробовал выводить не область, а целиком один текстовый документ в другом после заполнения параметров, но ничего не получилось, видимо придется самому область описывать. Сейчас попробую.
+
10. frkbvfnjh 787 17.09.18 11:33 Сейчас в теме
(6) Да, так работает но все равно херня получается - лишние переводы строк вставляет, а с параметром оказывается вообще беда - если передаваемая строка короче чем название параметра, она дополняется пробелами, а если длиннее, то обрезается. Короче не годится данная задумка. Всем спасибо!
+
5. singlych 17.09.18 10:45 Сейчас в теме
параметры в угловых скобках "Ваша сумма <Сумма>"
+
7. herfis 498 17.09.18 10:52 Сейчас в теме
Почитал статью на ИТС по работе с шаблонами текстовых документов - прикольно.
Неслабо наворочено. Наверное, было очень актуально при печати документов на матричные принтеры в текстовом режиме.
Никогда не пользовался :)
frkbvfnjh; Boneman; +2
11. frkbvfnjh 787 17.09.18 11:34 Сейчас в теме
(7) Можно ссылку, где читали?
+
12. herfis 498 17.09.18 11:55 Сейчас в теме
(11) Нашлась поиском по веб-ИТС статья "Пример использования текстового макета" в основах конфигурирования для начинающих в разделе по 8.1 :)
(10) Да, смутно припоминаю что по той же самой причине (фиксированные размеры значений параметров) когда-то отказался от их использования. Да и в типовых где встречал параметры вручную заменялись по той же причине.
frkbvfnjh; +1
13. frkbvfnjh 787 19.09.18 13:36 Сейчас в теме
Короче это не возможно. Всем спасибо!
+
Внимание! Тема сдана в архив

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