Адрес галочка на "Росийский адрес" и показать в физлице

1. kns77 103 15.09.15 12:19 Сейчас в теме
Загружаю данные в адресный классификатор из источника где данные не по кладру. Соответственно после загрузки надо заходить в сотрудника и выставлять галочку что адрес Российский. Прочитал где то что адрес в представлении надо выставить так как будто он сгенерился сам с точностью до запятой. Как это проще сделать ?
Вознаграждение за ответ
Показать полностью
Найденные решения
8. Xershi 1535 15.09.15 13:29 Сейчас в теме
Так все просто делается думаю у вас тоже самое:
ЭтоРоссийскийАдрес = (ПолучитьПредставлениеАдреса(ОбъектРедактирования) = ОбъектРедактирования.Представление);
	Возврат ЭтоРоссийскийАдрес;


// Функция возвращает представление адреса собранного из полей значений Поле1 - Поле10
//
// Параметры
//  НЕТ
//
// Возвращаемое значение:
//   Строка
//
Функция ПолучитьПредставлениеАдреса(Запись) Экспорт

	ТекПредставление = "";
	
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле0), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле1), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле2), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле3), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле4), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле5), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле6), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле7), ", дом № ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле8), ", корпус ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле9), ", кв.");
	
	Если СтрДлина(ТекПредставление) > 2 Тогда
		ТекПредставление = Сред(ТекПредставление, 3);
	КонецЕсли; 
	
	Возврат ТекПредставление;

КонецФункции
Показать


Т.е. если представление не совпало с реквизитами адреса построчно, то адрес не из классификатора.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. konstruktiv 15.09.15 12:38 Сейчас в теме
(1) kns77, КЛАДР же в свободном доступе, откуда необходимость загружать данные из другого источника?
3. kns77 103 15.09.15 12:43 Сейчас в теме
(2) konstruktiv, данные по физлицу загружаю, а не кладр, привязть их к кладру автоматически можно потом, но так как источник очень кривой, то я просто загружаю для того чтобы потом можно было пробежаться и перепривязать нормально к кладр.
4. konstruktiv 15.09.15 12:51 Сейчас в теме
(3) kns77, то есть теоретически загруженный адрес может быть оформлен как угодно, и даже оказаться не российским - и задача в том, что нужно это представление адреса из левого источника привести к виду КЛАДРа? Если так, то при условии "произвольности" исходного представления сделать просто не получится, имхо. Может это не стоит того? и пользоваться только представлением адреса?
5. kns77 103 15.09.15 13:12 Сейчас в теме
(4) konstruktiv, я это и хочу, просто сейчас даже если представление загоняю в базу, при входе в физлица, на адресе пусто, приходится заходить менять галку с "РФ" на "иностранный" или наоборот. тогда появляется и и пересохранять адрес, его тогда становится видно и в физлице. А как эту галку сразу выставить чтобы он проявился непонятно. На мисте и пишут что надо чтобы представление совпадало со сгенеренным, типа того, тогда галочка проставится.
6. AlexPPr 10 15.09.15 13:18 Сейчас в теме
Если Вы предполагаете сдавать отчетность из этой базы в пенсионный и налоговую (2НДФЛ) то данные об адресе физического лица должны соответствовать КЛАДР. Если возможно приведите пример адреса в том формате как он у Вас загружается сейчас.
7. kns77 103 15.09.15 13:29 Сейчас в теме
(6) AlexPPr, я же писал что адрес для загрузки и нужен только для того чтобы его поправить потом можно было ручками по кладр, просто при входе в человека не видно, есть ли вообще у него адрес или его вообще нету. Приходится проваливаться и пережимать галки. А так адрес указан как попало, может быть написано Самара, Ленина, 10, 2, может быть г. Самара, ул. Ленина, дом.10, кв .2. Может быть вообще без запятых, вариантов немеряно. Программно тяжело это все обработать. Я и хочу перенести как есть, а оператор тупо пробежится и проставит как надо.
8. Xershi 1535 15.09.15 13:29 Сейчас в теме
Так все просто делается думаю у вас тоже самое:
ЭтоРоссийскийАдрес = (ПолучитьПредставлениеАдреса(ОбъектРедактирования) = ОбъектРедактирования.Представление);
	Возврат ЭтоРоссийскийАдрес;


// Функция возвращает представление адреса собранного из полей значений Поле1 - Поле10
//
// Параметры
//  НЕТ
//
// Возвращаемое значение:
//   Строка
//
Функция ПолучитьПредставлениеАдреса(Запись) Экспорт

	ТекПредставление = "";
	
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле0), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле1), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле2), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле3), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле4), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле5), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле6), ", ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле7), ", дом № ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле8), ", корпус ");
	ДополнитьПредставлениеАдреса(ТекПредставление, СокрЛП(Запись.Поле9), ", кв.");
	
	Если СтрДлина(ТекПредставление) > 2 Тогда
		ТекПредставление = Сред(ТекПредставление, 3);
	КонецЕсли; 
	
	Возврат ТекПредставление;

КонецФункции
Показать


Т.е. если представление не совпало с реквизитами адреса построчно, то адрес не из классификатора.
9. kns77 103 15.09.15 13:44 Сейчас в теме
(8) Xershi, думаю это то что нужно
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот