1с месторождения получить город
"Доброго времени суток.
Сделал простенький отчет. и возникла маленькая проблема.
Кусок кода:
АдрПродовца = СведенияОбОрганизации.ЮридическийАдрес;
Он мне выводит. Полный адрес с городом и индексом. (без страны)
Как бы вывести только Страна + город и все. Заранее спасибо, и сори за глупый вопрос)"
Посмотрите функцию РазложитьАдрес() в общем модуле РегламентированнаяОтчетность и ее использование.
так и хочется взять красную ручку и поставить какую-нибудь оценку.
отпишитесь хоть - получилось или нет.
> так и хочется взять красную ручку и поставить какую-нибудь оценку.
так оценка без вариантов!
Саш, ты по образованию училка чтоли?
Мехмат, прикладная математика. Но это не мешает пытаться заставить Владимира писать хоть чуточку правильнее. Это в этой теме он не многословен, а обычно. трудно его расшифровывать и добиваться реакции на ответы.
"Ок Ок я буду стараться, писать правильно и грамотно ;)
Вывести 1 город получилось. Но к этому надо добавить еще страну, страну пока - нет."
а что со страной? элемент структуры "страна" или, если он пустой, то - Россия
Читают тему:
Мероприятия
- Где купить СОФТ
- Вакансии фирм-партнеров "1С"
- Центры Сертифицированного Обучения
- Интернет курсы обучения "1С"
- Самоучители
- Учебный центр № 1
- Учебный центр № 3
- Сертификация по "1С:Профессионал"
- Организация обучения под заказ
- Книги по 1С:Предприятию
При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.
Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.
Редакция уважает мнение авторов, но не всегда разделяет его.
Дизайн сайта
Мы используем файлы cookie, чтобы анализировать трафик, подбирать для вас подходящий контент и рекламу, а также дать вам возможность делиться информацией в социальных сетях. Если вы продолжите использовать сайт, мы будем считать, что вас это устраивает.
Народ подскажите: Программно заполняю справочник "Физические лица". Встрял на моменте, что не пойму как заполнять "Место рождения" у справочника физические лица. Он там хранится как то не понятно.
Можете пример кода привести.
(7) Chameleon1980, как программно заполнять место рождения. Там особая структура хранения.
А вот как программно заполнять адреса понять не могу. Кто знает объясните!
Делаю выгрузку Сотрудников из ЗУП 2.5 в БП 3.0 Подключаюсь к ЗУПу из бухгалтерии Через COMОбъект.
Проблема с адресами возникла. Хрен знает каких программно заполнять вообще
(10) PavelZnaikin, то, что я привёл - (2) - это как раз ЗУП 2.5.
если есть какие сомнения с COMОбъект-ом, то проверить можно сначала в самом ЗУП, а потом уже делать так же в БП, через COMОбъект.
(10) PavelZnaikin, ну, можно просто текстом, если хотите через классификатор, как положено - придется повозиться, да, там структуру собирать надо. Посмотрите структуру адреса в отладчике.
(10) PavelZnaikin, в Бухне 3.0 Адреса хранятся в табличной части Контактная Информация,
там как раз поле Тип - это перечисление, типа контактной информации, и дальше, вид, представление, значения полей.
а вот в ЗУПе, - адрес, в регистре сведений, "Контактная Информация", там в ресурсах - по полям с 1 по 10 как раз вся эта шляпа и хранится.
Соответственно надо написать, некую конвертацию, чтобы нужные данные из регистра, в нужном формате вписывались в ТЧ.
(13) Boneman, (22) Chameleon1980, в ЗУП 2.5 МестоРождения физлица хранится в одноимённом поле справочника.
заполняться он должен - без каких-либо классификаторов - гляньте в паспорт (свидетельство о рождении - если кто ещё не получил паспорта) свой - там есть поле, с точно таким же названием.
место рождения - это именно место, а не адрес.
чтото вы (вместе с автором) проблему из пальца высосали.
сдается мне что адрес там где-то в рс хранится
Там вообще интересно форма элемента интересно собирается
блин вот такой адрес: 454077, Челябинская обл, Челябинск г, Хохрякова ул, дом № 2, корпус а, квартира 134
может эта в бух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?
Очень часто необходимо получать актуальные кадровые данные как для одного сотрудника, так и для списка сотрудников. Конечно же мы можем просто написать свой запрос и получить эти данные, но очень часто, после изменения структуры регистров, запрос перестает работать. Кроме того, для получения некоторых данных необходимо писать большие запросы в несколько сотен строк, особенно если необходимо получить данные для списка сотрудников. Поэтому лучше воспользоваться тем функционалом, который для нас создали разработчики библиотеки стандартных подсистем.
В данной статье рассматриваются только способы получения кадровой информации для сотрудников и физических лиц. Описанным способом можно получить следующую кадровую информацию: кадровые данные сотрудников (дата приема, текущее подразделение, должность, работает сотрудник, находится в отпуске или же на больничном), кадровые данные физических лиц (ФИО, информация о стаже, образовании и т.д.) и данные о начислениях.
Все примеры проверены на конфигурации ЗУП 3.1.10.135, версия 1C БСП 3.0.3.59.
Получение информации для одного сотрудника или физического лица
Рассмотрим получение текущей фамилии для сотрудника Боровой Дмитрий Валентинович. Для наглядности добавим ему в историю изменения ФИО фамилию Бонд и изменим отчество.
Для получения кадровой информации используется общий модуль КадровыйУчет. Для получения кадровых данных физических лиц используется функция КадровыеДанныеФизическихЛиц. Более подробно о принимаемых параметрах вы можете в описании к функции. Для нас важен параметр СписокФизическихЛиц, куда мы передаем ссылку на физическое лицо или массив ссылок на физические лица, параметр КадровыеДанные, в котором указываются те кадровые данные, которые мы хотим получить и параметр ДатаПолученияДанных – дата, на которую мы получаем данные.
Видов кадровых данных, которые мы можем получить, очень много, поэтому мы рассмотрим только несколько из них.
Чтобы узнать какие кадровые данные можно получить с помощью данной функции вы можете обратиться к описанию функции КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеФизическихЛиц.
Если мы выполним этот код, то получим следующую строку:
Т.е. функция нам вернет фамилию актуальную в период с 30.11.2019 по 01.01.2020. Если же указать дату получения данных не из этого периода, то функция вернет другую фамилию.
Кроме того, у данной функции есть еще один параметр, с помощью которого мы можем накладывать дополнительные отборы – ПоляОтбораПериодическихДанных. В данном параметре указывается коллекция отборов. Для примера мы можем наложить отбор на отчество:
В результате получим строку:
Т.е. мы получили другую фамилию, используя одну и ту же дату.
Для получения кадровых данных сотрудников используется функция КадровыеДанныеСотрудников из того же модуля. И, по аналогии, чтобы узнать список возможных кадровых данных можно посмотреть описание функции КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеСотрудников.
Для получения кадровой информации по списку сотрудников или списку физлиц можно использовать эти же функции. Только вместо ссылки на физическое лицо в параметр СписокФизическихЛиц передается массив физических лиц, а в параметр СписокСотрудников – массив сотрудников.
Получение информации для списка сотрудников с использованием временных таблиц
Иногда гораздо удобнее не получать данные в промежуточных переменных, а формировать временные таблицы и использовать эти временные таблицы в одном запросе. Для этого мы можем использовать функции СоздатьНаДатуВТКадровыеДанныеСотрудников и СоздатьНаДатуВТКадровыеДанныеФизическихЛиц из общего модуля КадровыйУчет. Данные функции отличаются тем, что не возвращают таблицу кадровых данных, а формируют временную таблицу в менеджере временных таблиц.
Для демонстрации можно использовать данный код.
После выполнения данного кода мы получим таблицу кадровых данных следующего вида:
В данном примере мы сначала подготовили кадровые данные сотрудника и кадровые данные физического лица во временных таблицах, и затем использовали их в одном запросе.
Получение кадровой информации для списка сотрудников на разные даты
Кроме получения кадровых данных на конкретную дату очень часто бывает нужно получить кадровые данные на разные даты. Это бывает нужно, например, в случае печати нескольких документов с разными датами. Когда для каждого документа на разные даты нужно получать отдельную кадровую информацию. Так как в цикле запросы выполнять не хорошо, то нужно сформировать один запрос сразу для всех документов. Для этого можно использовать функции ЗапросВТКадровыеДанныеФизическихЛиц и ЗапросВТКадровыеДанныеСотрудников все из того же общего модуля КадровыйУчет.
Для примера используем все того же сотрудника Борового Дмитрия Валентиновича и его таблицу изменения ФИО.
Чтобы продемонстрировать как работают данные функции подготовим таблицу физических лиц, которая содержит список физических лиц и дат. В нашем примере физическое лицо будет одно, но мы добавим несколько дат:
Во временной таблице будет три строки с разными датами.
Далее формируем описание нашей временной таблицы с физическими лицами:
Если колонка, содержащая ссылки на физические лица, будет называться не ФизическоеЛицо, необходимо указать это в функции ОписаниеВременнойТаблицыОтборовФизическихЛиц в параметре ИмяПоляФизическоеЛицо. Это же касается и колонки, содержащей даты, по умолчанию она должна называться Период.
Далее получим запрос и выполним его, чтобы сформировать временную таблицу, содержащую кадровые данные:
Ну и в конце мы можем использовать эту временную таблицу. В данном примере мы просто выведем ее в таблицу значений.
В результате мы получим следующую таблицу:
Как мы видим, запрос вернул нам актуальную информацию для всех дат указанных в исходной таблице ВТФизическиеЛица.
Появилась задача детализировать доставки по населенным пунктам.
Сам адрес чаще всего представлен строкой в произвольном формате. И выдернуть из него город или село проблематично. Иногда его вообще нет, но зато есть координаты места(широта и долгота). Как из 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-архив.
ФИАС включает в себя следующие требуемые файлы:
- SOCRBASE – классификатор адресных сокращений;
- HOUSE – сведения по номерам домов улиц городов и населенных пунктов, номера земельных участков и т.п.;
- LANDMARKS – описание мест расположения имущественных объектов;
- ADDROBJ – классификатор адресующих элементов (край, область, город, район, улица).
- В разделе "Адресный классификатор" (раздел Администрирование – Интернет-поддержка и сервисы) выберите с помощью переключателей способ работы с адресными сведениями:
- "Использовать веб-сервис "1С" для ввода и проверки адресов" – позволяет включить возможность использования веб-сервиса, предоставленного фирмой "1С". Необходимо постоянное подключение к Интернету;
- "Загружать классификатор в программу" – позволяет использовать данные, загружаемые с сайта "1С" или из папки на диске. Возможна работа без подключения к Интернету.
- По ссылке "Подключить интернет-поддержку" можно использовать веб-сервис "1С" и загрузки обновлений адресного классификатора с указанием логина и пароля.
- По ссылке "Загрузить классификатор" можно загрузить адресный классификатор с сайта "1С" или из папки на диске. Далее нажмите на кнопку "ОК".
- По ссылке "Очистить адресные сведения" можно удалить загруженные адресные сведения по выбранным неиспользованным регионам (для уменьшения размера базы).
Также загрузить классификатор можно по кнопке "Еще – Загрузить классификатор" из формы ввода адреса физического лица (раздел Зарплата и кадры – Физические лица) (рис. 3).
В обоих случаях открывается специальная форма "Загрузка адресного классификатора" (рис. 3). В форме установите флажок на том регионе, который необходимо загрузить. Для загрузки полного классификатора (всех регионов) надо нажать на кнопку "Выбрать все регионы для загрузки". Следует учесть, что чем меньше загружено регионов, тем быстрее произойдет загрузка готового классификатора и тем быстрее будет работать выбор адресных элементов и вычисление почтового индекса. При необходимости в последующем можно дополнить классификатор по регионам, которые не были загружены ранее. Выберите источник загрузки адресного классификатора, установив переключатель на один из возможных вариантов загрузки классификатора:
- С веб-сайта "1С" необходим доступ в Интернет и регистрация на сайте поддержки. Для этого перейдите по ссылке "Подключить интернет-поддержку" и введите свой логин и пароль, который используется на "Портале 1С:ИТС";
- Из "Папки на диске" необходимо выбрать локальный или сетевой путь, по которому располагается корневая папка с классификатором на диске.
Нажмите на кнопку "Загрузить адресные сведения" (рис. 3).
После загрузки классификатора, например, в карточке физического лица в форме ввода адреса для информирования, можно нажать на кнопку "Город, населенный пункт" и выбрать формат для ввода данных (рис. 5)
Уникальную по числу сбитых самолетов и вертолетов операцию, проведенную 7-8 мая в районе острова Змеиный, уже назвали «авиакотлом» для вооруженных сил Украины (ВСУ). Эксперт «МК», заслуженный военный летчик Владимир Попов, считает, что Киев бросил на спецоперацию по захвату острова огромные силы и средства и, тем нее менее, потерпел поражение. По мнению эксперта, в этом бою погибло порядка 200 украинских военнослужащих.
Фото: Пресс-служба Минобороны
Минобороны РФ сообщило о значительных потерях ВСУ после боев в районе острова Змеиный. В итоге за сутки были уничтожены над островом Змеиный три бомбардировщика Су-24, ударный вертолет Ми-24, истребитель Су-27, три вертолета Ми-8 с десантом на борту, три беспилотника Байрактар, десантно-штурмовой катер «Станислав» ВМС Украины и ракетный катер проекта 1241.
По словам заслуженного военного летчика Владимира Попова, столь значительные потери говорят о том, что ВСУ долго и тщательно готовились к попытке отбить остров, который в начале спецоперации на Украине отошел под контроль российских военных.
- Насколько мне известно, за ночные и утренние часы остров Змеиный был атакован десантно-транспортными катерами и десантной вертолетной группой, чтобы отбить остров у российских вооруженных сил, - отметил Владимир Попов. - Нашими вооружёнными силами были успешно отбиты попытки ВСУ высадить свой десант на остров. Кстати, остров не очень больших размеров — примерно 20 гектаров скалистого грунта. Есть, конечно, отмели, три-четыре, как мы говорим, пляжа, для того, чтобы высадить десант. К этим местам и была направлена десантно-штурмовая группа в ночных условиях. Но неудачно. Силы и средства ПВО отреагировали быстро и эффективно, и наши корабли, дежурившие в Черном море, смогли вовремя подойти и оказать противодействие десантно-штурмовой группе ВСУ, авиации и остаткам военно-морского флота Украины.
- Судя по потерям, бой был серьезный?
- Бой был достаточно интенсивным. Сил и средств Украина бросила много для такого маленького острова и гарнизона, который там стоит в качестве пограничной заставы. Такие попытки делаются только тогда, когда все хорошо просчитано. Время действительно грамотно было выбрано. Силы были мощные и хорошо подготовлены. Обстановка была серьезной - нашим военнослужащим на острове грозила серьезная опасность. Соотношение численности наших военных к противнику было один трем. Но надо отдать должное, силы, которые находились вблизи на боевом дежурстве по Черноморскому бассейну, отреагировали очень быстро и, благодаря слаженным действиям, удалось отбить группировку ВСУ.
- Кроме техники, какие потери личного состава могут быть у ВСУ?
- Думаю, что большие, если десантный катер затонул (о ракетном катере - пока точной информации нет). С учетом катера и вертолетов, которые перевозили десант, думаю, что в личном составе потери - порядка 200-250 человек. При этом у Украины осталось мало кораблей и катеров, которые находятся сейчас в одесских портах и вблизи Одессы. Это остатки украинских ВМС.
- Почему так важен остров, на который ВСУ Украины бросили такое количество техники и людей?
- В действительности этот остров имеет большое значение. Во-первых, в районе морской территории обнаружено и эксплуатируется несколько шельфовых месторождений нефти и газового конденсата. Добыча выгодна для Украины и соседней Румынии. Во-вторых, остров важен в стратегическом плане для наших вооружённых сил. Завладев островом, мы блокировали черноморское побережье в районе Одессы. Даже если мы не будем брать Одессу – (как городская территория Одесса не очень важна), нам важно как можно ближе и быстрее подойти к Приднестровью, чтобы отрезать от черноморского побережья основную часть Украины для обеспечения безопасности наших юго-западных границ на морских просторах. Хоть остров и очень маленький, но он очень значимый.
- Каким образом мы можем его укрепить?
- Можно, к примеру, поставить систему «Бастион», пусковые установки С-300. Ну, и корабли будут дежурить. Остров очень удобная позиция, иногда можно пришвартоваться в бухте, и от шторма укрыться. Но, главное, что мы будем прикрывать наши территории от натовского воздействия — а Румыния одна из агрессивных стран НАТО, которая выдвигает претензии не только к нам, но и к Украине, Молдавии.
- Как вы относитесь к версии, что захват острова Змеиный ВСУ хотели «приурочить» ко Дню Победы, чтобы испортить нам праздник?
- Возможно совпадение. Просто ВСУ к этому времени успели подготовиться. Если бы у них были силы и средства раньше, они бы и сделали это раньше. Но у них не было сил и средств, а ведь нужно для таких операций готовить и технику, и личный состав.
- Вы говорили, что у ВСУ практически не осталось кораблей, а как обстоят дела с авиацией?
- Считаю, что мы перемолотили не более 35-40% авиатехники, авиатехники, которая у них оставалась после развала Советского Союза. У ВСУ еще много авиации. По моим подсчетам, после развала СССР на территории Украины оставалось более 2,5 тысяч самолетов и вертолётов различного назначения. Ясно, что не все они дожили до наших дней. Но несколько десятков еще может оставаться.
Читайте также: