|   |   | 
| 
 | Замена текста в запросе | ☑ | ||
|---|---|---|---|---|
| 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 | 
        всем спасибо :)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |