|
Проверка соответствия адресов КЛАДР | ☑ | ||
---|---|---|---|---|
0
slaaay
05.10.12
✎
09:34
|
Есть ли такая обработка?
|
|||
1
slaaay
05.10.12
✎
09:35
|
для 8, извините не написал...
|
|||
2
dva1c
05.10.12
✎
09:35
|
(0) Соответствия - чему?
|
|||
3
slaaay
05.10.12
✎
09:36
|
ну вот есть адреса, коряво вбитые, надо проверить соответсвие с КЛАДР.
|
|||
4
slaaay
05.10.12
✎
09:36
|
мне не саму обработку, а хотя бы принцип сравнения.
|
|||
5
Aleksey
05.10.12
✎
09:36
|
(3) А что встроенной процедуры не достаточно?
|
|||
6
Aleksey
05.10.12
✎
09:37
|
(4) Открой типовую и посмотри
|
|||
7
dva1c
05.10.12
✎
09:38
|
+(6) все верно. Смотри в типовой.
|
|||
8
Aleksey
05.10.12
✎
09:39
|
например БП
СтруктураАдресаДляПроверки = РегламентированнаяОтчетность.РазложитьАдрес(ДанныеФизЛица.АдресРФ); Если Не РегламентированнаяОтчетность.АдресСоответствуетТребованиям(СтруктураАдресаДляПроверки) Тогда СтрОшибки = СтрОшибки + Символы.ПС + Символы.Таб + " - указанный адрес регистрации не соответствует требованиям ФНС! Возможно, в адресе присутствуют латинские или недопустимые символы"; КонецЕсли; |
|||
9
dva1c
05.10.12
✎
09:43
|
...или, например ЗуП
Если ЗначениеЗаполнено(ДанныеФизЛица.АдресРФ) Тогда СтруктураАдресаДляПроверки = РегламентированнаяОтчетность.РазложитьАдрес(ДанныеФизЛица.АдресРФ); Если ПустаяСтрока(СтруктураАдресаДляПроверки.Индекс) тогда СтрОшибки = СтрОшибки + Символы.ПС + Символы.Таб + " - в адресе регистрации не указан индекс!"; СтруктураАдресаДляПроверки.Индекс = "000000"; КонецЕсли; Если Не РегламентированнаяОтчетность.АдресСоответствуетТребованиям(СтруктураАдресаДляПроверки) Тогда СтрОшибки = СтрОшибки + Символы.ПС + Символы.Таб + " - указанный адрес регистрации не соответствует требованиям ФНС! Возможно, в адресе присутствуют латинские или недопустимые символы"; КонецЕсли; КонецЕсли; Если ЗначениеЗаполнено(ДанныеФизЛица.АдресЗарубежом) Тогда СтруктураАдреса = УправлениеКонтактнойИнформацией.ПолучитьСтруктуруАдресаИзСтроки(ДанныеФизЛица.АдресЗарубежом); Если Не ОбщегоНазначения.ТолькоЦифрыВСтроке(СоответствиеИменСтран[СтруктураАдреса.Страна]) Тогда СтрОшибки = СтрОшибки + Символы.ПС + Символы.Таб + " - неверно указана страна проживания нерезидента (возможно, не заполнен справочник ""Классификатор стран мира"")!"; КонецЕсли; КонецЕсли; |
|||
10
Aleksey
05.10.12
✎
09:44
|
Аналогично, я просто про индексы вырезал
|
|||
11
slaaay
05.10.12
✎
09:47
|
ДанныеФизЛица.АдресРФ соответствует РегистрыСведений.КонтактнаяИнформация.Представление?
|
|||
12
dva1c
05.10.12
✎
09:53
|
(10) Поэтому и привел свой пример, чтобы показать (0), что все делается по аналогии.
|
|||
13
dva1c
05.10.12
✎
09:54
|
(11) Да. Все так.
|
|||
14
tomvlad
05.10.12
✎
10:01
|
(0) Обработка "Технологический анализ учета для конфигурации 1С:Зарплата и Управление персоналом" включает 30 проверок различных разделов учета, в т.ч. и проверку соответствия адресов КЛАДР и более 10 инструментов для исправления наиболее типичных ошибок, в т.ч. и обновление КЛАДР по загруженным в информационную базу регионам.
http://o-systems.ru/soft/?ELEMENT_ID=150 Можно воспользоваться и бесплатной обработкой (более ранняя версия одного из инструментов, входящих в Технологический анализ учета) - http://infostart.ru/public/70463/ |
|||
15
dva1c
05.10.12
✎
10:03
|
(14) Это реклама? О_о
|
|||
16
slaaay
05.10.12
✎
10:16
|
Ещё один вопрос ребят. Почему он в поле Страна берет индекс и в условии если Индекс > 3 Тогда не правильный адрес...
|
|||
17
slaaay
05.10.12
✎
10:19
|
ТО есть индекс по классификатору должен быть не больше 3 символов?
|
|||
18
slaaay
05.10.12
✎
10:33
|
Не правильно раскладывает он адрес...
РегламентированнаяОтчетность.РазложитьАдрес(ДанныеФизЛица.АдресРФ) вот здесь вот |
|||
19
dva1c
05.10.12
✎
10:43
|
(18) Не совсем понятно про какие 3-и символа ты пишешь?
МассивАдрес = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СтрокаАдрес); ЭлементовВМассиве = МассивАдрес.Количество(); Если ЭлементовВМассиве > 0 тогда Страна = СокрЛП(МассивАдрес[0]); КонецЕсли; Если ЭлементовВМассиве > 1 тогда Индекс = СокрЛП(МассивАдрес[1]); КонецЕсли; Если ЭлементовВМассиве > 2 тогда Регион = СокрЛП(МассивАдрес[2]); КонецЕсли; Если ЭлементовВМассиве > 3 тогда Район = СокрЛП(МассивАдрес[3]); КонецЕсли; Если ЭлементовВМассиве > 4 тогда Город = СокрЛП(МассивАдрес[4]); КонецЕсли; Если ЭлементовВМассиве > 5 тогда НаселенныйПункт = СокрЛП(МассивАдрес[5]); КонецЕсли; Если ЭлементовВМассиве > 6 тогда Улица = СокрЛП(МассивАдрес[6]); КонецЕсли; Если ЭлементовВМассиве > 7 тогда Дом = СокрЛП(МассивАдрес[7]); КонецЕсли; Если ЭлементовВМассиве > 8 тогда Корпус = СокрЛП(МассивАдрес[8]); КонецЕсли; Если ЭлементовВМассиве > 9 тогда Квартира = СокрЛП(МассивАдрес[9]); КонецЕсли; //Расширенное представление Если ЭлементовВМассиве > 10 тогда ТипДома = СокрЛП(МассивАдрес[10]); КонецЕсли; Если ЭлементовВМассиве > 11 тогда ТипКорпуса = СокрЛП(МассивАдрес[11]); КонецЕсли; Если ЭлементовВМассиве > 12 тогда ТипКвартиры = СокрЛП(МассивАдрес[12]); КонецЕсли; СтруктураВозврата = Новый Структура; СтруктураВозврата.Вставить("Страна",Страна); СтруктураВозврата.Вставить("Индекс",Индекс); СтруктураВозврата.Вставить("Регион",Регион); СтруктураВозврата.Вставить("Район",Район); СтруктураВозврата.Вставить("Город",Город); СтруктураВозврата.Вставить("НаселенныйПункт",НаселенныйПункт); СтруктураВозврата.Вставить("Улица",Улица); СтруктураВозврата.Вставить("Дом",Дом); СтруктураВозврата.Вставить("Корпус",Корпус); СтруктураВозврата.Вставить("Квартира",Квартира); СтруктураВозврата.Вставить("ТипДома",ТипДома); СтруктураВозврата.Вставить("ТипКорпуса",ТипКорпуса); СтруктураВозврата.Вставить("ТипКвартиры",ТипКвартиры); |
|||
20
dva1c
05.10.12
✎
10:46
|
+(19) Функция РазложитьАдрес расположена в ОбщемМодуле. В коментах встречается такое:
//Функция раскладывает строку с данными об адресе (в формате 9 запятых) на элементы структуры Про какие 3-и символа ты пишешь? |
|||
21
slaaay
05.10.12
✎
10:47
|
Он не правильно адрес раскладывает:
в поле Страна попадает например 480683 в поле Индекс попадает например Респ Башкортостан |
|||
22
dva1c
05.10.12
✎
10:49
|
(21) "Он" - это кто? Пиши конфу и версию.
|
|||
23
slaaay
05.10.12
✎
10:53
|
РегламентированнаяОтчетность.РазложитьАдрес(ДанныеФизЛица.АдресРФ) вот кто
конфа КА 25.2 |
|||
24
dva1c
05.10.12
✎
11:19
|
(23) Если конфа не "перепаханная", то должно быть нормально. Смотри, как заполняются реквизиты из обработки "РедактированиеКонтактнойИнформации".
Другими словами, F11 и отладка тебе в помощь. PS если нет такой обработки, то смотри: как заполняются реквизиты или раскладывается строка. |
|||
25
dva1c
05.10.12
✎
11:42
|
+(24) Вот как выглядит эта обработка http://s58.radikal.ru/i161/1210/c1/9f9b60d5557c.jpg
|
|||
26
slaaay
05.10.12
✎
11:50
|
конфа не перепаханная...ну вот у тебя на картинке где поле страна?
|
|||
27
dva1c
05.10.12
✎
11:59
|
(26) Поле страна - нет. Там, как ты видишь, переключатель: "Российский адрес", "Адрес за пределами РФ".
|
|||
28
slaaay
05.10.12
✎
12:54
|
ну а он раскладывает адрес и берет поле страна как индекс и ещё на него ругается
|
|||
29
Aleksey
05.10.12
✎
17:17
|
(28) Бывает если в адресе стоят ",", например пишут дом №9, кв.5
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |