|   |   | 
| 
 | УТ 11.4 Контактная информация организации | ☑ | ||
|---|---|---|---|---|
| 0
    
        letovd 29.08.22✎ 12:10 | 
        Необходимо получать юр адрес организации, насколько я понимаю в 11 версии ут, контактная информация хранится в таблице справочника организации, написал запрос:
 Если ЧтоИскать = "ЮрАдрес" Тогда // исправил под УТ11.4 Запрос = Новый Запрос; Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации); Запрос.УстановитьПараметр("Ссылка",Орг); Запрос.Текст = "ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Представление КАК Представление |ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация |ГДЕ | ОрганизацииКонтактнаяИнформация.Вид = &Вид | И ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Результат = СокрЛП(ВыборкаДетальныеЗаписи.Представление); КонецЦикла; Есть косяк: Если в истории изменений юр адреса несколько адресов, то тянет запись в последней строки таблицы. Получается нужно выделить ВЕРНУЮ/АКТУАЛЬНУЮ запись из истории изменений. Например, на основе даты записи "действует с", можно сделать упорядочивание и тогда в переменной "Результат" всегда в будет последняя запись. ВЫБРАТЬ ОрганизацииКонтактнаяИнформация.Представление КАК Представление ИЗ Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация ГДЕ ОрганизацииКонтактнаяИнформация.Вид = &Вид И ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка УПОРЯДОЧИТЬ ПО ОрганизацииКонтактнаяИнформация.ДействуетС УБЫВ Либо засовывать даты в массив и сортировку делать кодом, подскажите совет как поступить | |||
| 1
    
        mikecool 29.08.22✎ 12:16 | 
        емнип, есть модули типа УправлениеКонтактнойИнформацией или КонтактнаяИНформация - смотри методы в них     | |||
| 2
    
        letovd 29.08.22✎ 12:20 | 
        Либо, всегда последняя запись сверху, под номером строки - 1?     | |||
| 3
    
        letovd 29.08.22✎ 12:24 | 
        Ну, как по мне проще всего так:
 Функция НайтиКонтактыОрганизации(Орг,ЧтоИскать) // Если ЧтоИскать = "ЮрАдрес" Тогда // исправил под УТ11.4 Запрос = Новый Запрос; Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации); Запрос.УстановитьПараметр("Ссылка",Орг); Запрос.Текст = "ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Представление КАК Представление |ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация |ГДЕ | ОрганизацииКонтактнаяИнформация.Вид = &Вид | И ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка | |УПОРЯДОЧИТЬ ПО | ОрганизацииКонтактнаяИнформация.ДействуетС"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Результат = СокрЛП(ВыборкаДетальныеЗаписи.Представление); КонецЦикла; КонецФункции | |||
| 4
    
        banco 29.08.22✎ 13:09 | 
        (3) Тебе в (1) уже подсказали, где проще.
 Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Орг, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации, Текущаядата()); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |