|
"выдернуть" регион и город из адреса | ☑ | ||
---|---|---|---|---|
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, спасибо) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |