Возврат наименования города в реквизит справочника.

Версия для печатиPDF-версия

Платформа:

УНФ 1.6.8.28
Описание проблемы:
В справочнике НОМЕНКЛАТУРА добавлены реквизиты:
1. ИЗДАТЕЛЬ (Номенклатура - книги), связанное со справочником КОНТРАГЕНЫ (СправочникСсылка.Контрагенты)
2. ГородИздателя.

 

Требуется в поле  ГородИздателя формы справочника НОМЕНКЛАТУРА отразить данные из
КОНТРАГЕНЫ
Табличные части
КонтактнаяИнформация
Город

Подскажите, как это сделать?

И возможно ли использовать для решения проблемы функцию:

Основная конфигурация ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(1103, 9) : Функция ГородАдресаКонтактнойИнформации(Знач XMLСтрока) Экспорт

Заранее благодарен.
 

Указанная функция не подойдёт, т.к. в неё надо передавать XML-строку с адресом, а её сначала надо где-то взять.

Проще создать свою функцию на подобие такой:

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

В процедурах-обработчиках событий ПриСозданииНаСервере и ИздательствоПриИзменении дописать строку:

Город = ПолучитьГород(Объект.Издательство);

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

Доброго времени суток!

Большое спасибо, всё прекрасно сработало!!!!