Имя: Пароль:
1C
1С v8
Заполнить адрес в справочнике физические лица
, , ,
0 ASparrow
 
15.01.18
04:24
Здравствуйте.

Подскажите пожалуйста код для 1с8.3, как в справочник "Физические лица" внести адрес, так, чтобы он красиво согласовался с ранее загруженным КЛАДРом.

Спасибо.
1 Aleksey
 
15.01.18
04:48
издеваешься?
2 Aleksey
 
15.01.18
04:50
Куча конфигурация на 8.3 и в каждой уникальное заполнения этих адресов
Где то адреса хранятся в РС, гдето в ТЧ
В одной конфигурации в XML в другой просто текстовые поля
В четвертой вообще строкой через запятую.

И что ты хочешь услышать?

P.S и да последнее веяние уход от кладр так как с этого года кладр больше не поддерживается
3 Альбатрос
 
15.01.18
04:53
"P.S и да последнее веяние уход от кладр так как с этого года кладр больше не поддерживается"

Можно ссылку?
4 Balabass
 
15.01.18
05:12
(3) +1
5 Balabass
 
15.01.18
05:13
6 ASparrow
 
15.01.18
05:28
Нет. Не издеваюсь.
БУ 3.0.52.39
7 DrZombi
 
гуру
15.01.18
05:44
(0) Что бы красиво согласовался, надо его красиво изначально заводить, а не в произвольном формате :)
8 DrZombi
 
гуру
15.01.18
05:53
КЛАДР to ФИАС ... а фиас куда интересней :)
https://habrahabr.ru/company/hflabs/blog/333736/
9 ASparrow
 
16.01.18
02:29
(7) Допустим он хорошо заведён. КЛАДРом, ФИАСом... как угодно. Как программно адрес ввести в справочник физлица?
10 Gbpltw
 
16.01.18
03:07
(9) телепат.длл не подключен...
в какую конфигурацию, например?
11 Gbpltw
 
16.01.18
03:10
(10) не БУ, а БП наверное... откуда брать адрес?
и вообще Андрей, позовите специалиста (с)
p.s. Привет из Комсомольска-на-Амуре )
12 ASparrow
 
16.01.18
04:50
(11) Да. БП. Адрес считывается из файла текстового:
Фамилия И.О.;г. Город, ул. Улица, д. 122, кв. 500;

Допустим он считан и данные внесены в переменные.
Можно из переменной адрес внести в базу программно языком 1с?
13 Злопчинский
 
16.01.18
05:35
(12) можно
14 ASparrow
 
16.01.18
05:37
(13) Только не знаете как?
15 patya
 
16.01.18
06:41
(14) И следущая фраза должна быть таким надменно-разочарованным тоном - "а говорили, что это форум специалистов!"
16 DrZombi
 
гуру
16.01.18
07:00
(9) Вы не догоняете, в налоговой изменился формат, ваш кладр никому не нужен :)
И вас заставят сдавать адреса в формате ФИАС
17 DrZombi
 
гуру
16.01.18
07:00
(14) Знаем, но нам то зачем?
18 DrZombi
 
гуру
16.01.18
07:01
+(14) 3000 р / час - устроит? :)
19 DrZombi
 
гуру
16.01.18
07:02
(15) Специалистов, а не сделайте мне даром :)
20 RomaH
 
naïve
16.01.18
07:04
ща все будет
21 Emery
 
16.01.18
07:06
(2) > Куча конфигурация на 8.3 и в каждой уникальное заполнения этих адресов
> Где то адреса хранятся в РС, гдето в ТЧ
> В одной конфигурации в XML в другой просто текстовые поля
> В четвертой вообще строкой через запятую.

Я решил увеличить это разнообразие. У меня адреса в физлицах хранятся так:

http://emery-emerald.narod.ru/Pics/Address.png
22 RomaH
 
naïve
16.01.18
07:09
ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(Выборка.Представление,Выборка.Вид);
23 RomaH
 
naïve
16.01.18
07:10
но г. Город - оно будет в свободной форме
нужно правильное представление
Город г, Улица ул
24 Emery
 
16.01.18
07:15
(21) > Добавлю еще, что ФИО у меня хранятся на двух языках, что, как мне кажется, с учетом многонациональной России надо бы применять везде.

http://emery-emerald.narod.ru/Pics/FamIO.png
25 RomaH
 
naïve
16.01.18
07:17
скажем так - я вот так преобразовывал:
процентов 30 выпало в свободной форме, но в основном из-за устаревших адресов
где-то индекс не тот, где-то тип сменился (поселок - рабочий поселок)

&НаСервереБезКонтекста
Процедура КомандаПреобразоватьНаСервере(Знач Пациент, Знач лГод)

    Запрос = Новый Запрос;
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ГОД(КонтактнаяИнформацияПациентов.Период) КАК Год,
    |    КонтактнаяИнформацияПациентов.Период КАК Период,
    |    КонтактнаяИнформацияПациентов.Пациент КАК Пациент,
    |    КонтактнаяИнформацияПациентов.Тип КАК Тип,
    |    КонтактнаяИнформацияПациентов.Вид КАК Вид,
    |    КонтактнаяИнформацияПациентов.Представление КАК Представление,
    |    КонтактнаяИнформацияПациентов.ЗначенияПолей КАК ЗначенияПолей
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформацияПациентов КАК КонтактнаяИнформацияПациентов
    |ГДЕ
    |    (КонтактнаяИнформацияПациентов.Пациент = &Пациент
    |            ИЛИ &Пациент = ЗНАЧЕНИЕ(Справочник.Пациенты.ПустаяСсылка))";
    //|    И ГОД(КонтактнаяИнформацияПациентов.Период) = &Год
    //|    И НЕ КонтактнаяИнформацияПациентов.ЗначенияПолей ПОДОБНО &ЗначенияПолей";
    
    Запрос.УстановитьПараметр("ЗначенияПолей","<%");
    Запрос.УстановитьПараметр("Пациент",Пациент);
    Запрос.УстановитьПараметр("Год",лГод);
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
            //Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(Выборка.ЗначенияПолей) Тогда
            //    //ЗначенияПолей = ВыборкаПоАдресам.ЗначенияПолей;
            //    УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(
            //Иначе
                
                ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(Выборка.Представление,Выборка.Вид);
                
                //УправлениеКонтактнойИнформацией.ПроверитьКонтактнуюИнформацию(Выборка.Представление,ЗначенияПолей,Выборка.Вид,Выборка.Тип,"");
                
                МенеджерЗаписи = РегистрыСведений.КонтактнаяИнформацияПациентов.СоздатьМенеджерЗаписи();
                
                ЗаполнитьЗначенияСвойств(МенеджерЗаписи,Выборка);
                
                МенеджерЗаписи.Прочитать();
                
                Если МенеджерЗаписи.Выбран() Тогда
                    
                    МенеджерЗаписи.ЗначенияПолей = ЗначенияПолей;
                    
                    МенеджерЗаписи.Записать(Истина);
                    
                КонецЕсли;
                
            //КонецЕсли;
        //ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Выборка.ЗначенияПолей,Выборка.Представление,Выборка.Вид);
        
        //Если ЗначенияПолей <> Выборка.ЗначенияПолей Тогда
        //    
        //    МенеджерЗаписи = РегистрыСведений.КонтактнаяИнформацияПациентов.СоздатьМенеджерЗаписи();
        //    
        //    ЗаполнитьЗначенияСвойств(МенеджерЗаписи,Выборка);
        //    
        //    МенеджерЗаписи.Прочитать();
        //    
        //    Если МенеджерЗаписи.Выбран() Тогда
        //        
        //        МенеджерЗаписи.ЗначенияПолей = ЗначенияПолей;
        //        
        //        МенеджерЗаписи.Записать(Истина);
        //        
        //    КонецЕсли;
        //    
        //КонецЕсли;
        
    КонецЦикла;
    
    
    
    
    
КонецПроцедуры
26 patya
 
16.01.18
07:27
(24)
> На двух языках
> с учетом многонациональной России

На русском и на не русском. Идеально.
27 mistеr
 
16.01.18
08:17
(14) В общем-то, в (8) все расписано.
28 DrZombi
 
гуру
16.01.18
08:26
(26) А если будет 3 - 4 языка? :)
29 Emery
 
16.01.18
10:10
(28) > Национальный язык это язык национальности, а национальность у человека одна.
30 patya
 
16.01.18
10:15
(29) Беда в том, что людей много.
31 LienXo
 
16.01.18
10:19
В очередной раз упомяну сервис дадата. Блин чую отгребу по башке за рекламу. Там как раз действует функционал распознования из свободного формата адреса и преобразования его в узаконенный... Себе рисовал под задачу - понравилось.
32 NikVars
 
16.01.18
10:20
(29) Даладно! Даже цари меняли свою "национальность".
33 Скиурус
 
16.01.18
10:55
(0) Открыаешь общий модель УправлениеКонтактнойИнформацией или УправлениеКонтактнойИнформациейКлиентСервер в своей конфигурации и начинаешь разбираться. В разных версиях БСП это по-разному делалось. Но вообще начни с функции СтруктураПолейАдреса
34 d4rkmesa
 
16.01.18
11:57
(0) Скорее всего, корректно залить адреса в БП так, чтобы на 100% совпадали с ФИАС (ориентируемся ведь на актуальный классификатор?) будет довольно сложно(т.е. можно добиться, чтобы 90-95% адресов проходили проверку с галочкой "Проверить заполнение" - но это при условии что они не одной строкой в источнике). Другое дело, что 1С-ский формат адресов, в том числе проверенный БСП <> ФИАС. Где то натыкался, что сама 1С рекомендует проверять адреса на сайте ФНС России. Еще больше путает необходимость соответствия юр. адресов ЕГРЮЛ. В итоге получается этакий винегрет. Так что нужно исходить из задачи. Где-то может лучше сделать параллельную систему хранения адресной информации в формате "более строгого ФИАС"(мы так сделали для "Меркурия"). Для упрощения заполнения интегрировать с сервисов, вроде вышеупомянутого.
35 NikVars
 
16.01.18
13:15
(34) http://www.garant.ru/consult/nalog/1142958/
В конце текста:
"Принимая во внимание общие стандарты информационной адресной системы и разъяснения Минфина России, приходим к выводу, что с 1 октября 2017 года адрес продавца и покупателя в счете-фактуре может быть указан как в строгом соответствии с приведенными в ЕГРЮЛ сведениями (без указания "Российская Федерация" и без сокращений наименований адресообразующих элементов), так и с применением общепринятых сокращений и с включением в состав адреса слов "Российская Федерация".
Обращаем внимание, что сказанное является нашим экспертным мнением, которое может отличаться от мнения контролирующих органов.
Поскольку на сегодняшний день официальные комментарии по данному вопросу отсутствуют, ........"
В общем, твое мнение тоже может отличаться от...
36 Emery
 
16.01.18
13:39
(30) > Беда в том, что людей много.

Ну и какие проблемы? Монголу пишем монгольское имя, на монгольском языке, принявшему российское гражданство великобританцу, на великобританском языке, аналогичному нидерландцу на нидерландском языке, соответственно, американцу на американском языке :) .

(32) > Даладно! Даже цари меняли свою "национальность".

Речь не идет о национальности, когда вернут «пятую» графу, тогда и мы отразим это в учете. А сейчас говориться о фактическом наличии у граждан (за исключением русских, по национальности) двух вариантов написания имен, на русском языке и на национальном языке. Человек поменял фамилию, в ERP для отражения этого изобрели даже целую пушку для стрельбы по воробьям. Т.е. какие проблемы отслеживать периодичность изменения имен и фамилий? Только вместо пушек можно использовать более легкие инструменты. Например, в истории отчетов сохранять не ссылку на имя, а его значение. Тогда старый отчет будет содержать старое имя, а новый новое.
37 d4rkmesa
 
16.01.18
14:56
(35) Не буду развивать холивар на тему адресов ЕГРЮЛ. В общем, если клиент хочет адрес в нужном ему формате, ему нужно этот адрес предоставить, так это работает при капитализме. Кого-то удовлетворят минимальные изменения, вроде добавления региона в адрес или замена нумерации домов вроде "1Б" на "1 корпус Б". В итоге, адресная информация может быть в самых разных форматах: произвольном, КЛАДР, "типа ФИАС" от 1С из БСП, ФИАС с guid'ами и т.д.. Тут уж ТС'у бы определиться чего он хочет.
38 ASparrow
 
17.01.18
04:49
А если не учитывать проверку ФИАС? Просто внести адресную информацию. Ведь где-то она хранится? Если в режиме предприятия в форме ввести адрес, это же запомнится в базе. Как это в коде делается?
39 Asakra
 
17.01.18
05:13
(38) см. свою конфигурацию, везде по разному.
выбрать * из Справочник.ФизическиеЛица.КонтактнаяИнформация
хз. чего у тебя там...

посмотри как хранится, станет понятно, как записывать...
40 Aleksey
 
17.01.18
06:42
(38) посмотреть через отладчик как твоя конфигурация сохраняет не предлагать?
41 ASparrow
 
17.01.18
12:00
Да. Попробую так (39) и так (40)
Спасибо.
Закон Брукера: Даже маленькая практика стоит большой теории.