Имя: Пароль:
1C
1С v8
Передача параметра в оператор "ССЫЛКА" запроса
0 Razor
 
24.10.11
16:40
Собственно можно ли использовать такой текст в запросе:

|И СостояниеРаботников.Регистратор ССЫЛКА &ТипРегистратора)

Параметр в данном случае задан как строка такого содержания:
"Документ.КомандировкиОрганизаций"

Программа выдает ошибку:
: Ожидается имя таблицы
И СостояниеРаботников.Регистратор ССЫЛКА <<?>>&ТипРегистратора)
1 Beduin
 
24.10.11
16:41
(0) Там имя таблицы на языке запросов. Текстом вставляй.
2 Amiralnar
 
24.10.11
16:42
ТИПЗНАЧЕНИЯ есть?
3 Maxus43
 
24.10.11
16:45
если тип неизвестен сначала, то СтрЗаменить(&ТипРегистратора, ТвойДокПравильноНаписаный);
4 Amiralnar
 
24.10.11
17:03
5 Razor
 
24.10.11
18:13
(3),так я бы и написал сразу название дока, в параметре разные типы могут передаваться?
6 Razor
 
25.10.11
10:34
(4), спасибо, прочитал тему, но все равно не работает

Текст ошибки:

{Обработка.АнализНеявок.МодульОбъекта(321)}: Ошибка при вызове метода контекста (Выполнить)
   Запрос.Выполнить();
по причине:

по причине:
{(83, 54)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ТИПЗНАЧЕНИЯ(СостояниеРаботников.Регистратор) <<?>>В (&ТипРегистратора))


Код:
ТипРегистратора =  Новый ОписаниеТипов("ДокументСсылка." + Типы);   (<--- здесь все нормально отрабатывает, проверял, получается нужное описание типов)
...
Запрос.УстановитьПараметр("ТипРегистратора", ТипРегистратора.Типы());
7 acsent
 
25.10.11
10:39
тип только на равенство можно сравнивать
8 НЕА123
 
25.10.11
11:01
(6)
все нормально должно быть. сделай по-простому, через массив или СЗ.
9 Amiralnar
 
25.10.11
14:03
ТипРегистратора =  Новый ОписаниеТипов("ДокументСсылка." + Типы);  
Запрос.УстановитьПараметр("ТипРегистратора", ТипРегистратора.Типы());

Никогда прежде Тип("ДокументСсылка.РасходнаяНакладная") не был таким загадочным...