Имя: Пароль:
1C
1С v8
Замена текста в запросе
, ,
0 saksaul
 
21.01.15
13:12
Есть запрос, например такой:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    МЗ_БезвозмезднаяПередача.Номер КАК пНомер,
    МЗ_БезвозмезднаяПередача.Дата КАК пДата,
    ВЫБОР
        КОГДА МЗ_БезвозмезднаяПередача.Контрагент.НаименованиеПолное = ""
            ТОГДА МЗ_БезвозмезднаяПередача.Контрагент.Наименование
        ИНАЧЕ МЗ_БезвозмезднаяПередача.Контрагент.НаименованиеПолное
    КОНЕЦ КАК пКонтрагент,
ИЗ
    Документ.МЗ_БезвозмезднаяПередача КАК МЗ_БезвозмезднаяПередача

Задача такая: надо заменить программно название реквизитов "Наименование" и "НаименованиеПолное" в тексте запроса.

Если делать так:
    ПозицияНаименования = Найти(ЧастьТекстЗапроса, "Наименование");
и далее заменять текст, то получается что замена идет и реквизита "Наименование" и  "НаименованиеПолное"
Может быть как-то можно использовать например регулярные выражения?
1 Fragster
 
гуру
21.01.15
13:13
для данной задачи не нужны регулярные выражения.

а вот в том, что задача именно такая - чето я сомневаюсь
2 anatoly
 
21.01.15
13:14
во первых СтрЗаменить(Запрос.Текст, , )
во вторых - сначала замени НаименованиеПолное потом Наименование.
3 saksaul
 
21.01.15
13:18
(1) Она именно такая. Процедура "дополняет" типовой запрос нужными строчками и выборки наименований Контрагентов из регистра сведений, а не из справочника.
4 saksaul
 
21.01.15
13:20
(2) Изменение в порядке замены не поможет, т.к. новый текст будет содержать те же имена реквизитов но новые таблицы...
5 PRO100 NigGaZ
 
21.01.15
13:22
СхемаЗапроса = Новый СхемаЗапроса;
СхемаЗапроса = УстановитьТекстЗапроса(ТекстЗапроса)
А дальше ковырять в объектной модели
6 Ёпрст
 
21.01.15
13:24
меняешь ПолноеНаименование на вася, Наименование на федя, далее васю и федю меняешь на что угодно . Всё через СтрЗаменить

Усё, кушаешь печенки
7 666 Devil
 
21.01.15
13:25
(0) >>Задача такая: надо заменить программно название реквизитов
и (4)  >>новый текст будет содержать те же имена реквизитов но новые таблицы...

както не срастается
8 saksaul
 
21.01.15
13:30
(5) Увы, у меня 8.2
9 saksaul
 
21.01.15
13:35
(6) Вот именно так я и пытаюсь делать. Попытаюсь очередность правда сменить...
10 Ёпрст
 
21.01.15
13:35
(9) И ?
чего там может не получаться ?
11 Господин ПЖ
 
21.01.15
13:40
в типовых не парятся...

ставят в тексте запроса какую-нибудь хрень типа "|  ИЗ %%регистр%% "

в потом принудительно меняют в зависимости от условия на регистрбухгалтерии или регистрнакопления
12 saksaul
 
21.01.15
13:41
(10) ну допилю и отпишусь :)
13 Господин ПЖ
 
21.01.15
13:42
конструктором его уже не соберешь, но там легких путей не ищут

за то что конструктор затирает каменты - отдельное спасибо
14 13_Mult
 
21.01.15
13:48
тут посмотри http://infostart.ru/public/80366/
15 saksaul
 
21.01.15
14:06
(6) все получилось, запарился маленько...
16 saksaul
 
21.01.15
14:06
всем спасибо :)