|
Заменить источник схемы запроса | ☑ | ||
---|---|---|---|---|
0
Dmitriy_
Kolesnikov 11.10.18
✎
07:20
|
Не могу подобрать способ это сделать. Просто поменять таблицу и всё.
Вот что пробовал: ОператорВыбора.Источники.Удалить(0); Потом создать заново - тогда пропадают все отборы. Плохой вариант. ОператорВыбора.Источники[0].Источник.Псевдоним = "Временный"; НовыйИсточник = ОператорВыбора.Источники.Добавить("Документ." + эл, "ДокументРегистратор"); - тогда во всех отборах меняется "Документ.МойДокумент" на "Временный". ОператорВыбора.Источники.Заменить(0, НовыйИсточник); - не работает Кто делал? Подскажите. Просто подменить "Документ.Документ1" на "Документ.Документ2" и ничего больше. |
|||
1
Dmitriy_
Kolesnikov 11.10.18
✎
07:56
|
Пробую вот так:
НовыйИсточник = ОператорВыбора.Источники.Добавить("Документ." + эл, "ДокументРегистратор2"); ОператорВыбора.Источники.Заменить(0, НовыйИсточник.Источник); ОператорВыбора.Источники[0].Источник.Псевдоним = "ДокументРегистратор"; ОператорВыбора.Источники.Удалить(1); Всё равно ошибка во второй строке, ругается на второй параметр ф-и Заменить, мол, не тот тип данных. Я проверил - тот. |
|||
2
Dmitriy_
Kolesnikov 11.10.18
✎
10:30
|
Похоже, никому не нужна СхемаЗапроса :(
ОК, буду делать текстом и не выёживаться. |
|||
3
Fragster
гуру
11.10.18
✎
10:31
|
(2) она действительно недоделанная
|
|||
4
Fragster
гуру
11.10.18
✎
10:32
|
я делаю так - все, что можно - делаю построителем запроса. если какие-то вещи не получается - то вставляю куски типа &_название, которые потом заменяю (или не заменяю, а указываю в качестве параметра Истина) через стрзаменить. Тогда продолжает работать конструктор запроса
|
|||
5
Dmitriy_
Kolesnikov 11.10.18
✎
15:07
|
(4)
У меня там "Объединить все" из 35 кусков. Я новые операторы создаю на основе старого. А в старом уже есть источник. Можно создать вторую (третью...) схему запроса на основе слегка измененного текста (с новым источником) и уже её присобачивать к первой 35 раз. Тоже идея. Хотя и не такая красивая. Хотелось реализовать так, чтобы потомки плакали от радости и кричали "это шедевр!" |
|||
6
singlych
11.10.18
✎
15:12
|
ОператорВыбора.Источники[0].Источник.ИмяТаблицы = "Документ.Документ2"
|
|||
7
Dmitriy_
Kolesnikov 11.10.18
✎
20:49
|
(6)
ТаблицаСхемыЗапроса (QuerySchemaTable) ИмяТаблицы (TableName) Использование: Только чтение. |
|||
8
VinakovS
11.11.18
✎
14:28
|
Добрый день.
В вашем случае необходимо просто заменить источник и заново присвоить псевдоним: [code] СхемаЗапроса = Новый СхемаЗапроса; СхемаЗапроса.УстановитьТекстЗапроса(<текст_запроса>); ПакетЗапроса = СхемаЗапроса.ПакетЗапросов[0]; ОператорЗапроса = ПакетЗапроса.Операторы[0]; ИсточникЗапроса = ОператорЗапроса.Источники[0]; ТаблицаСхемыЗапроса = ПакетЗапроса.ДоступныеТаблицы.Найти(<искомое_имя>); ОператорЗапроса.Источники.Заменить(0, ТаблицаСхемыЗапроса); ИсточникЗапроса.Источник.Псевдоним = "<псевдоним>"; Результат = СхемаЗапроса.ПолучитьТекстЗапроса(); [/code] Если не получится - напишите, пришлю свой полный код с комментариями |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |