Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как получить структуру адреса?

Как получить структуру адреса?
Я
   extrim-style
 
26.12.12 - 15:29
Использую подсистему КонтактнаяИнформация из БСП. Подскажите, как программно получить структуру адреса из строки ЮридическийАдрес? ОбщаяФорма.ВводАдреса открывается модально, экспортных функций не нашел.
 
 
   extrim-style
 
1 - 26.12.12 - 15:45
Неужели нет готовой функции?
   kumena
 
2 - 26.12.12 - 15:47
штатно никак, надо же с кладром состыковывать.
   extrim-style
 
3 - 26.12.12 - 15:54
(2) спасибо. Очень странно звучит - т.к. нужно состыковывать с кладром, поэтому нет штатных средств).
   kumena
 
4 - 26.12.12 - 15:57
(3) если я правильно понял то надо из строки адреса понять поля в которые попадет адрес. таких типовых задач нет, есть только обратные, поэтому и нет такой функции.

я такое делал, давно. пришлось повозиться поскольку не все так просто и однозначно.
   extrim-style
 
5 - 26.12.12 - 16:05
(4) я заметил, что не всё так просто. Подстава от 1С...
   extrim-style
 
6 - 26.12.12 - 16:07
(4) так 1ска как раз и восстанавливает адрес из строки в форме ВводАдреса.
   kumena
 
7 - 26.12.12 - 16:45
(6) так она восстанавливает не из строки, а из полей регистра.
"Подстава от 1С..." - думаю что 1с тут ни при чем.
   extrim-style
 
8 - 27.12.12 - 08:42
(7) восстанавливает из строки, связывая с регистром
   extrim-style
 
9 - 27.12.12 - 08:45
// Получить значение определенного вида контактной информации у объекта.
 
//
 // Параметры
 
//  Ссылка                  - ЛюбаяСсылка - ссылка на объект-владелец контактной информации (организация, контрагент, партнер и т.д.)
 //  ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации
 
//
 // Возвращаемое значение:
 
//  Строка - строковое представление значения.
 //
 
Функция ПолучитьКонтактнуюИнформацияОбъекта(Ссылка, ВидКонтактнойИнформации) Экспорт
   extrim-style
 
10 - 27.12.12 - 11:09
Вроде разобрался. Как-то так:

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

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

Только нужно еще в ЗначенияПолей поменять местами КодРегиона и Регион, а то он Регион неправильно ищет. Вобщем у меня задача немного другого рода, а это по сабжу.
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует