Имя: Пароль:
1C
1С v8
Народ может кто делал как из адреса выцепить страну
0 koketka
 
16.01.14
15:24
Народ может кто делал как из адреса у конрагента выцепить страну
1 zak555
 
16.01.14
15:25
КодСтраны = Лев(Адрес, Найти(Адрес, ",") - 1);
2 koketka
 
16.01.14
16:37
ч так сделала
Функция ПолучитьАдресИзКонтактнойИнформации1(Объект, ТипАдреса = "") Экспорт

    Если ЗначениеНеЗаполнено(ТипАдреса) Тогда
        Возврат "";
    КонецЕсли;

    Если ТипАдреса="Фактический" Тогда
        Начало = "Факт";
    ИначеЕсли ТипАдреса="Регистрации"
          ИЛИ ТипАдреса="Юридический" Тогда
        Начало = "Юр";
    Иначе
        Возврат "";
    КонецЕсли;
    
    Если ТипЗнч(Объект) = Тип("СправочникСсылка.Организации") Тогда
        Окончание = "Организации";
    ИначеЕсли ТипЗнч(Объект) = Тип("СправочникСсылка.Контрагенты") Тогда
        Окончание = "Контрагента";
    ИначеЕсли   ТипЗнч(Объект) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
        Окончание = "ФизЛица";
    КонецЕсли;
    
    ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка;

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

КонецФункции
3 Джинн
 
16.01.14
16:38
Не взлетит. В адресах всегда помойка.
4 Kerk
 
16.01.14
16:40
(0) Стран всего-то штук 200, перебором предварительного списка найти можно.
5 Maxus43
 
16.01.14
16:50
посомтри в регистре контактной информации как хранится, есть общие функции разкладки Представления адлреса на структуру и т.д.
6 МойКодУныл
 
16.01.14
16:53
Если адрес в произвольной форме, то вообще дохлый номер. Заводивший и Россию мог с одной с написать. А по классификатору зарубежные страны редко заводят. Кто будет загружать в базу классификаторы всего СНГ, например.
7 Laerys
 
16.01.14
17:06
(0) Если есть индекс, то может и взлететь, а так- дохлый номер.
8 Kalambur
 
16.01.14
17:09
1) Заполнить справочник Классификатор стран
2) в обработке Редактирования контакт. информации ЭлементФормы.Поле1.Редактирование=Ложь при РоссийскийАдрес = ложь
3) первое слово до запятой будет страна
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший