Получить сведения о контрагенте 1с программно
- Адрес,
- ИНН,
- КПП,
- ФИО руководителя,
- ОГРН,
- .
- информация до кодов адреса по ФИАС/КЛАДР и координат местонахождения.
Данная обработка будет полезна, как обычным, так и отраслевым организациям, так как зачастую необходимо знать не только адрес данного контрагента, но и коды ФИАС адреса города, здания, объекта, координаты для интеграции с ГИС-системами. Также на основе механизмов данной обработки можено реализовать автоматическое заполнение данных контрагента для учетных систем, где это не предусмотрено разработчиком.
В решении этих вопросов поможет данная обработка.
Обработка позволяет получить в следующие Данные об организации:
- адрес организации для юридических лиц;
- адрес налоговой для индивидуальных предпринимателей.
- MAIN — головная организация;
- BRANCH — филиал.
- ACTIVE — действующая;
- LIQUIDATING — ликвидируется;
- LIQUIDATED — ликвидирована.
- LEGAL — юридическое лицо;
- INDIVIDUAL — индивидуальный предприниматель.
А также Данные адреса организации:
- HOUSE.HOUSEGUID , если дом найден в ФИАС по точному совпадению;
- HOUSEINT.INTGUID , если дом найден в ФИАС как часть интервала;
- ADDROBJ.AOGUID в противном случае.
- 0 — страна;
- 1 — регион;
- 3 — район;
- 4 — город;
- 5 — район города;
- 6 — населенный пункт;
- 7 — улица;
- 8 — дом;
- 90 — доп. территория;
- 91 — улица в доп. территории;
- -1 — иностранный или пустой.
- 1 — центр района (Московская обл, Одинцовский р-н, г Одинцово)
- 2 — центр региона (Новосибирская обл, г Новосибирск);
- 3 — центр района и региона;
- 0 — ни то, ни другое (Московская обл, г Балашиха).
Код точности координат qc_geo — точность координат адреса для курьерской доставки:
Код qc_geo | Описание |
---|---|
0 | Точные координаты |
1 | Ближайший дом |
2 | Улица |
3 | Населенный пункт |
4 | Город |
5 | Координаты не определены |
Инструкция по работе с обработкой
2) Заполнить Токен, ввести Количество подсказок и ИНН или Наименование контрагента в обработке:
3) Результат будет загружен в табличную часть:
4) Получившийся результат по всем подсказкам можно вывести в печатную форму:
Основные плюсы обработки
1) Использование формата ответа в XML, что позволит обрабатывать ответ даже на старых версиях платформы - без использования JSON.
2) В данной версии использована новая версия API.
3) Использование Количества подсказок - вы сами можете регулировать сколько подсказок вы можете получить.
4) Вывод ответа в Табличную часть - вы можете видеть все возможные варианты подсказок по вашему запросу.
в более удобочитаемую таблицу, которую гораздо проще обрабатывать и загружать.
Всем привет! Данный материал посвящен описанию базовых возможностей работы с контактной информацией в конфигурациях, содержащих "Библиотеку стандартных подсистем" (БСП). Данная статья будет полезна для разработчиков, программистов и всех тех, кто решился не придумывать свои "разработки - велосипеды" для работы с контактной информацией, а взять уже готовое. Статья призвана экономить ваше время и повысить эффективность разработки.
Итак, перехожу к разделу получения контактной информации объектов с помощью БСП:
Получение контактной информации объектов
Чтобы получить полную контактную информацию контрагента, организации, партнера можно воспользоваться функцией:
КонтактнаяИнформацияОбъекта(СсылкаИлиОбъект, ВидКонтактнойИнформации = Неопределено, Дата = Неопределено, ТолькоПредставление = Истина) Экспорт
В данном примере, получаем полную контактную информацию на текущую дату. При установленном параметре ложь, будет возвращаться ТаблицаЗначений со всей контактной информацией.
В следующем примере вернем фактический адрес контрагента строкой:
Так же существует схожая функция, производящая получение контактной информации для нескольких ссылок или объектов одновременно:
Функция КонтактнаяИнформацияОбъектов(СсылкиИлиОбъекты, Знач ТипыКонтактнойИнформации = Неопределено, Знач ВидыКонтактнойИнформации = Неопределено, Дата = Неопределено) Экспорт
В данной функции ТипыКонтактнойИнформации и ВидыКонтактнойИнформации - массивы, содержащие необходимые типы и виды контактной информации. Функция возвращает таблицу значений по "фильтру" входящих параметров.
Пример использования такой:
Вышеперечисленные функции можно использовать в связке с "индивидуальными" функциями конфигураций по получению информации об организации и контрагентах. Частично об "индивидуальных" функциях я изложил материал вот здесь .
Теперь, давайте посмотрим немного глубже в результаты вышеуказанных функций. Строка возвращаемой таблицы значений выглядит вот так:
Рис.1. Строка таблицы значений контактной информации.
Обратим внимание на колонку Значение - это строка в формате json, выглядит она вот так:
Рис.2. Формат json в колонке Значение.
Сейчас, я хочу преобразовать эту json-строку в структуру для дальнейшего использования. Сделаю это стандартными методами БСП, воспользуюсь функцией:
Функция СтрокуJSONВСтруктуру(Значение) Экспорт
Доработанный код будет выглядеть вот так:
Переменная ААА - содержит структуру по входящей строке json. Выглядит это вот так:
Рис.3. Преобразованная json в структуру.
Здесь, я ничего не придумываю, использую только типовые функции и процедуры БСП и получаю требуемую контактную информацию "по полям" в удобном виде.
Пожалуй, с базовыми вариантами получения контактной информации мы разобрались - можем смело применять. Теперь, перейдем к разделу преобразование контактной информации объектов в разные форматы.
Преобразование контактной информации объектов
В данном разделе рассмотрим несколько полезных функций, позволяющих стандартно конвертировать контактную информацию в разные форматы - xml, json.
Сначала рассмотрим функцию, которая позволяет получить контактную информацию в формате xml
Функция КонтактнаяИнформацияВXML(Знач ЗначенияПолей, Знач Представление = "", Знач ОжидаемыйВид = Неопределено) Экспорт
В качестве входящего параметра ЗначенияПолей, я обычно передаю структуру по заполненным ключам. Представление я не заполняю, а в качестве ожидаемого вида - перечисление с типом контактной информации.
Рассмотрим пример работы с данной функцией, предварительно доработав предыдущий пример:
В качестве результата в переменную ККК возвращается XML-структура, согласно схемы пакетов КонтактнаяИнформация или Адрес.
Рис.4. Преобразованная структура в XML-строку.
Еще один пример с телефоном:
В переменную ТелефонXML возвращается XML строка вот такого содержания:
Рис.5. XML-строка с типом "Номер телефона".
Преобразование структуры "телефона" идет по такой типовой схеме:
Теперь, преобразуем полученную строку XML в строку JSON, доработаем код процедуры:
Полученный ТелефонJSON такой:
Рис.6. JSON-строка с типом "Номер телефона".
Его так же можно преобразовать в структуру с помощью вышеуказанной функции
Функция СтрокуJSONВСтруктуру(Значение) Экспорт
Так, базовые вещи с преобразованием контактной информации я описал. Теперь, переходим к разделу записи контактной информации объектов.
Запись контактной информации объектов
В данном разделе я рассмотрю базовую процедуру добавления контактной информации по ссылке
Процедура ДобавитьКонтактнуюИнформацию(СсылкаИлиОбъект, ЗначениеИлиПредставление, ВидКонтактнойИнформации, Дата = Неопределено, Замещать = Истина) Экспорт
Доработаем наш пример:
Данным кодом мы добавляем нужный нам телефон (Истина - замещает, Ложь - добавляет второй телефон). ТелефонJSON - ранее сформированная нами строка-json. Выглядит это вот так:
Рис.7. Результат добавления "Номера телефона" в карточку контрагента с помощью возможностей БСП.
В данном примере номер телефона "красиво разложен" по полям. Хорошо, переходим к заключению.
Заключение
В данной статье, я постарался обозначить основные правила и методы работы с контактной информацией в рамках библиотеки стандартных подсистем конфигурации. Я описал чтение, преобразование и запись контактной информации объектов.
Надеюсь, что данная информация будем вам полезна, применение данных стандартных методов позволит вам экономить ваше время на разработку ваших решений.
Примеры данной статьи я реализовывал на Платформе 1с 8.3.17.1549, конфигурации Розница 2.3.5 с включенной БСП 3.1.2.457.
Если вам интересен мой практический подход и информация, которую вы сможете реально использовать, если у вас есть желание, чтобы данный комплекс статей наполнялся практическими материалы для программистов - я не откажусь от поддержки как данной статьи, так и всего комплекса статей в целом.
Всем спасибо за прочтение, до новых встреч!
Предыдущие материалы
Так же, я прошу посмотреть мои предыдущие статьи, посвященные базовым возможностям типовых конфигураций:
При выборе Документа в 1с выдаётся ошибка:
: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
<(9, 22)>: Поле не найдено "КонтактнаяИнформация.Объект"
КонтактнаяИнформация.>Объект = &Объект.
Как правильно переписать код? И что такое КонтактнаяИнформация.Объект = &Объект", не могу разобраться. Помогите, пжл
З.Ы.: я так понимаю в Регистре Сведений Контактной информации нет. Не нашёл такой регистр
Выбрать и адрес, и телефон, и ящик из контактной информации
Привет. У меня тут снова вопрос родился. Мне надо получить контактную информацию(адрес, телефон и.
Порядок типов контактной информации в карточке контрагента
Всем доброго времени суток. В 1С 8.2, УТ10.3, в карточке контрагента есть вкладка контактная.
Добавление Окна Ввода Контактной Информации В Документ.
Здравствуйте, имеется Управление торговлей, редакция 11.0 (11.0.8.11) . Скажите пожалуйста как.
Выборка контактной информации из запроса
Доброго времени суток. в УТ 10.3 написал следующие строки выборки контактной информации из запроса.
vitek944, у вас запросы к совершенно разным объектам: в книге в регистру сведений, в вашей коде - к табличной части справочника Контрагенты. Там точно есть поле Объект?
GreenkA, в З.Ы. написал что обращаюсь в справочнику, т.к. регистра такого нет. А вот как узнать есть объект или нет? Литературы в инете много, а вот с толковой беда если честно.
Сложно ответить не видя конфигурацию, м.б. в вашей конфигурации регистр КонтактнаяИнформация как-нибудь иначе называется?Посмотрите куда записывается эта информация при записи справочника, в какие регистры
https://yadi.sk/d/c7a4agDcEfd98g Конфигурация УТ (демо). Мной добавлялись только: справочник Автомобили, Журнал и Документ "Развозка"
Если у кого есть стоящая литера по 1С (именно чтоб разжёвывалось "что, откуда берётся и куда вставляется") присылайте названия, буду благодарен. В инете то книг много и на форуме много, только всё поверхностно описано. Так же как и в данном случае
Решение
Рядом нет компа, но “обьект” - это Измерение в РегистреСведений КонтактнаяИнформация, в котором содержится ссылка на Контрагента.
Тип и Представление - это тоже измерения того же регистра, например, "Тип" (Перечисления.ТипыКонтактнойИнформации.Телефон), "Вид" (ссылка на запись в справочнике "Справочники.ВидыКонтактнойИнформации" или Строка).
Т.е. выбираются записи из регистраСведений.КонтактнаяИнформация, где измерение Объект=Ссылке, которую вы передаете при выполнении функции - Функция ПолучитьАдресКонтрагента(Объект)
Вы же ищите по справочнику, в котором возможно нет поля Объект , есть реквизит “ссылка” на контрагента
Реквизиты Тип и Вид могут тоже отсутствовать
Hh_Anna, в УТ нет такого регистра сведений. Об этом уже написали выше. Все хранится в соответствующих табличных частях объекта.
В 7.7 Откройте Справочник Контрагенты - Форма Элемента, двойным щелчком по полю ИНН, на закладке Дополнительно в поле формула введите ПроверкаИНН()
И в Модуль добавьте процедуру ПроверкаИНН()
Код 1C v 7.x
Теперь при вводе ИНН происходит проверка, если Контрагент с таким ИНН уже есть в базе, то выдается Предупреждение!
Похожие FAQ
COM-соединение не обнаружило свободной лицензии / ключ защиты 0
Иногда при подключении к 1С возникает ошибка: COM-соединение не обнаружило свободной лицензии! COM-соединение не обнаружило ключ защиты программы! https://helpf.pro/uploads/img/_1-UsuyAg6E2P.jpg В таких случаях, иногда, может помочь следующий с Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне Ввод договоров ГПХ в ЗУП (счет 76) 9
Часто меня спрашивают: Как правильно отразить договор ГПХ в ЗУП? Ниже небольшая, последовательная инструкция: Прием на работу Сведения о физическом лице, выполняющем работы по договору подряда, должны быть внесены в справочник Сотрудники организ Загрузка данных в 1С из PDF 4
В данной статье описан пример реализации загрузки данных накладных из PDF файлов для одного крупного Ритейла. И так у Нас есть несколько файлов в формате pdf, которые нам необходимо загрузить в 1С. Чтение PDF файлов из 1С Первым дело я стал Загрузка данных из XML файла в Таблицу Значений и вывод в Табличный документ 0
Перем ИмяПути,ИмяФайла; Перем xmlParser; //пример чтения xml файла. Функция УстановитьКомпоненту() Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+" ExtFormsv7plus.dll" )=0 Тогда Если ЗагрузитьВнешнююКомпоненту(" v7plus.dll" )=0 Тогда Сообщит Посмотреть все результаты поиска похожих
Еще в этой же категории
Эта статья — шпаргалка об архитектуре и использовании «Контактная информация» из инструментария разработчика 1С:БСП (Библиотека стандартных подсистем). По моему мнению, основная задача этой подсистемы организовать простой с точки зрения заполнения и обмена, единый подход к управлению контактной информацией. Хотел бы обратить внимание, что подсистема очень хорошо и подробно описана на сайте ИТС.
Архитектура
В справочник или документ, который предполагает наличие контактной информации добавляется одноименная табличная часть. Поле «Тип» перечисление, которое может принимать следующие значения:
Поле «Вид» реквизит типа справочник «Виды контактной информации». Реквизит «ЗначенияПолей» — это строка, которая содержит XML, сформированный по схеме XDTO, реквизит «Значение» — это строка во внутреннем формате JSON. Как правило для всех типов документов есть предопределенные элементы. Все поля схемы XDTO (кроме составных) являются либо целыми либо строками, проверки на тип и корректность должны быть реализованы на уровне кода.
Такая структура довольна универсальна, хорошо подходит для обмена, но за счет вложенности сделать запрос вида: контрагенты с одинаковым номером дома становится сложнее, а скорость поиска увеличивается. Для решения такой задачи можно обратится к функции «АдресПоИдентификатору» общего модуля «РаботаСАдресами».
А также для работы с контактной информацией предусмотрено много функций в общих модулях БСП, например, функция общего модуля «УправлениеКонтактнойИнформацией»:
Для редактирования контактной информации используется обработка РасширенныйВводКонтактнойИнформации и ВводКонтактнойИнформации, для разбора записи используется функция из общего модуля БСП «УправлениеКонтактнойИнформациейСлужебный»
Пример возвращаемой структуры:
При преобразовании контактной информации в XDTO «АдресныйКлассификаторСлужебный» функция «ТипыОбъектовАдресацииАдресаРФ» преобразует Типы элементов адреса, уточняющих
местоположение адресуемого объекта (ДопАдрЭл) согласно Приказу от 31.08.2011 № ММВ-7-1/525.
Читайте также: