Имя: Пароль:
1C
1С v8
СтрЗаменить для нескольких строк в Запрос.Текст
0 Kassidy_nd
 
04.12.17
17:38
Всем привет, пытаюсь по условию заменить несколько строк в тексте запроса:
Запрос= новый Запрос;
Запрос.Текст = "Выбрать аа.бб, аа.бв
поместить в ВТ_сс
из аа как аа
;
/////////////////
Выбрать разрешенные
ДАТАВРЕМЯ(2010,01,01) как период,
Датавремя(2010,12,31) как конпериода
Поместить ВТ_пер
Объединить все

и т.д. и т.д.

Выбрать
ДАТАВРЕМЯ(2017,01,01) как период,
Датавремя(2017,12,31) как конпериода
;
...Дальше еще текст  запроса"

Мне нужно в после "Датавремя(2017,12,31) как конпериода" добавить
"Объединить все //тут ENTER
Выбрать
ДАТАВРЕМЯ(2018,01,01) как период,
Датавремя(2018,12,31) как конпериода
;"
Как это реализовать через СтрЗаменить? В СП по СтрЗаменить был.
Пробовал так :
//////
Если Этот.Объект.Условие = Истина тогда  СтрЗаменить(ТекстЗапроса,"Датавремя(2017,12,31) как конпериода", "Датавремя(2017,12,31) как конпериода Объединить все Выбрать ДАТАВРЕМЯ(2018,01,01) как период, Датавремя(2018,12,31) как конпериода")
Конецесли;
///
Получаю в любых вариантах просто текст запроса, без изменении

Интересен любой другой вариант изменения текста запроса.
1 Вафель
 
04.12.17
17:39
может проще из ТЗ временную делать?
2 hhhh
 
04.12.17
17:41
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,

ты забыл, что СтрЗаменить - это функция
3 Kassidy_nd
 
04.12.17
17:44
(2) Нет, я пишу это уже в модуле объекта (это уменя отчет) там уже есть простое использование СтрЗаменить для обработки условии типа &склад заполнен и если да то //условие// заменить на где ггг.склад = &склад.
4 Numerus Mikhail
 
04.12.17
17:45
Текст = СтрЗаменить(Текст, "ИскомыйТекст", ТекстЗамены);

Если предположить, что твои условия все верные, то тебе нужно просто присваивать  этот текст
5 Kassidy_nd
 
04.12.17
17:54
(4) Сейчас попробую через
ТекстЗамены = "то что мне нужно"; дальше
Текст = СтрЗаменить(Текст, "ИскомыйТекст", ТекстЗамены);
Но как задать знаки "абзаца" или это не важно?
6 SSSSS_AAAAA
 
04.12.17
17:56
(5) Запросам знаки абзацев, пробелов и прочих пробельных символов, если они не внутри строки, по барабану. Весь запрос может быть одной длинной строкой. Намек понятен?
7 hhhh
 
04.12.17
17:58
(5) Если Этот.Объект.Условие = Истина Тогда
        ТекстЗапроса =   СтрЗаменить(ТекстЗапроса,     "Датавремя(2017,12,31) как конпериода", "Датавремя(2017,12,31) как конпериода
|    Объединить все
|    Выбрать
|      ДАТАВРЕМЯ(2018,01,01) как период,
|      Датавремя(2018,12,31) как конпериода ");

КонецеЕсли;
8 Kassidy_nd
 
04.12.17
18:02
(5) (6) (7) Пошел пробовать, спасибо всем!!
9 Chameleon1980
 
04.12.17
18:19
говорят жеж тебе на берегу, что СтрЗаменить - это функция

СтрокаКонечная=СтрЗаменить(СтрокаИсходная,"строкаПоиска","СтрокаЗамены")

т.е.

ТекстЗапроса=СтрЗаменить(ТекстЗапроса,"строкаПоиска","СтрокаЗамены")