Получить Контактную информацию по контрагентам в запросе

1. user712715 27.07.21 12:10 Сейчас в теме
Здравствуйте! Я недавно начал изучать 1С и ещё и столкнулся с проблемой получения контактной информации контрагентов в запросе.

в конфигурации БГУ2 создал справочник, в нем хранится контрагент ну остальная информация (например рег. номер, должность, дата постановки на учет...).

Сделал печатную форму куда вывожу все эти данные + надо вывести адрес этого контрагента. Изначально в этом справочники я также создал реквизит Адрес и при изменении контрагента получал адрес следующим образом:

АдресПредставление = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Контрагент.ЮридическоеФизическоеЛицо,Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица,ТекущаяДата(),Ложь);
Данные = РаботаСАдресами.АдресВФорматеКЛАДР(АдресПредставление[0].ЗначенияПолей);


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

Теперь в самом запросе мне нужно как то получить адреса всех контрагентов из моего справочника:


	Запрос = Новый Запрос();
	Запрос.Текст = "ВЫБРАТЬ
	               |	ЕД_ПедагогическиеРаботники.Ссылка КАК ПедРаботник,
	               |	ЕД_ПедагогическиеРаботники.Контрагент КАК Контрагент,
	               |	ЕД_ПедагогическиеРаботники.Организация КАК МестоРаботы,
	               |	ЕД_ПедагогическиеРаботники.РегНомер КАК РегНомер,
	               |	ЕД_ПедагогическиеРаботники.ОснованиеПостановкиНаУчет КАК Основание,
	               |	НАЧАЛОПЕРИОДА(ЕД_ПедагогическиеРаботники.ДатаСнятияСУчета, ДЕНЬ) КАК ДатаСнятия,
	               |	ЕСТЬNULL(ЕД_ПедагогическиеРаботники.СоставСемьи, 0) КАК СоставСемьи,
	               |	ЕД_ПедагогическиеРаботники.Должность КАК Должность,
	               |	ЕД_ПедагогическиеРаботники.ЛицевойСчет КАК ЛицСчет,
	               |	ФИОФизическихЛицСрезПоследних.ФизическоеЛицо.СтраховойНомерПФР КАК СНИЛС
	               |ИЗ
	               |	Справочник.ЕД_ПедагогическиеРаботники КАК ЕД_ПедагогическиеРаботники
	               |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизическихЛиц.СрезПоследних КАК ФИОФизическихЛицСрезПоследних
	               |		ПО ЕД_ПедагогическиеРаботники.Контрагент.ЮридическоеФизическоеЛицо = ФИОФизическихЛицСрезПоследних.ФизическоеЛицо.Ссылка,
	               |	Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
	               |ГДЕ
	               |	НЕ ЕД_ПедагогическиеРаботники.ЭтоГруппа
	               |	И &Условие1
	               |	И &Условие2
	               |	И &Условие3";
	
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Условие1",?(МестоРаботыСписком.Количество()>0,"ЕД_ПедагогическиеРаботники.Организация В (&МассивМестоРаботы)","Истина"));
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Условие2",?(ДолжностиСписком.Количество()>0,"ЕД_ПедагогическиеРаботники.Должность В (&ДолжностиСписком)","Истина"));
	Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Условие3","ЕД_ПедагогическиеРаботники.СнятСУчета = &СнятСУчета");
Показать


на данный момент запрос выглядит вот так.

Я так полагаю использовать функцию
УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта
в цикле обхода запроса не правильно, так как создается новый запрос к БД и если у тебя там 1000 человек то это 1000 запросов к БД.

Раньше был регистр сведений Контактная информация (в старых версиях) сейчас его нет. Как правильно выбрать адреса в запросе?
По теме из базы знаний
Найденные решения
3. ixijixi 1801 27.07.21 12:18 Сейчас в теме
Скорее всего надо будет присоединить таблицу КИ
Левое Соединение Справочник.Контрагенты.КонтактнаяИнформация КАК КИ
ПО ЕД_ПедагогическиеРаботники.Контрагент = КИ.Ссылка
И КИ.Тип = &Тип
И КИ.Вид = &Вид
avmironov; Nubsdale; user712715; Поручик; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 27.07.21 12:15 Сейчас в теме
(1)
Раньше был регистр сведений Контактная информация (в старых версиях) сейчас его нет. Как правильно выбрать адреса в запросе?


Теперь контактная информация хранится в одноимённой ТЧ справочника.
5. user712715 27.07.21 14:47 Сейчас в теме
(2)
Теперь контактная информация хранится в одноимённой ТЧ справочника.


Да я видел, что информация хранится там, но немного затупил не знал, как её достать оттуда
3. ixijixi 1801 27.07.21 12:18 Сейчас в теме
Скорее всего надо будет присоединить таблицу КИ
Левое Соединение Справочник.Контрагенты.КонтактнаяИнформация КАК КИ
ПО ЕД_ПедагогическиеРаботники.Контрагент = КИ.Ссылка
И КИ.Тип = &Тип
И КИ.Вид = &Вид
avmironov; Nubsdale; user712715; Поручик; +4 Ответить
4. user712715 27.07.21 14:44 Сейчас в теме
Спасибо! Я пытался так сделать, но не указывал ни тип, ни вид поэтому не работало...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот