Имя: Пароль:
1C
1C 7.7
v7: Как задать алиас для ДокументСтроки, вид которого определяется в самом запросе?
0 Zhuravlik
 
09.10.12
10:15
... и потом выбрать все значения атрибутов для текущей строки.
Вот есть такой код:

   Элем = "";
   
   спрАвтомобили = СоздатьОбъект("Справочник.Автомобили");
   спрАвтомобили.ВыбратьЭлементы();
   Пока спрАвтомобили.ПолучитьЭлемент() = 1 Цикл
       Элем = спрАвтомобили.ТекущийЭлемент();
       Прервать;
   КонецЦикла;
   
   база = СоздатьОбъект("SQLiteBase");
   база.Открыть(":memory:");
   Запрос = база.НовыйЗапрос();
   запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");    
   Мета = СоздатьОбъект("MetaDataWork");
   стр = Мета.ЗначениеВСтрокуБД(Элем);
   Запрос.Подставлять("ВыбАвто", стр);    

   ТекстЗапроса = "
   |Select
   |   Период.DOCID as [Doc $Документ],
   |   Период.LINENO as LINENO,
   |    jour.iddocDef as Doc_kind
   |From [_1S.Const] as Период
   |Left join Journal as jour on Jour.IDDoc = Период.DOCID
   |Left join [ДокументСтроки.] as Строки on Строки.LINENO = Период.LINENO
   |Where Период.id = :ИсторияРеквизита.Автомобили.Загружен and Период.objid = :ВыбАвто
   |";
   
   ТЗ = Запрос.ВыполнитьЗапрос(ТекстЗапроса);
   
   глНаЭкран(ТЗ);

Left join [ДокументСтроки.] as Строки on Строки.LINENO = Период.LINENO - Я понимаю, что нужно присоеденить эту таблицу, но как мне сказать что нужно ДокументСтроки. + "jour.iddocDef" (в селекте алиас - Doc_kind)? Как мне указать программе, что нужно выбрать строки документа, вид которого я определил в самом запросе?
1 mikecool
 
09.10.12
10:17
только динамически составить запрос или лефт джойнить все возможные виды
2 Zhuravlik
 
09.10.12
10:18
"лефт джойнить все возможные виды" - а все возможные виды можно прямо в запросе узнать, или надо заранее подготовить таблицу средствами 1С?
3 Zhuravlik
 
09.10.12
10:19
+ а, туплю jour.iddocDef, сейчас буду пробовать, спасибо
4 Zhuravlik
 
09.10.12
10:34
(1) А если я полчил все возможные виды, как дальше? Если просто пишу [ДокументСтроки] получаю "no such table".
5 Zhuravlik
 
09.10.12
10:39
(1) + Или вы имеете в виду ЯВНО укзывать все возможные виды? Типа

ДокументСтроки.Вид1 as Вид1
ДокументСтроки.Вид2 as Вид2
ДокументСтроки.Вид3 as Вид3
ДокументСтроки.Вид4 as Вид4
....

Не хотелось бы так... Неужели по-другому нельзя?
6 Zhuravlik
 
09.10.12
11:01
ап...
7 mikecool
 
09.10.12
11:02
(5) либо так, либо динамически собрать текст запроса
8 Zhuravlik
 
09.10.12
11:06
(7) :(
Спасибо за подсказку, буду динамически формировать... Я думал скуль покруче...
9 Mikeware
 
09.10.12
11:07
так хочется забанить....
10 Mikeware
 
09.10.12
11:07
пля, 1986...
все, вопрос снят...
11 Zhuravlik
 
09.10.12
11:07
(9) А что я нарушил??
12 Ёпрст
 
09.10.12
11:12
(10) :)
13 Mikeware
 
09.10.12
11:13
(11) во избежание нарушения правил мной...
Ошибка? Это не ошибка, это системная функция.