|
модель схемы запроса | ☑ | ||
---|---|---|---|---|
0
first_may
16.12.21
✎
22:15
|
Добрый вечер.
В инете есть примеры по объектной модели схемы запроса. Например //Создание схемы запроса СхемаЗапроса = Новый СхемаЗапроса; ЗапросВыбораИзИБ = СхемаЗапроса.ПакетЗапросов[0]; //Установка свойств запроса ЗапросВыбораИзИБ.ТаблицаДляПомещения = "ТаблицаОбороты"; ЗапросВыбораИзИБ.ВыбиратьРазрешенные = Истина; //Добавляем операторы выбора первого запроса пакета ОператорВыбораЗакупок = ЗапросВыбораИзИБ.Операторы[0]; ИсточникНоменклатура = ОператорВыбораЗакупок.Источники.Добавить("Справочник.Номенклатура","Товары"); //Добавляем запрос выбора из регистра закупок ИсточникЗакупки = ОператорВыбораЗакупок.Источники.Добавить("РегистрНакопления.Закупки.Обороты","Закупки"); ИсточникЗакупки.Источник.Параметры[0].Выражение = Новый ВыражениеСхемыЗапроса("&Начало") ; ИсточникЗакупки.Источник.Параметры[1].Выражение = Новый ВыражениеСхемыЗапроса("&Окончание") ; ИсточникЗакупки.Источник.Параметры[2].Выражение = Новый ВыражениеСхемыЗапроса("Месяц") ; //Меняем тип соединения ИсточникЗакупки.Соединения[0].ТипСоединения = ТипСоединенияСхемыЗапроса.ПравоеВнешнее; Повторяю все как тут, но у меня после подобной строки ИсточникЗакупки = ОператорВыбораЗакупок.Источники.Добавить("РегистрНакопления.Закупки.Обороты","Закупки"); в подобной ИсточникЗакупки.Соединения[0].ТипСоединения = ТипСоединенияСхемыЗапроса.ПравоеВнешнее; выдается ошибка {<Неизвестный модуль>(1)}: Индекс находится за границами массива так как соединения нет. Если пишу ИсточникЗакупки.Соединения.Добавить(.. и смотрю запрос, то в нем получается соединение ПРАВОЕ и задвоение таблиц. Подскажите пожалуйста, как правильно добавить левое соединение? |
|||
1
first_may
16.12.21
✎
22:22
|
Если смотреть в отладчике СхемаЗапроса.ПолучитьТекстЗапроса(),
то после строки ИсточникЗакупки = ОператорВыбораЗакупок.Источники.Добавить("РегистрНакопления.Закупки.Обороты","Закупки"); в запросе появляется текст РегистрНакопления.Закупки.Обороты КАК Закупки без какого либо соединения. Что надо написать, что бы указать что это левое соединение? |
|||
2
acht
16.12.21
✎
22:53
|
Добавить, найти добавленное, указать ему тип
|
|||
3
first_may
16.12.21
✎
22:55
|
(2) имеется ввиду соединение?
|
|||
4
acht
16.12.21
✎
22:56
|
(3) Имеется в виду соединение в коллекции соединений
|
|||
5
first_may
16.12.21
✎
22:58
|
(4) пример можно?
|
|||
6
acht
16.12.21
✎
23:05
|
(5) Неа. Мне больше лень чем тебе.
|
|||
7
first_may
16.12.21
✎
23:09
|
(6) мне не лень, я не пойму где это..
вот строка ИсточникЗакупки = ОператорВыбораЗакупок.Источники.Добавить("РегистрНакопления.Закупки.Обороты","Закупки"); после нее надо искать? |
|||
8
first_may
16.12.21
✎
23:22
|
Именно в ИсточникЗакупки ?
|
|||
9
acht
16.12.21
✎
23:24
|
(7) Нет. Надо добавить свое соединение в коллекцию типа ИсточникЗакупки.Соединения.Добавить(...) потом найти добавленное через индекс или через ИсточникЗакупки.Соединения.НайтиПоПсевдониму и найденному установить ТипСоединения
|
|||
10
first_may
16.12.21
✎
23:38
|
(9) хорошо.. у меня так
Запрос = СхемаЗапроса.ПакетЗапросов[0]; Оператор = Запрос.Операторы[0]; ЗначенияДополнительныхСвойств = Оператор.Источники.Добавить("РегистрСведений.ЗначенияДополнительныхСвойств", "ЗначенияДополнительныхСвойств"); ЗначенияДополнительныхСвойств.Соединения[0].ТипСоединения = ТипСоединенияСхемыЗапроса.ЛевоеВнешнее; - и вот тут ошибка, так как нет соединения.. получается что надо дописать ЗначенияДополнительныхСвойств.Соединения.Добавить("ЗначенияДополнительныхСвойств", а тут с чем и как соединяюсь) |
|||
11
first_may
16.12.21
✎
23:44
|
если так пишу, то в тексте запроса получается
... РегистрСведений.ЗначенияДополнительныхСвойств КАК ЗначенияДополнительныхСвойств - это после первой строки ПРАВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияДополнительныхСвойств КАК ЗначенияДополнительныхСвойств ПО (РеестрДокументов.Ссылка = ЗначенияДополнительныхСвойств.Документ) - это после второй строки |
|||
12
exwill
17.12.21
✎
00:30
|
(0) Все соединения должны быть у первого источника. Не спрашивай - почему. Просто работай только с первым источником
ИСТОЧНИКНОМЕНКЛАТУРА.Соединения[0].ТипСоединения = |
|||
13
first_may
17.12.21
✎
00:35
|
(9) спасибо.. сообразил..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |