Как во внешнем отчете вывести Адрес (ЗУП)

1. Гость 28.04.21 14:49
Добрые день, подскажите пожалуйста, как в ЗУПЕ во внешнем отчете (Не СКД) вывести АдресПоПрописке и АдресМестаПроживания.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Danila7Zz 17 28.04.21 15:06 Сейчас в теме
Справочник физ лица, у справочника есть таблица. КонтактнаяИнформация. Чтобы ее вытащить красиво, нужно соединить отдельно таблицу и элемент справочника сотрудники.

Вот примерный текст запроса

ВЫБРАТЬ
	ФизическиеЛицаКонтактнаяИнформация.Вид КАК Вид,
	ФизическиеЛицаКонтактнаяИнформация.Представление КАК Представление,
	ФизическиеЛицаКонтактнаяИнформация.Страна КАК Страна,
	ФизическиеЛицаКонтактнаяИнформация.Регион КАК Регион,
	ФизическиеЛицаКонтактнаяИнформация.Город КАК Город
ИЗ
	Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
		ПО (ФизическиеЛицаКонтактнаяИнформация.Ссылка = ФизическиеЛица.Ссылка)
ГДЕ
	ФизическиеЛица.Ссылка = &Ссылка
Показать
3. Гость 28.04.21 15:12
(2)Это я сделала, не понимаю, как именно вытащить значение этих полей в отчет
8. Sakuraso 29.04.21 14:32 Сейчас в теме
(1)

(2)Лучше использовать представления

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

ВЫБРАТЬ
	ДАТАВРЕМЯ(1, 1, 1) КАК Период,
	ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизическоеЛицо,
	"" КАК АдресМестаПроживанияПредставление,
	"" КАК АдресПоПропискеПредставление
ПОМЕСТИТЬ Представления_КадровыеДанныеФизическихЛиц
ИЗ
	ВТФизическиеЛица КАК ВТФизическиеЛица
ГДЕ
	"ТолькоРазрешенные" = ИСТИНА
	И "ФормироватьСПериодичностьДень" = ИСТИНА
Показать


Так же нужно в модуле объекта внешнего отчета разместить следующий код.
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
	
Функция СведенияОВнешнейОбработке() Экспорт
	МетаданныеОбработки = Метаданные();
	Синоним = МетаданныеОбработки.Синоним;
	
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
    ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
    ПараметрыРегистрации.Вставить("Наименование", ИмяОтчета);
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Версия", "1.0");    
    ПараметрыРегистрации.Вставить("Информация", Синоним);
  
	ТаблицаКоманд = Новый ТаблицаЗначений;
	ТаблицаКоманд.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); 
	ТаблицаКоманд.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
	ТаблицаКоманд.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
	ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
	ТаблицаКоманд.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

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

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
		
	ЗарплатаКадрыОтчеты.ПриКомпоновкеРезультатаВТабличныйДокумент(
	ЭтотОбъект, ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка, Ложь);
			
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Процедура ИнициализироватьОтчет() Экспорт
	
	ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);
	
КонецПроцедуры

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

// Вызывается перед загрузкой новых настроек. Используется для изменения схемы компоновки.
//
Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
	
	Если КлючСхемы <> КлючВарианта Тогда
		
		ИнициализироватьОтчет();
		ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКомпоновкиДанных, КлючСхемы);
		
		КлючСхемы = КлючВарианта;
		
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли
Показать
user1203134; +1 Ответить
4. N0t_F0und 10 28.04.21 15:19 Сейчас в теме
Условие в запросе поставить
6. Гость 28.04.21 16:00
(4)Как его поставить?
5. ubnkfl 28.04.21 15:21 Сейчас в теме
7. N0t_F0und 10 28.04.21 16:19 Сейчас в теме
ГДЕ
	ФизическиеЛица.Ссылка = &Ссылка
	И ФизическиеЛицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
	И ФизическиеЛицаКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица)
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение

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