Запрос

  • Автор темы Автор темы VlasovSergey
  • Дата начала Дата начала
Вопрос - а зачем надо соединение с таблицей контрагенты(причем со всей) если в документе контрагент уже определен? передавайте уж просто ссылку на него в качестве условия

Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
|ВЫРАЗИТЬ (КонтактнаяИнформация.Представление КАК Строка(100)) КАК ЮридическийАдрес
|ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ КонтактнаяИнформация.Объект=&Контрагент
|И КонтактнаяИнформация.Тип=Значение(Перечисление.ТипыКонтактнойИнформации.Адрес)
|И КонтактнаяИнформация.Вид=Значение(Справочник.ВидыКонтактнойИнформации.ЮрАдресКон
трагента)";

Запрос.УстановитьПараметр("Контрагент",Контрагент); // если делается не из модуля или формы документа, тогда надо писать типа ссылканаобъект.Контрагент, или как там переменная обекта называется.
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() тогда
ЭлементыФормы.ЮридическийАдрес.Значение = Выборка.ЮридическийАдрес;
Иначе
ЭлементыФормы.ЮридическийАдрес.Значение = "Не найден";
КонецЕсли;
 
Запрос работает)))спасибо!!!!Не подскажете теперь где мне взять КонтактныеЛицаКонтрагентов гдя того что бы заполнить реквизит ФИОРуководителя и его паспортные данные?
 
Соответствующий справочник с условием по владельцу.
 
Выборка = Справочники.КонтактныеЛицаКонтрагентов.Выбрать(, Контрагент);


Какой опыт у вас в программировании?
 
маленький,только недавно начал изучать,так что не судите строго


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

Запрос.УстановитьПараметр("ФИОРуководителя",ФИОРуководителя);
Выборка=Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() тогда
ЭлементыФормы.СерияПаспорта.Значение=Выборка.СерияПаспорта;
Иначе
ЭлементыФормы.СерияПаспорта.Значение="Не найден";
КонецЕсли;

С помощью этого запроса не могу вытащить СериюПаспорта Определенного контактного лица,что тут не так,подскажите пожалуйста,постоянно пишет "Не Найден"
 
Внемлите ответам раньше. Леове соединение работает быстрее, левое соединение отдает вам то, что вам надо в запросе. Откуда правое взялось? Предположу, что у вас огромная выборка в которое есть и то, что вам надо и то что не надо. Первая строка выборки - бред. А так как у вас "Если Выборка.Следующий()", то платформа позиционируется на неправильной строке и дальше не перебирается. Исправьте запрос.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!