Вход | Регистрация


1С:Предприятие ::

Метки: 

Заполнить адрес в справочнике физические лица

Я
   ASparrow
 
15.01.18 - 04:24
Здравствуйте.

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

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

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

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

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

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

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

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

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

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

    Запрос = Новый Запрос;
    
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ГОД(КонтактнаяИнформацияПациентов.Период) КАК Год,
    |    КонтактнаяИнформацияПациентов.Период КАК Период,
    |    КонтактнаяИнформацияПациентов.Пациент КАК Пациент,
    |    КонтактнаяИнформацияПациентов.Тип КАК Тип,
    |    КонтактнаяИнформацияПациентов.Вид КАК Вид,
    |    КонтактнаяИнформацияПациентов.Представление КАК Представление,
    |    КонтактнаяИнформацияПациентов.ЗначенияПолей КАК ЗначенияПолей
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформацияПациентов КАК КонтактнаяИнформацияПациентов
    |ГДЕ
    |    (КонтактнаяИнформацияПациентов.Пациент = &Пациент
    |            ИЛИ &Пациент = ЗНАЧЕНИЕ(Справочник.Пациенты.ПустаяСсылка))";
    //|    И ГОД(КонтактнаяИнформацияПациентов.Период) = &Год

    //|    И НЕ КонтактнаяИнформацияПациентов.ЗначенияПолей ПОДОБНО &ЗначенияПолей";

    
    Запрос.УстановитьПараметр("ЗначенияПолей","<%");
    Запрос.УстановитьПараметр("Пациент",Пациент);
    Запрос.УстановитьПараметр("Год",лГод);
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
            //Если УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(Выборка.ЗначенияПолей) Тогда

            //    //ЗначенияПолей = ВыборкаПоАдресам.ЗначенияПолей;

            //    УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(

            //Иначе

                
                ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(Выборка.Представление,Выборка.Вид);
                
                //УправлениеКонтактнойИнформацией.ПроверитьКонтактнуюИнформацию(Выборка.Представление,ЗначенияПолей,Выборка.Вид,Выборка.Тип,"");

                
                МенеджерЗаписи = РегистрыСведений.КонтактнаяИнформацияПациентов.СоздатьМенеджерЗаписи();
                
                ЗаполнитьЗначенияСвойств(МенеджерЗаписи,Выборка);
                
                МенеджерЗаписи.Прочитать();
                
                Если МенеджерЗаписи.Выбран() Тогда
                    
                    МенеджерЗаписи.ЗначенияПолей = ЗначенияПолей;
                    
                    МенеджерЗаписи.Записать(Истина);
                    
                КонецЕсли;
                
            //КонецЕсли;

        //ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Выборка.ЗначенияПолей,Выборка.Представление,Выборка.Вид);

        
        //Если ЗначенияПолей <> Выборка.ЗначенияПолей Тогда

        //    

        //    МенеджерЗаписи = РегистрыСведений.КонтактнаяИнформацияПациентов.СоздатьМенеджерЗаписи();

        //    

        //    ЗаполнитьЗначенияСвойств(МенеджерЗаписи,Выборка);

        //    

        //    МенеджерЗаписи.Прочитать();

        //    

        //    Если МенеджерЗаписи.Выбран() Тогда

        //        

        //        МенеджерЗаписи.ЗначенияПолей = ЗначенияПолей;

        //        

        //        МенеджерЗаписи.Записать(Истина);

        //        

        //    КонецЕсли;

        //    

        //КонецЕсли;

        
    КонецЦикла;
    
    
    
    
    
КонецПроцедуры
   patya
 
26 - 16.01.18 - 07:27
(24)
> На двух языках
> с учетом многонациональной России 

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

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

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

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

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



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует