|   |   | 
| 
 | "выдернуть" регион и город из адреса | ☑ | ||
|---|---|---|---|---|
| 0
    
        Hostess_ of_Love 15.08.11✎ 13:54 | 
        как проще можно выдернуть регион и город в отдельные переменные из юр.адреса контрагента?     | |||
| 1
    
        Grusswelle 15.08.11✎ 13:55 | 
        Запросом.     | |||
| 2
    
        famnam 15.08.11✎ 13:55 | 
        РС.КонтактнаяИнформация     | |||
| 3
    
        Масянька 15.08.11✎ 13:56 | 
        (0) В общих модулях ищи нечто - Обработка адреса. Там заморочено, но разобраться можно.     | |||
| 4
    
        Hostess_ of_Love 15.08.11✎ 14:26 | 
        //Функция раскладывает строку с данными об адресе (в формате 9 запятых) на элементы структуры
  Функция РазложитьАдрес(Знач СтрокаАдрес) Экспорт а если в строке меньше запятых? | |||
| 5
    
        новичекВ1С 15.08.11✎ 14:27 | 
        ФИТУ хоть?:)     | |||
| 6
    
        Hostess_ of_Love 15.08.11✎ 14:28 | 
        технарь     | |||
| 7
    
        Hostess_ of_Love 15.08.11✎ 15:06 | 
        и тишина     | |||
| 8
    
        Rie 15.08.11✎ 15:07 | 
        (4) А тогда что является городом?     | |||
| 9
    
        almar 15.08.11✎ 15:13 | 
        (4) если в сторе меньше, чем 9 запятых, то нужно выдать сообщение об ошибке в формате адреса     | |||
| 10
    
        Hostess_ of_Love 15.08.11✎ 15:16 | 
        9 запятых предполают, что заполнены все поля (Страна, Индекс,Регион, Район, Город, НаселенныйПункт, Улица, Дом, Корпус, Квартира). на практике же получается, что некоторые поля не заполняются (например, НаселенныйПункт, Корпус, Квартира) потому что их просто напросто нет. так же не всегда стоит страна     | |||
| 11
    
        almar 15.08.11✎ 15:18 | 
        (10) если нет какого-то элемента, то просто две запятых ставятся подряд например ,190000,Москва,,,Кремль,,,,     | |||
| 12
    
        Rie 15.08.11✎ 15:19 | 
        (10) Поле может и не заполнено. Но запятая-то - должна стоять?
  А если запятых нет - то понять, какое поле отсутствует - нетривиальная задача. Хорошо, если страна. А если город? | |||
| 13
    
        Hostess_ of_Love 15.08.11✎ 15:20 | 
        в представлении нету лишних запятых     | |||
| 14
    
        Rie 15.08.11✎ 15:22 | 
        (13) Тогда разве что изобретать искусственный интеллект...
  Москва - это город или регион? | |||
| 15
    
        wertyu 15.08.11✎ 15:23 | 
        (14) регион конечно, как и Питер     | |||
| 16
    
        wertyu 15.08.11✎ 15:24 | 
        +(15) просто там названо непривильно, регион = субъект федерации     | |||
| 17
    
        wertyu 15.08.11✎ 15:24 | 
        неправильно*     | |||
| 18
    
        wertyu 15.08.11✎ 15:28 | 
        как вариант можно полностью заполнить адресный классификатор и искать если заполнены поля "КодГородаВКоде" и "КодНаселенногоПунктаВКоде" (второе если нужны и посёлки и т.п.) плюс Москва и Питер дополнительно     | |||
| 19
    
        wertyu 15.08.11✎ 15:29 | 
        +(18) ну, а найденные проверять на вхождение в строку адреса     | |||
| 20
    
        Hostess_ of_Love 15.08.11✎ 15:30 | 
        попробовала использовать РазложитьАдрес() и получила город и номер дома.     | |||
| 21
    
        almar 15.08.11✎ 15:30 | 
        (13) в 8-ке контактная информация хранится в регистре сведений, в реквизитах Поле1...Поле10. Зачем тебе вообще "формат 9 запятых"?     | |||
| 22
    
        famnam 15.08.11✎ 15:31 | 
        (21) +1. Смотри (2)     | |||
| 23
    
        Tirael 15.08.11✎ 15:32 | 
        (0) И не надо никаких запятых
  НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Объект.Установить(СсылкаНаОбъект.Организация); НаборЗаписей.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес); НаборЗаписей.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации); НаборЗаписей.Прочитать(); МассивПолей = НаборЗаписей[0]; Регион = МассивПолей.Поле2; Район = МассивПолей.Поле3; Город = МассивПолей.Поле4; НаселенныйПункт = МассивПолей.Поле5; Улица = МассивПолей.Поле6; Дом = МассивПолей.Поле7; Корпус = МассивПолей.Поле8; Квартира= МассивПолей.Поле9; Индекс = МассивПолей.Поле1; | |||
| 24
    
        wertyu 15.08.11✎ 15:34 | 
        ЗЫ. всё, что я написал для произвольного адреса, если адрес в формате, то конечно лучше из поля взять )))     | |||
| 25
    
        Tirael 15.08.11✎ 15:37 | 
        (24) судя по (10) какой-то порядок в адресах все-таки есть ))     | |||
| 26
    
        famnam 15.08.11✎ 15:37 | 
        9 запятых тоже формат)     | |||
| 27
    
        Hostess_ of_Love 15.08.11✎ 15:39 | 
        сейчас с набором записей попробую     | |||
| 28
    
        wertyu 15.08.11✎ 15:42 | 
        (25) очень часто заполняют представление, Москву и Питер всё равно надо проверять дополнительно они в Поле2, а остальные города в Поле4     | |||
| 29
    
        Hostess_ of_Love 15.08.11✎ 15:42 | 
        {ВнешняяОбработка.КоммерческоеПредложение.МодульОбъекта(40)}: Индекс находится за границами массива
  МассивПолей = НаборЗаписей[0]; | |||
| 30
    
        Tirael 15.08.11✎ 15:45 | 
        (29) Смотри значения отбора - почему он у тебя пустой     | |||
| 31
    
        famnam 15.08.11✎ 15:53 | 
        (29) добавь проверку Если НаборЗаписей.Количество()>0 Тогда     | |||
| 32
    
        Hostess_ of_Love 15.08.11✎ 15:57 | 
        исправила уже. просто отбор по виду неправильно написала.
  Tirael, спасибо) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |