Имя: Пароль:
1C
1С v8
Не устанавливается параметр запроса
0 бегинер
 
23.12.15
14:38
открываю для себя запросы:

Запрос.Текст = "ВЫБРАТЬ Терминалы.Ссылка ИЗ Справочник.ТерминалыКонтрагентов КАК Терминалы ГДЕ Терминалы.Контрагент.Ссылка = &z";
Запрос.УстановитьПараметр("z",элементыформы.ХранениеКонтрагент.Значение.Ссылка);
сообщить(Запрос.Текст);

не устанавливается параметр "z":
ВЫБРАТЬ Терминалы.Ссылка ИЗ Справочник.ТерминалыКонтрагентов КАК Терминалы ГДЕ Терминалы.Контрагент.Ссылка = &z

просвятите почему?
1 Zmich
 
23.12.15
14:40
(0). ГДЕ Терминалы.Контрагент = &z
2 PuhUfa
 
23.12.15
14:40
(0) с чего ты взял что не устанавливается?
3 totparen
 
23.12.15
14:43
сообщить(Запрос.Текст);

Это здесь вы проверяете установилось или нет? ))
4 бегинер
 
23.12.15
14:43
(2) или после установления параметра текст запроса так и остается с &z
почему-то предполагал что после уст. параметра текс запроса уже будет содержать представление ссылки
5 ДенисЧ
 
23.12.15
14:43
(4) это кто тебе такую чушь сказал?
6 totparen
 
23.12.15
14:44
(4) Как всё запущено...
7 бегинер
 
23.12.15
14:44
(3) ага :)
я ж грю тока учусь
8 totparen
 
23.12.15
14:45
Представление ссылки ты можешь увидеть в технологическом журнале. )
9 Defender aka LINN
 
23.12.15
14:47
элементыформы.ХранениеКонтрагент.Значение.Ссылка - Это 5
10 totparen
 
23.12.15
14:49
Есть вероятность, что параметр установился.

Если не управляемые формы:

Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
11 salvator
 
23.12.15
14:50
(0)

"элементыформы.ХранениеКонтрагент.Значение.Ссылка"

А почему не

элементыформы.ХранениеКонтрагент.Значение.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка

??
12 бегинер
 
23.12.15
14:50
есть справочник "терминалыконтрагентов" с реквизитом "контрагент"

желаемый контрагент = элементыформы.ХранениеКонтрагент.Значение.Ссылка

в результате запроса почему-то в отладке "Ссылка" равно Null
13 бегинер
 
23.12.15
14:51
(11)
"элементыформы.ХранениеКонтрагент.Значение.Ссылка"
ссылка на определенный элемент справочника
14 salvator
 
23.12.15
14:51
(12)

Запрос.Текст = "ВЫБРАТЬ Терминалы.Ссылка ИЗ Справочник.ТерминалыКонтрагентов КАК Терминалы ГДЕ Терминалы.Контрагент= &Контрагент";
Запрос.УстановитьПараметр("Контрагент", ХранениеКонтрагент);
15 бегинер
 
23.12.15
14:58
(14)
Запрос.Текст = "ВЫБРАТЬ Терминалы.Ссылка ИЗ Справочник.ТерминалыКонтрагентов КАК Терминалы ГДЕ Терминалы.Контрагент = &z";
Запрос.УстановитьПараметр("z",ХранениеКонтрагент);

"Ссылка" все равно равно Null
16 salvator
 
23.12.15
15:00
(15) Как определил?
17 Chikko
 
23.12.15
15:00
(15) как смотришь-то? если ссылка null то результат выполнения запроса пустой будет.
18 бегинер
 
23.12.15
15:05
ХранениеКонтрагент значение есть в отладчике, тип "СправочникСсылка.Контрагенты"
а результат запроса:
Результат=Запрос.Выполнить();
через отладчик:
Колонки Ссылка Имя "Ссылка" тип значения "Терминалы контрагентов, Null"
19 бегинер
 
23.12.15
15:06

Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ Терминалы.Ссылка ИЗ Справочник.ТерминалыКонтрагентов КАК Терминалы ГДЕ Терминалы.Контрагент = &z";
    Запрос.УстановитьПараметр("z",ХранениеКонтрагент);
    сообщить(Запрос.Текст);
    Результат=Запрос.Выполнить();
    ОтфильтрованныйСписок=Новый СписокЗначений;

точка останова стоит на после строке
20 ДенисЧ
 
23.12.15
15:08
А Выбрать() из РезультатаЗапроса - будет делать лично Лев Николаевич?
21 бегинер
 
23.12.15
15:08
хочу в форе выбора из списка терминалов, сразу фильтрованный список, вот и хочу получить массив терминалов текущего контрагента, все это делаю в процедуре "НачалоВыбора"
22 salvator
 
23.12.15
15:08
(18) А так?

Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
  Сообщить(Выборка.Ссылка);
КонецЦикла;
23 бегинер
 
23.12.15
15:11
(22) так есть :)
24 бегинер
 
23.12.15
15:14
Выборка = Результат.Выбрать();
если это смотрю в отладчике:
Ссылка "Ошибка чтения значения"

странно что в отладчике не видно, или рез запросов в 1с в отладчике не посмотришь?
тока самому циклом крутить?
25 salvator
 
23.12.15
15:15
(24) В отладчике можешь написать вместо .Выбрать() - .Выгрузить()
26 бегинер
 
23.12.15
15:16
всем спасибо за помощь, думал изстебете в пух и прах :)
27 бегинер
 
23.12.15
15:20
(25) прост выгрузить() в отладчике дает ТЗ в которой null
Результат=Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
а так вот дает массив, потом показать значение в отдельном окне - там все норм видно уже
28 mikecool
 
23.12.15
15:23
(20) у нас только Лев Михалыч есть )
29 бегинер
 
23.12.15
15:26
а так прикольно в 1с после VB где все ручками - почти все сама платформа 1С делает :)
30 ДенисЧ
 
23.12.15
15:27
(28) Плохо вам там...