Необходимо получать юр адрес организации, насколько я понимаю в 11 версии ут, контактная информация хранится в таблице справочника организации, написал запрос:
Если ЧтоИскать = "ЮрАдрес" Тогда // исправил под УТ11.4
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Запрос.УстановитьПараметр("Ссылка",Орг);
Запрос.Текст =
"ВЫБРАТЬ
| ОрганизацииКонтактнаяИнформация.Представление КАК Представление
|ИЗ
| Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
|ГДЕ
| ОрганизацииКонтактнаяИнформация.Вид = &Вид
| И ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Результат = СокрЛП(ВыборкаДетальныеЗаписи.Представление);
КонецЦикла;
Есть косяк:
Если в истории изменений юр адреса несколько адресов, то тянет запись в последней строки таблицы. Получается нужно выделить ВЕРНУЮ/АКТУАЛЬНУЮ запись из истории изменений.
Например, на основе даты записи "действует с", можно сделать упорядочивание и тогда в переменной "Результат" всегда в будет последняя запись.
ВЫБРАТЬ
ОрганизацииКонтактнаяИнформация.Представление КАК Представление
ИЗ
Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
ГДЕ
ОрганизацииКонтактнаяИнформация.Вид = &Вид
И ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка
УПОРЯДОЧИТЬ ПО
ОрганизацииКонтактнаяИнформация.ДействуетС УБЫВ
Либо засовывать даты в массив и сортировку делать кодом, подскажите совет как поступить
Функция НайтиКонтактыОрганизации(Орг,ЧтоИскать) //
Если ЧтоИскать = "ЮрАдрес" Тогда // исправил под УТ11.4
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
Запрос.УстановитьПараметр("Ссылка",Орг);
Запрос.Текст =
"ВЫБРАТЬ
| ОрганизацииКонтактнаяИнформация.Представление КАК Представление
|ИЗ
| Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
|ГДЕ
| ОрганизацииКонтактнаяИнформация.Вид = &Вид
| И ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ОрганизацииКонтактнаяИнформация.ДействуетС";
(3) Тебе в (1) уже подсказали, где проще.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Орг, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации, Текущаядата());
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший