|
Разобрать адрес в ЗУП | ☑ | ||
---|---|---|---|---|
0
Borteg
28.10.14
✎
14:50
|
Добрый день.Подскажите как можно получить данные о городе, улице и если есть области проживания физ лица. Сами данные я получил из регистра контактная информация. Но как понять что есть город, а что область. Например город Москва записывается в поле 3, если это не город Москва, то в поле 3 может записываться область, а город будет записан в поле 4,если есть еще и район то город вообще попадет в поле 5. Я никак не могу разобрать эти данные, может гдето в зупе есть готовые процедуры которые могут вернуть эти данные? Спасибо за помощь!
|
|||
1
Dmitry1c
28.10.14
✎
14:52
|
(0) готовых процедур под такое быть не может
роботы еще не настолько интеллектуальны |
|||
2
Borteg
28.10.14
✎
14:53
|
(1) это типовой регистр, наверное все таки както можно из классификатора вытащить эти данные
|
|||
3
Heckfy
28.10.14
✎
14:53
|
Я месяц потратил на что то подобное. Так и не смог сделать. :(
|
|||
4
Borteg
28.10.14
✎
14:56
|
(3) паника((
|
|||
5
pessok
28.10.14
✎
14:56
|
(1) чушь
|
|||
6
pessok
28.10.14
✎
14:56
|
(0) ща, сам задавался этим вопросом, решил его просто. надо поискать в своих темах
|
|||
7
pessok
28.10.14
✎
14:57
|
(0) УправлениеКонтактнойИнформацией.ПолучитьАдресныйЭлемент(ПолеИЗРС, ТипПоляКладра)
|
|||
8
pessok
28.10.14
✎
15:03
|
Пока Выборка.Следующий() Цикл
Для Каждого Параметр Из РезультатЗапроса.Колонки Цикл ЗначениеПараметра = Выборка[Параметр.Имя]; Если ТипЗнч(ЗначениеПараметра) = Тип("Строка") Тогда ОбластьСтрока.Параметры[Параметр.Имя] = СокрЛП(ЗначениеПараметра); Иначе ОбластьСтрока.Параметры[Параметр.Имя] = ЗначениеПараметра; КонецЕсли; Если Параметр.Имя = "ФактКодРайона" Или Параметр.Имя = "ЮрКодРайона" Тогда ОбластьСтрока.Параметры[Параметр.Имя] = УправлениеКонтактнойИнформацией.ПолучитьАдресныйЭлемент(ЗначениеПараметра, 1).КодРегионаВКоде; КонецЕсли; Если Параметр.Имя = "ФактРайон" Или Параметр.Имя = "ЮрРайон" Тогда ОбластьСтрока.Параметры[Параметр.Имя] = УправлениеКонтактнойИнформацией.ОбрезатьСокращение(ЗначениеПараметра); ОбластьСтрока.Параметры[Параметр.Имя+"Тип"] = УправлениеКонтактнойИнформацией.ПолучитьАдресныйЭлемент(ЗначениеПараметра, 2).Сокращение; КонецЕсли; Если Параметр.Имя = "ФактГород" Или Параметр.Имя = "ЮрГород" Тогда ОбластьСтрока.Параметры[Параметр.Имя] = УправлениеКонтактнойИнформацией.ОбрезатьСокращение(ЗначениеПараметра); ОбластьСтрока.Параметры[Параметр.Имя+"Тип"] = УправлениеКонтактнойИнформацией.ПолучитьАдресныйЭлемент(ЗначениеПараметра, 3).Сокращение; КонецЕсли; Если Параметр.Имя = "ФактНасПункт" Или Параметр.Имя = "ЮрНасПункт" Тогда ОбластьСтрока.Параметры[Параметр.Имя] = УправлениеКонтактнойИнформацией.ОбрезатьСокращение(ЗначениеПараметра); ОбластьСтрока.Параметры[Параметр.Имя+"Тип"] = УправлениеКонтактнойИнформацией.ПолучитьАдресныйЭлемент(ЗначениеПараметра, 4).Сокращение; КонецЕсли; Если Параметр.Имя = "ФактУлица" Или Параметр.Имя = "ЮрУлица" Тогда ОбластьСтрока.Параметры[Параметр.Имя] = УправлениеКонтактнойИнформацией.ОбрезатьСокращение(ЗначениеПараметра); ОбластьСтрока.Параметры[Параметр.Имя+"Тип"] = УправлениеКонтактнойИнформацией.ПолучитьАдресныйЭлемент(ЗначениеПараметра, 5).Сокращение; КонецЕсли; КонецЦикла; |
|||
9
Heckfy
28.10.14
✎
15:04
|
Гадина :)
|
|||
10
Borteg
28.10.14
✎
15:07
|
(8) спасибо большое, попробую сейчас посмотреть чего там
|
|||
11
H A D G E H O G s
28.10.14
✎
15:17
|
Ну или как то так
Функция ПолучитьКонтактнуюИнформациюПоОбъекту(Объект, Тип, Вид, ПОКЛАДРУ=Истина) Экспорт СтруктураВозврата=Новый Структура; СтруктураВозврата.Вставить("Представление",""); ЭтоАдрес=(Тип=Неопределено) или (Тип=Перечисления.ТипыКонтактнойИнформации.Адрес); Если ЭтоАдрес Тогда СтруктураВозврата.Вставить("КодСтраны",""); СтруктураВозврата.Вставить("Страна",""); СтруктураВозврата.Вставить("Индекс",""); СтруктураВозврата.Вставить("КодРегиона",""); СтруктураВозврата.Вставить("Регион",""); СтруктураВозврата.Вставить("Район",""); СтруктураВозврата.Вставить("Город",""); СтруктураВозврата.Вставить("НаселенныйПункт",""); СтруктураВозврата.Вставить("Улица",""); СтруктураВозврата.Вставить("Дом",""); СтруктураВозврата.Вставить("Корпус",""); СтруктураВозврата.Вставить("Квартира",""); СтруктураВозврата.Вставить("ЭтоРоссийскийАдрес",Ложь); СтруктураВозврата.Вставить("Представление",""); Если ___ОбщегоНазначенияПовтИсп.ПолучитьИдентификаторКонфигурации()<>"УТ11" Тогда СтруктураВозврата.Вставить("ТипДома",Перечисления.ТипыДомов.Дом); СтруктураВозврата.Вставить("ТипКорпуса",Перечисления.ТипыКорпусов.Корпус); СтруктураВозврата.Вставить("ТипКвартиры",Перечисления.ТипыКвартир.Офис); Иначе СтруктураВозврата.Вставить("ТипДома","Дом"); СтруктураВозврата.Вставить("ТипКорпуса","Корпус"); СтруктураВозврата.Вставить("ТипКвартиры","Офис"); КонецЕсли; КонецЕсли; Если Не ЗначениеЗаполнено(Объект) Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; Если ___ОбщегоНазначенияПовтИсп.ПолучитьИдентификаторКонфигурации()="УТ11" Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("Объект", Объект); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | * |ИЗ | Справочник." + Объект.Метаданные().Имя + ".КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Ссылка = &Объект | И КонтактнаяИнформация.Тип = &Тип | И КонтактнаяИнформация.Вид = &Вид"; Запрос.УстановитьПараметр("Тип",Тип); Запрос.УстановитьПараметр("Вид",Вид); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; Выборка=РезультатЗапроса.Выбрать(); Выборка.Следующий(); ЗначенияПолей=Выборка.ЗначенияПолей; Если ПОКЛАДРУ И ЭтоАдрес Тогда Если Лев(ЗначенияПолей,1)<>"<" Тогда //Это Ключ=Значение СтруктураЗаполнения=Новый Структура; Для НомерСтрокиТекста=1 По СтрЧислоСтрок(ЗначенияПолей) Цикл ТекущаяСтрока=СтрПолучитьСтроку(ЗначенияПолей,НомерСтрокиТекста); Если Найти(ТекущаяСтрока,"=")=0 Тогда Продолжить; КонецЕсли; ТекущаяСтрока=СтрЗаменить(ТекущаяСтрока,"=",Символы.ПС); Ключ=СтрПолучитьСтроку(ТекущаяСтрока,1); Значение=СтрПолучитьСтроку(ТекущаяСтрока,2); СтруктураЗаполнения.Вставить(Ключ,Значение); КонецЦикла; ЗаполнитьЗначенияСвойств(СтруктураВозврата,СтруктураЗаполнения); ЭтоРоссийскийАдрес=НЕ ___РегламентированнаяОтчетностьКлиентСервер.ЕстьНеЦифрыВСтроке(СтруктураВозврата.Индекс); СтруктураВозврата.Вставить("КодСтраны",___РегламентированнаяОтчетностьПовтИсп.КодСтраныПоНазванию(СтруктураВозврата.Страна)); СтруктураВозврата.Вставить("КодРегиона",___РегламентированнаяОтчетностьПовтИсп.КодРегионаПоНазванию(СтруктураВозврата.Регион)); СтруктураВозврата.Вставить("ЭтоРоссийскийАдрес",ЭтоРоссийскийАдрес); Если Не ЗначениеЗаполнено(СтруктураВозврата.Страна) И ЭтоРоссийскийАдрес Тогда СтруктураВозврата.Вставить("Страна","Россия"); КонецЕсли; Если ЭтоРоссийскийАдрес И НЕ ЗначениеЗаполнено(СтруктураВозврата.Представление) Тогда Представление=""; Если ВРЕГ(СтруктураВозврата.ТипДома)="ВЛАДЕНИЕ" Тогда ПредставлениеТипаДома="вл. "; Иначе ПредставлениеТипаДома=СтруктураВозврата.ТипДома; КонецЕсли; Если ВРЕГ(СтруктураВозврата.ТипКорпуса)="СТРОЕНИЕ" Тогда ПредставлениеТипаКорпуса="стр. "; Иначе ПредставлениеТипаКорпуса=СтруктураВозврата.ТипКорпуса; КонецЕсли; ПредставлениеТипаКвартиры=СтруктураВозврата.ТипКвартиры; Представление =СтруктураВозврата.Индекс; Представление =Представление+ ?(ЗначениеЗаполнено(СтруктураВозврата.Страна),", "+СтруктураВозврата.Страна,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Регион),", "+СтруктураВозврата.Регион,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Район),", "+СтруктураВозврата.Район,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Город),", "+СтруктураВозврата.Город,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.НаселенныйПункт),", "+СтруктураВозврата.НаселенныйПункт,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Улица),", "+СтруктураВозврата.Улица,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Дом),", "+ПредставлениеТипаДома+СтруктураВозврата.Дом,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Корпус),", "+ПредставлениеТипаКорпуса+СтруктураВозврата.Корпус,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Квартира),", "+ПредставлениеТипаКвартиры+СтруктураВозврата.Квартира,""); СтруктураВозврата.Вставить("Представление",Представление); КонецЕсли; Иначе //Это XML ПространствоИмен="http://www.v8.1c.ru/ssl/contactinfo"; ЧтениеXML=Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(ЗначенияПолей); Попытка XDTOКонтактная = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип(ПространствоИмен, "КонтактнаяИнформация")); Исключение СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецПопытки; СтруктураВозврата.Вставить("Представление",XDTOКонтактная.Представление); XDTOКонтактная=XDTOКонтактная.Состав; Если XDTOКонтактная = Неопределено Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; ТипXDTOКонтактная = XDTOКонтактная.Тип(); Если ТипXDTOКонтактная <> ФабрикаXDTO.Тип(ПространствоИмен, "Адрес") Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; СтруктураВозврата.Вставить("Страна",XDTOКонтактная.Страна); СтруктураВозврата.Вставить("КодСтраны",___РегламентированнаяОтчетностьПовтИсп.КодСтраныПоНазванию(СтруктураВозврата.Страна)); XDTOКонтактная=XDTOКонтактная.Состав; Если XDTOКонтактная = Неопределено Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; ТипXDTOКонтактная = XDTOКонтактная.Тип(); Если ТипXDTOКонтактная <> ФабрикаXDTO.Тип(ПространствоИмен, "АдресРФ") Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; СтруктураВозврата.Вставить("Регион", XDTOКонтактная.СубъектРФ); СтруктураВозврата.Вставить("КодРегиона",___РегламентированнаяОтчетностьПовтИсп.КодРегионаПоНазванию(СтруктураВозврата.Регион)); ЭлементИндекса=XDTOКонтактная.Получить("ДопАдрЭл[ТипАдрЭл='10100000']"); Если ЭлементИндекса<>Неопределено Тогда СтруктураВозврата.Вставить("Индекс",ЭлементИндекса.Значение); КонецЕсли; ЭлементРайона=XDTOКонтактная.Получить("СвРайМО"); Если ЭлементРайона<>Неопределено Тогда СтруктураВозврата.Вставить("Район",ЭлементРайона.Район); КонецЕсли; СтруктураВозврата.Вставить("Город",XDTOКонтактная.Город); СтруктураВозврата.Вставить("НаселенныйПункт",XDTOКонтактная.НаселПункт); СтруктураВозврата.Вставить("Улица",XDTOКонтактная.Улица); ТаблицаОЧастяхАдреса=ПолучитьТаблицуОЧастяхАдреса(); Для Каждого ДопЭлемент Из XDTOКонтактная.ДопАдрЭл Цикл Если ДопЭлемент.Номер <> Неопределено Тогда КодОбъекта = ДопЭлемент.Номер.Тип; ТипОбъекта = ТаблицаОЧастяхАдреса.Найти(КодОбъекта,"Код"); Если ТипОбъекта=Неопределено Тогда Продолжить; КонецЕсли; Если ТипОбъекта.Тип=1 Тогда СтруктураВозврата.Вставить("Дом",ДопЭлемент.Номер.Значение); СтруктураВозврата.Вставить("ТипДома",ТипОбъекта.Наименование); КонецЕсли; Если ТипОбъекта.Тип=2 Тогда СтруктураВозврата.Вставить("Корпус",ДопЭлемент.Номер.Значение); СтруктураВозврата.Вставить("ТипКорпуса",ТипОбъекта.Наименование); КонецЕсли; Если ТипОбъекта.Тип=3 Тогда СтруктураВозврата.Вставить("Квартира",ДопЭлемент.Номер.Значение); СтруктураВозврата.Вставить("ТипКвартиры",ТипОбъекта.Наименование); КонецЕсли; КонецЕсли; КонецЦикла; СтруктураВозврата.Вставить("ЭтоРоссийскийАдрес",Истина); Для Каждого КлючЗначениеПостобработка Из СтруктураВозврата Цикл Если КлючЗначениеПостобработка.Значение=Неопределено Тогда СтруктураВозврата.Вставить(КлючЗначениеПостобработка.Ключ,""); КонецЕсли; КонецЦикла; КонецЕсли; Иначе СтруктураВозврата.Вставить("Представление",Выборка.Представление); Если НЕ ЭтоАдрес Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; РазложеннаяСтруктура=___РегламентированнаяОтчетностьКлиентСервер.РазложитьАдрес(Выборка.Представление); ЗаполнитьЗначенияСвойств(СтруктураВозврата,РазложеннаяСтруктура); КонецЕсли; Иначе Запрос = Новый Запрос; Запрос.УстановитьПараметр("Объект", Объект); Если ПОКЛАДРУ И ЭтоАдрес Тогда Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | КонтактнаяИнформация.Поле1, | КонтактнаяИнформация.Поле2, | КонтактнаяИнформация.Поле3, | КонтактнаяИнформация.Поле4, | КонтактнаяИнформация.Поле5, | КонтактнаяИнформация.Поле6, | КонтактнаяИнформация.Поле7, | КонтактнаяИнформация.Поле8, | КонтактнаяИнформация.Поле9, | КонтактнаяИнформация.Поле10, | КонтактнаяИнформация.ТипДома, | КонтактнаяИнформация.ТипКорпуса, | КонтактнаяИнформация.ТипКвартиры, | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И КонтактнаяИнформация.Тип = &Тип | И КонтактнаяИнформация.Вид = &Вид"; Иначе Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | КонтактнаяИнформация.Представление, | КонтактнаяИнформация.ТипДома, | КонтактнаяИнформация.ТипКорпуса, | КонтактнаяИнформация.ТипКвартиры, | КонтактнаяИнформация.Поле1 |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И КонтактнаяИнформация.Тип = &Тип | И КонтактнаяИнформация.Вид = &Вид"; КонецЕсли; Запрос.УстановитьПараметр("Тип",Тип); Запрос.УстановитьПараметр("Вид",Вид); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; Выборка=РезультатЗапроса.Выбрать(); Выборка.Следующий(); Если ЭтоАдрес Тогда СтруктураВозврата.Вставить("ТипДома",Выборка.ТипДома); СтруктураВозврата.Вставить("ТипКорпуса",Выборка.ТипКорпуса); СтруктураВозврата.Вставить("ТипКвартиры",Выборка.ТипКвартиры); Иначе СтруктураВозврата.Вставить("Представление",Выборка.Представление); СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; ЭтоРоссийскийАдрес=НЕ ___РегламентированнаяОтчетностьКлиентСервер.ЕстьНеЦифрыВСтроке(Выборка.Поле1); Если НЕ ЭтоРоссийскийАдрес Тогда СтруктураВозврата.Вставить("Страна",Выборка.Поле1); СтруктураВозврата.Вставить("Представление",Выборка.Представление); СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецЕсли; СтруктураВозврата.Вставить("ЭтоРоссийскийАдрес",Истина); Если ПОКЛАДРУ ТОГДА СтруктураВозврата.Вставить("Страна","Россия"); СтруктураВозврата.Вставить("Индекс",Выборка.Поле1); СтруктураВозврата.Вставить("Регион",Выборка.Поле2); СтруктураВозврата.Вставить("Район",Выборка.Поле3); СтруктураВозврата.Вставить("Город",Выборка.Поле4); СтруктураВозврата.Вставить("НаселенныйПункт",Выборка.Поле5); СтруктураВозврата.Вставить("Улица",Выборка.Поле6); СтруктураВозврата.Вставить("Дом",Выборка.Поле7); СтруктураВозврата.Вставить("Корпус",Выборка.Поле8); СтруктураВозврата.Вставить("Квартира",Выборка.Поле9); Представление=""; ПредставлениеТипаДома="д. "; Если СтруктураВозврата.ТипДома=Перечисления.ТипыДомов.Владение Тогда ПредставлениеТипаДома="вл. "; КонецЕсли; ПредставлениеТипаКорпуса="корп. "; Если СтруктураВозврата.ТипКорпуса=Перечисления.ТипыКорпусов.Строение Тогда ПредставлениеТипаКорпуса="стр. "; КонецЕсли; ПредставлениеТипаКвартиры="оф. "; Если СтруктураВозврата.ТипКвартиры=Перечисления.ТипыКвартир.Квартира Тогда ПредставлениеТипаКвартиры="кв. "; КонецЕсли; Представление =СтруктураВозврата.Индекс; Представление =Представление+ ?(ЗначениеЗаполнено(СтруктураВозврата.Страна),", "+СтруктураВозврата.Страна,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Регион),", "+СтруктураВозврата.Регион,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Район),", "+СтруктураВозврата.Район,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Город),", "+СтруктураВозврата.Город,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.НаселенныйПункт),", "+СтруктураВозврата.НаселенныйПункт,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Улица),", "+СтруктураВозврата.Улица,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Дом),", "+ПредставлениеТипаДома+СтруктураВозврата.Дом,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Корпус),", "+ПредставлениеТипаКорпуса+СтруктураВозврата.Корпус,""); Представление =Представление + ?(ЗначениеЗаполнено(СтруктураВозврата.Квартира),", "+ПредставлениеТипаКвартиры+СтруктураВозврата.Квартира,""); СтруктураВозврата.Вставить("Представление",Представление); Иначе СтруктураВозврата.Вставить("Представление",Выборка.Представление); РазложеннаяСтруктура=___РегламентированнаяОтчетностьКлиентСервер.РазложитьАдрес(Выборка.Представление); ЗаполнитьЗначенияСвойств(СтруктураВозврата,РазложеннаяСтруктура); СтруктураВозврата.Вставить("Страна",___РегламентированнаяОтчетностьПовтИсп.ПолучитьНазваниеСтраныПоКоду(СтруктураВозврата.Страна)); СтруктураВозврата.Вставить("Регион",___РегламентированнаяОтчетностьПовтИсп.ПолучитьНазваниеРегионаПоКоду(СтруктураВозврата.Регион)); КонецЕсли; СтруктураВозврата.Вставить("КодРегиона",___РегламентированнаяОтчетностьПовтИсп.КодРегионаПоНазванию(СтруктураВозврата.Регион)); СтруктураВозврата.Вставить("КодСтраны",___РегламентированнаяОтчетностьПовтИсп.КодСтраныПоНазванию(СтруктураВозврата.Страна)); КонецЕсли; СтруктураВозврата.Вставить("Хеш", ___ОбщегоНазначенияКлиентСервер.ПолучитьХешДляДанных(СтруктураВозврата)); Возврат СтруктураВозврата; КонецФункции |
|||
12
pessok
28.10.14
✎
15:22
|
(11) велосипедишь? :)
|
|||
13
H A D G E H O G s
28.10.14
✎
15:23
|
(12) Унифицирую зоопарк от 1С.
|
|||
14
pessok
28.10.14
✎
15:26
|
(13) ну типовой механизм вполне неплохо работает, да и вернет тоже самое...
|
|||
15
13_Mult
28.10.14
✎
15:27
|
(11) Что за партянка ))
|
|||
16
H A D G E H O G s
28.10.14
✎
15:40
|
(14) Нет
|
|||
17
Borteg
28.10.14
✎
15:43
|
(8) хм это мне все поля подряд сувать в эту процедуру и ждать пока не вернется не пустая структура чтоли? и так для областей городов и улиц?
или я чтото не так понял( |
|||
18
pessok
28.10.14
✎
15:51
|
(17) не так понял. записи РС у тебя идут в строгой последовательности:
Поле1 КАК Индекс, Поле2 КАК КодРайона, Поле3 КАК Район, Поле4 КАК Город, Поле5 КАК НасПункт, Поле6 КАК Улица, Поле7 КАК Дом, Поле8 КАК Корпус, Поле9 КАК Квартира, но в р/с они записаны через одно место, а не как по классификатору. Вот получаешь в запросе для города что-то типа Город = Запись.Поле4 а потом через ПолучитьАдресныйЭлемент получаешь нужное тебе сокращение |
|||
19
Borteg
28.10.14
✎
15:57
|
(18) город Москва в рс Контактная информация находится в поле 2, а город реутов находится в поле 3.
|
|||
20
H A D G E H O G s
28.10.14
✎
15:58
|
(19) Москва, Питер и Севастополь - это области :-)
|
|||
21
Borteg
28.10.14
✎
15:59
|
(20) это ты точно подметил) но отдел кадров это не сильно волнует)
|
|||
22
H A D G E H O G s
28.10.14
✎
16:00
|
(18) В Поле2 не КодРайона, а Регион. Строкой.
Коды получайте из Классификаторов. |
|||
23
H A D G E H O G s
28.10.14
✎
16:01
|
(21) Им фиолетово на КЛАДР?
|
|||
24
Borteg
28.10.14
✎
16:02
|
(23) банку надо указать город)) а то что он в кладре регион или область не сильно кого колышет)
|
|||
25
mikecool
28.10.14
✎
16:39
|
(23) как раз не фиолетово, уже как то писал, что зарплатчица при сдаче отчетности захреначила мне левый номер дома по прописке, потому что моего номера дома нет в кладре
|
|||
26
IШаман
28.10.14
✎
16:59
|
Какая однако глубокая проблема - а все от того что кто то не может правильно заполнить классификатор.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |