1с месторождения получить город
Народ подскажите: Программно заполняю справочник "Физические лица". Встрял на моменте, что не пойму как заполнять "Место рождения" у справочника физические лица. Он там хранится как то не понятно.
Можете пример кода привести.
Другой вопрос назрел, а как адреса заполнять программно?(7) Chameleon1980, как программно заполнять место рождения. Там особая структура хранения.
А вот как программно заполнять адреса понять не могу. Кто знает объясните!
что за конфа хоть?что уже есть покажите.
где ошибки, если ругается?
Делаю выгрузку Сотрудников из ЗУП 2.5 в БП 3.0 Подключаюсь к ЗУПу из бухгалтерии Через COMОбъект.
Проблема с адресами возникла. Хрен знает каких программно заполнять вообще
(10) PavelZnaikin, то, что я привёл - (2) - это как раз ЗУП 2.5.если есть какие сомнения с COMОбъект-ом, то проверить можно сначала в самом ЗУП, а потом уже делать так же в БП, через COMОбъект. (10) PavelZnaikin, ну, можно просто текстом, если хотите через классификатор, как положено - придется повозиться, да, там структуру собирать надо. Посмотрите структуру адреса в отладчике.
(10) PavelZnaikin, в Бухне 3.0 Адреса хранятся в табличной части Контактная Информация,
там как раз поле Тип - это перечисление, типа контактной информации, и дальше, вид, представление, значения полей.
а вот в ЗУПе, - адрес, в регистре сведений, "Контактная Информация", там в ресурсах - по полям с 1 по 10 как раз вся эта шляпа и хранится.
Соответственно надо написать, некую конвертацию, чтобы нужные данные из регистра, в нужном формате вписывались в ТЧ.
(13) точно в тч.блин где-то я такую функцию встречал не более чем месяц назад
(13) Boneman, (22) Chameleon1980, в ЗУП 2.5 МестоРождения физлица хранится в одноимённом поле справочника.
заполняться он должен - без каких-либо классификаторов - гляньте в паспорт (свидетельство о рождении - если кто ещё не получил паспорта) свой - там есть поле, с точно таким же названием.
место рождения - это именно место, а не адрес.
чтото вы (вместе с автором) проблему из пальца высосали.
сдается мне что адрес там где-то в рс хранитсяТам вообще интересно форма элемента интересно собирается
блин вот такой адрес: 454077, Челябинская обл, Челябинск г, Хохрякова ул, дом № 2, корпус а, квартира 134
<КонтактнаяИнформация xmlns="http://www.v8.1c.ru/ssl/contactinfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Представление="454077, Челябинская обл, Челябинск г, Хохрякова ул, дом № 2, корпус а, квартира 134"><Комментарий/><Состав xsi:type="Адрес" Страна="РОССИЯ"><Состав xsi:type="АдресРФ"><СубъектРФ>Челябинская обл</СубъектРФ><СвРайМО><Район/></СвРайМО><Город>Челябинск г</Город><НаселПункт/><Улица>Хохрякова ул</Улица><ДопАдрЭл><Номер Тип="2010" Значение="134"/></ДопАдрЭл><ДопАдрЭл><Номер Тип="1050" Значение="а"/></ДопАдрЭл><ДопАдрЭл><Номер Тип="1010" Значение="2"/></ДопАдрЭл><ДопАдрЭл ТипАдрЭл="10100000" Значение="454077"/></Состав></Состав></КонтактнаяИнформация>
может эта в бух3:
// Преобразует контактную информацию в вид XML
//
// Параметры:
// Данные - строка XML, объект XTDO или структура, описывающие контактную информацию.
// В структуре ожидаются поля:
// "ЗначенияПолей" - строка (XML или старый формат ключ-значение) или структура или список значений.
// Если в этом поле передана строка XML, то остальные поля игнорируются
// "ВидКонтактнойИнформации" - СправочникСсылка.ВидыКонтактнойИнформации
// или Перечисление.ТипыКонтактнойИнформации
// "Представление" - строка представления
// "Комментарий" - необязательная строка комментария
//
// Возвращаемое значение - структура с полями:
// ТипКонтактнойИнформации - Перечисление.ТипыКонтактнойИнформации
// ДанныеXML - строка с текстом XML
вот как зовется
Функция ПривестиКонтактнуюИнформациюXML(Знач Данные) Экспорт
вам про адрес говорят. вы бы для начала глянули на бух3
место рождения да - в одноименном реквизите.
А теперь возьмите бух 3. откройте в обычном режиме форму элемента спр. физ. лица.
потом откройте эту форму в конфигураторе. потом найдите мне просто реквизит (не реквизит тч) где лежит адрес физ. лица.
потом возьмите консоль и увидьте же уже, что ажрес физ. лица лежит в одной из тч спр. физ.лица.
Но лефит этот адрес там не совсем в обычном виде.
вообще читали внимательно всю ветку.
прежде чем писать (например я) я лучше посмотрю на реальное.
(25) Chameleon1980, да признаю - про БП я невнимательно смотрел, извините.
более того - я БП 3.0 вообще не смотрел изначально - ограничился только ЗУП 2.5.
НО ! - глянул сейчас БП 3.0.33.20 (ну, какая уж есть) - И ! внимание снова не пойму я вас (всех) - там есть точно такое же поле у справочника Физлица - МестоРождения !
да и ТЧ КонтактнаяИнформация - тоже есть. также как и в ЗУП 2.5 регистр сведений.
я ещё раз спрашиваю (и Вас и автора) - что мешает, поле из ЗУП 2.5 перегрузить в БП 3.0?
про место рождения автор решил. далее пошла речь об адресе.(27) Chameleon1980, да, снова извините - это я пропустил.
но (про адреса) - разве нельзя текст из регистра сведений (ЗУП 2.5) перенести (1:1) в ТЧ (БП 3.0) ?
(29) Salavat, текст (переносить который) достаточно из поля "Представление".
как в РС (ЗУП 2.5), так и в ТЧ (БП 3.0).
Тип и Вид КонтактнойИнформации, да - придётся задавать/корректировать при переносе.
(29) Salavat, ага, из 10 текстовых полей РС, в одно ))) об этом и идет речь )))) консолью гляньте все поля какогонить элемента спр физлица - увидите как все уложеноя не смотрел как хранится в ЗуП 2,5
вроде нет счас ее под рукой - 3,0 есть
я сразу озаботился проблемой автора.
видимо как то понял что в бп30 проблема.
спать пора - 00:30 - завтра посмотрим, что еще автор скажет
в зуп 3,0 очень похоже хранится адрес как и в бух 3,0.
Только, по-моему, я слышал, что вы упомянули, что в 2,5 адрес лежит в РС. Не?
(34) Chameleon1980, да - я же сказал, что из РС в ТЧ перенести небольшая проблема - оба имеют однозначную связь со справочником.
(35) Chameleon1980, Вы не думайте, а попробуйте - всю жизнь (ещё с 7.7 - когда КЛАДР появился) пользуюсь только полем "Представление.
более того скажу - когда адрес вводится "Произвольный", заполняется именно это поле без заполнения каких либо "Город", "Страна". и остальных.
вот и думайте - надо Вам делить или нет.
да, даже если надо (только всёже - попытайтесь себе объяснить - зачем) - переносите поля все:
Поле1 - Страна.
Поле4 - Город.
Поле8 - Дом.
нумерацию, сами проверьте/уточните - я наугад привёл. смысл - Вы сами знаете.
(36) Salavat, представление, перенесется, ты прав, и даже будет отображаться.Только оно представлением и останется. При попытке обращения к полям, например при редактировании, они естественно будут пустые.
У нас, к примеру, есть процедуры, где нужно не все представление, а выборочные поля структуры. И подход, копирования только представления - не устроит.
Если уж заморачиваться с переносом, то делать это качественно.
(38) Boneman, так я и говорю - надо ли Вам (автору) отдельные поля.
приведите примеры - попробуйте.
где я сталкивался (не говорю, что я - сталкивался со всеми ситуациями) - нужен был адрес полностью.
и, опятьже я сказал, что без проблем можно и остальные (отдельные поля) перенести - добавить только несколько (сколько там полей) присваиваний.
что без проблем можно и остальные (отдельные поля) перенести - добавить только несколько (сколько там полей) присваиваний.Ты наверное не понял проблему рассуждений.
Речь об этом и идет, что в регистре сведений - это отдельные поля с названиями поле1, поле2, поле3 и т.п
а в новых конфах, все эти поля, хранятся в определенном свернутом формате в одном служебном поле "значения полей".
Вот и расскажи, раз это не проблема, как и чем это поле сформировать ? Именно это сейчас и выясняем.
Я вот, так сходу не могу этого сказать. Надо копнуть бухию.
(42) Boneman, Да извините - действительно не понял, про что Вы мне говорите, счас глянул - там действительно Полей меньше, и инфа в ТЧ выглядит как показано в (21) .
если надо, то - надо делать.
но я бы реально - для стандартной (бухгалтерии - адрес нужен полностью) работы в БП (для себя лично - если) - сначала узнал бы, нужны ли мне эти заморочки. и (близко к 100% - ненужны сказал бы - ониж в ЗУП есть, если на то пошло).
а уж потом если понадобится (в любое время), то делал бы распределение по полям, как нужно (раз нужно).
с другой стороны - Спасибо, что показали на "ЗначенияПолей" - теперь знаю и про это, если что.
У нас, к примеру, есть процедуры, где нужно не все представление, а выборочные поля структурыесли Вы делаете примерно тоже самое, что и стандартные библиотеки (подбор нужного индекса, выбор нужных улиц для нас.пункта. и т.д.), то естественно без полей - очень тяжело будет.
повторю:
1. мне нужен был всегда адрес полностью (даже поиск на яндекс-карте). говорю - только про себя. и Представления хватало (мне - на 100%, и я не говорю, что я за всех говорю).
2. добавить перенос 11 полей - не такая большая проблема (если вообще это можно так назвать).
не думаю, что достаточно будет только представления.
все перенести нужно попробовать завтра с автором да и все.
Там и будем поглядеть. приветствую автор ветки не я.
Что касается меня - я бы попробовал все поле из рс в зуп перенести в бух3.0
и посмотрел бы результат.
опять же что касается меня - то я стал представлять как хранится эта инфа в бух и зуп.
спасибо за буседу
оО. и вот тут я узнаю, что в зуп 25 это в отдельных полях рс.
я просто вчера смотрел как лежит в зуп 30 - там так-же как и в бух30.
тогда конечно собирать нужно. И вчера я указывал на функцию в бп30 - думаю она собирать умеет - я не пробовал, не делал.
А вообще где у нас автор? :)
это было всегда так - начиная с 7.7 ещё.
сам КЛАДР так устроен.
почему изменилось - видать через "ЗначенияПолей" лучше.
я по себе заметил - КЛАДР появился уж 10 лет как (будет в следующем году), а пользователи - как писали "как хотят" изначально, так и продолжают это.
но - со временем, всёже движение есть.
но тут народ, както не очень заметно (для меня) перешёл на Контактную информацию. тут нужно просто брать и делать (пробовать)
уверен, что если бы у меня была такая задача - она была бы давно решена.
глядите, например. кусок типа:
Структура=Новый Структура;
Структура.Вставить("Город","Челябинск");
Структура.Вставить("Улица","Мамина");
Структура.Вставить("Дом","5");
Структура.Вставить("корпус","б");
Структура.Вставить("Квартира","15");
Результат=УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Структура,,Перечисления.ТипыКонтактнойИнформации.Адрес);
Появилась задача детализировать доставки по населенным пунктам.
Сам адрес чаще всего представлен строкой в произвольном формате. И выдернуть из него город или село проблематично. Иногда его вообще нет, но зато есть координаты места(широта и долгота). Как из 1с получить точный адрес и выдернуть из него населенный пункт? Будем использовать API Google Maps.Для работы с ним нам нужен API key.
Получаем API Key для Google Maps
Для этого нужен аккаунт в Google, если его нет регистрируем.
Переходим на Google Cloud Platform и регистрируем новый проект
Включите нужные API. Для задачи достаточно Geolocation API – Геолокация. Я также добавил построение маршрутов Directions API и Maps Javascript API для размещения Google карт на сайте.
Создаем ключ API . Выбираем API и сервисы -Учетные данные -создать учетные данные ключ API
Ключ создан и чтобы запросы к Api работали нужно к запросу добавить параметр &key=Ваш ключ
Для того чтобы получить информацию о месте на карте по координатам отправляем запрос
для получения данных в формате json и
для получения данных в формате xml.
latlng – координаты(широта, долгота);
language – язык на котором будет ответ;
key- ключ Api google maps
Ответ сервера будет приблизительно такой (json) :
1С Предприятие, конфигурации, обработки, услуги программиста, помощь программиста
Если у Вас одна из типовых конфигураций, то не обязательно делать кучу запросов, чтобы получить сведения об организации или контрагенте, такие, как фактический адрес, ИНН и пр. Достаточно выполнить функцию УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице.
Например, чтобы получить информацию об организации, можно поступить так
СведенияОНашейОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(текдоговор.Организация, ТекущаяДата(),,);
Второй параметр — это дата, на которую программа получает срез последней информации. Ведь контактные данные изменяются во времени.
Таким же образом получаем сведения о Контрагенте, передавая первым аргументом ссылочный тип «Справочники.Контрагенты», или же физическое лицо.
Вот как можно получить информацию о контрагенте.
Функция возврацает структуру, элементы которой содержат наиболее полную информацию о юридическом или физическом лице, чтобы использовать её для вывода на печать из одной только этой структуры. Вот неполный перечень наименований этих полей. Назначение их известно из названия.
- ПолноеНаименование
- ФактическийАдрес
- ЮридическийАдрес
- НомерСчета
- Банк
- МФО
- КодПоЕДРПОУ
- Банк
Пример вывода на печать типичной информации про одну из сторон подписанте договора:
Использован релиз 3.0.70
В программе используется формат адресного классификатора ФИАС (Федеральная информационная адресная система). Формат адресного классификатора КЛАДР (Классификатор адресов Российской Федерации) не используется. В программе возможно загрузить и хранить ФИАС с поддержкой адресов по муниципальному делению.
Загрузка адресного классификатора осуществляется из внешних файлов. Получить эти файлы можно из разных источников, например:
- на сайте 1С:ИТС;
- на официальных сайтах налоговых инспекций (например, сайт Федеральной службы);
- в территориальных отделениях ФНС и ПФР.
Сначала с сайта 1С:ИТС необходимо скачать архив нужного региона (регионов) на жесткий диск компьютера в заранее созданную папку. В папке должны быть файлы вида 01.zip, 02.zip и т.д. Это zip-архив.
ФИАС включает в себя следующие требуемые файлы:
В обоих случаях открывается специальная форма "Загрузка адресного классификатора" (рис. 3). В форме установите флажок на том регионе, который необходимо загрузить. Для загрузки полного классификатора (всех регионов) надо нажать на кнопку "Выбрать все регионы для загрузки". Следует учесть, что чем меньше загружено регионов, тем быстрее произойдет загрузка готового классификатора и тем быстрее будет работать выбор адресных элементов и вычисление почтового индекса. При необходимости в последующем можно дополнить классификатор по регионам, которые не были загружены ранее. Выберите источник загрузки адресного классификатора, установив переключатель на один из возможных вариантов загрузки классификатора:
- С веб-сайта "1С" необходим доступ в Интернет и регистрация на сайте поддержки. Для этого перейдите по ссылке "Подключить интернет-поддержку" и введите свой логин и пароль, который используется на "Портале 1С:ИТС";
- Из "Папки на диске" необходимо выбрать локальный или сетевой путь, по которому располагается корневая папка с классификатором на диске.
Нажмите на кнопку "Загрузить адресные сведения" (рис. 3).
После загрузки классификатора, например, в карточке физического лица в форме ввода адреса для информирования, можно нажать на кнопку "Город, населенный пункт" и выбрать формат для ввода данных (рис. 5)
Читайте также: