Имя: Пароль:
1C
1С v8
Подскажите с запросом.
,
0 sapravka
 
06.04.14
20:24
Если что то не так - прошу сильно не ругать!
Делаю запрос, сначала конечно его делал в консоли запросов - там данные отбираются! Вот сам запрос:

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

    ЗапросДоговорной = Запрос.Выполнить().Выбрать();    


А потом делаю в конфигураторе, сохранил и там ошибка чтения данных:
http://волгалаб.рф/1c/118.jpg
Подскажите, в чем может быть проблема?
1 GANR
 
06.04.14
20:27
(0) ВыборкаДоговорной.Следующий() надо-бы попробовать
2 lex1972
 
06.04.14
20:30
Посмотрите что содержится в параметре "ТекущийДокумент" для этого в отладчике выведите в табло "ЭтотОбъект.Ссылка" и посмотрите результат.
3 sapravka
 
06.04.14
20:33
4 GANR
 
06.04.14
20:35
(3) Такой запрос с таким параметром в принципе ничего вернуть не может.
5 sapravka
 
06.04.14
20:36
(4) а в чем ошибка, подскажите!
6 wendy
 
06.04.14
20:40
Если это внешняя печатная форма, то надо не ЭтотОбъект.Ссылка, а СсылкаНаОбъект
7 sapravka
 
06.04.14
20:41
(6) не не внешняя
8 GANR
 
06.04.14
20:41
(5) типы данных разные
9 ДенисЧ
 
06.04.14
20:42
Выбираешь из контрагентов, а ссылку даёшь на договор.
10 sapravka
 
06.04.14
20:44
(8) а поподробнее, пожалуйста: где и что именно!!!
11 sapravka
 
06.04.14
20:45
(9) А где именно:

Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);

текст запроса

Контрагенты.Ссылка = &ТекущийДокумент";

И где из  контрагентов на договор?
12 GANR
 
06.04.14
20:52
(10) Вот картинка http://ximage.ru/data/imgs/1396802964.jpg и вот картинка http://ximage.ru/data/imgs/1396803110.jpg
13 sapravka
 
06.04.14
21:36
(12) Ну вот поправил:

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

    ЗапросДоговорной = Запрос.Выполнить().Выбрать();

Но все равно выходит ошибка чтения данных:    

http://волгалаб.рф/1c/120.jpg
и
http://волгалаб.рф/1c/120.jpg
14 sapravka
 
06.04.14
21:37
15 GANR
 
06.04.14
22:10
(14) Почти, далее смотрим (2) - нужно обойти выборку из результата запроса. Короче, пробуем

Запрос = Новый Запрос;
Запрос.Текст = <см. (14)>;

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
   Сообщить(Выборка.ФамилияДиректора);
КонецЦикла;
16 GANR
 
06.04.14
22:12
Ну уж конструкция (15) - более рваного баяна просто в жизни не видел.
17 lex1972
 
07.04.14
08:06
Поставь точку останова после оператора "Выборка.Следующий()", я смоделировал ситуацию, посмотри на скрине.
http://yadi.sk/d/v9-i4So0LvcCr