• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Запрос

  • Автор темы VlasovSergey
  • Дата начала
P

puh14

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

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

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

VlasovSergey

Запрос работает)))спасибо!!!!Не подскажете теперь где мне взять КонтактныеЛицаКонтрагентов гдя того что бы заполнить реквизит ФИОРуководителя и его паспортные данные?
 
D

Darlock

Соответствующий справочник с условием по владельцу.
 
D

Darlock

Выборка = Справочники.КонтактныеЛицаКонтрагентов.Выбрать(, Контрагент);


Какой опыт у вас в программировании?
 
V

VlasovSergey

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


Добавлено: недавно с армий пришел,до армий поверхностно изучал,сейчас практически все забыл:rolleyes:
 
D

Darlock

М. Радченко "Практическое пособие разработчика"
 
V

VlasovSergey

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

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

С помощью этого запроса не могу вытащить СериюПаспорта Определенного контактного лица,что тут не так,подскажите пожалуйста,постоянно пишет "Не Найден"
 
D

Darlock

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

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