1с как получить адрес
Контактная информация корреспондентов
Как устроен справочник корреспонденты и его контактная информация
Справочник Корреспонденты содержит в себе основные и вспомогательные реквизиты, а также таблицы контактной информации и дополнительных реквизитов. Весьма важным реквизитом корреспондента является Вид корреспондента , который может принимать такие значения как "Юридическое лицо", "Физическое лицо", "Индивидуальный предприниматель" и "Юридическое лицо за пределами РФ". В зависимости от вида, у корреспондента меняются определенные реквизиты, контактная информация и контактные лица.
Таблица справочника Контактная информация хранит в себе всю контактную информацию по корреспонденту в виде ссылки на свойство (это значение отдельного справочника "Вид контактной информации") и значения этого свойства. Таким образом, всю контактную информацию о корреспонденте можно получить из данной таблицы.
Сами виды контактной информации задаются в справочнике Виды контактной информации в разделе Нормативно-справочная информация . В нем есть предопределенные элементы, такие как Email, "Телефон", "Почтовый адрес" и пр. Но пользователи могут добавлять и свои элементы. При этом важным реквизитом вида контактной информации является "Тип", который может принимать один из шести значений: "Адрес", "Телефон", "Адрес электронной почты", "Веб-страница", "Факс" и "Другое". В зависимости от этого типа, программа понимает, как обрабатывать поле данного типа в карточке корреспондента. Например, для типа "Адрес" автоматически подключается адресный классификатор, а для "Телефона" специальная форма ввода телефонов.
Виды контактной информации справочника Корреспонденты :
У справочника Корреспонденты есть подчиненный справочник Контактные лица , который содержит контактные данные контактных лиц корреспондента, например, мобильный телефон директора или электронную почту менеджера. Контактная информация контактных лиц также содержится в одноименной таблице справочника.
Получение контактной информации корреспондента
Рассмотрим примеры получения контактной информации по корреспонденту.
Данный запрос вернет таблицу всей контактной информации искомого корреспондента.
Получение контактной информации по корреспонденту и всем его контактным лицам
Данный код вернет таблицу всей контактной информации искомого корреспондента и всех его контактных лиц:
Получение контактной информации с помощью стандартных процедур
Помимо запросов, описанных выше, для работы с контактной информацией в программе можно воспользоваться и стандартными процедурами и функциями. Все такие процедуры расположены в общих модулях УправлениеКонтактнойИнформациейКлиентСервер , УправлениеКонтактнойИнформацией , УправлениеКонтактнойИнформациейКлиент .
Например, рассмотрим следующую функцию:
Функция получает значение "Телефона" и "Email адреса" корреспондента. При этом основана она на общей функции УправлениеКонтактнойИнформацией.ПолучитьКонтактнуюИнформацияОбъекта (Ссылка, ВидКонтактнойИнформации) , с помощью которой можно получить любой тип контактной информации по любому объекту, содержащем контактную информацию.
Также полезной может быть функция КонтактнаяИнформацияОбъектов (МассивОбъектов, ТипыКИ = Неопределено, ВидыКИ = Неопределено) — предназначена для получения контактной информации для нескольких объектов.
У правлениеКонтактнойИнформациейКлиентСервер. СформироватьПредставлениеАдреса(СтруктураАдреса, Представление, НаименованиеВида = Неопределено) — формирует представление контактной информации с видом для формы ввода адреса.
Вывод контактной информации в отчет
Контактную информацию также можно выводить в отчеты СКД. Например, в типовой конфигурации есть отчет "Договоры", в котором есть вариант "Договоры с истекающим сроком действия". В нем выводится контактная информация контакта корреспондента, указанного в документе. Посмотрим "листинг скд запроса":
Как видно из запроса, с помощью левого соединения с таблицей Контактной информации справочника Контактные лица мы получаем "Телефон" и "Email адрес" контакта. Применяя подобный метод, мы можем получать и любую другую контактную информацию, как контактных лиц, так и самого корреспондента. Например, можно в отчет вывести юридический адрес корреспондента:
Комбинируя приведенные выше методы можно найти широкое применение контактной информации объектов системы. Например, контактную информацию можно выводить в отчеты или использовать для автозаполнения шаблонов файлов. Также можно добавлять ее в превью документов, либо выводить в динамические списки объектов.
При выборе Документа в 1с выдаётся ошибка:
: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
<(9, 22)>: Поле не найдено "КонтактнаяИнформация.Объект"
КонтактнаяИнформация.<<?>>Объект = &Объект.
Как правильно переписать код? И что такое КонтактнаяИнформация.Объект = &Объект", не могу разобраться. Помогите, пжл
З.Ы.: я так понимаю в Регистре Сведений Контактной информации нет. Не нашёл такой регистр
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Выбрать и адрес, и телефон, и ящик из контактной информации
Привет. У меня тут снова вопрос родился. Мне надо получить контактную информацию(адрес, телефон и.
Порядок типов контактной информации в карточке контрагента
Всем доброго времени суток. В 1С 8.2, УТ10.3, в карточке контрагента есть вкладка контактная.
Добавление Окна Ввода Контактной Информации В Документ.
Здравствуйте, имеется Управление торговлей, редакция 11.0 (11.0.8.11) . Скажите пожалуйста как.
Выборка контактной информации из запроса
Доброго времени суток. в УТ 10.3 написал следующие строки выборки контактной информации из запроса.
Решение
почему именно Объект и для чего его берут называется догадайся сам. это параметр. В УТ вам достаточно передать в этот параметр ссылку на нужного Контрагента:Рядом нет компа, но “обьект” - это Измерение в РегистреСведений КонтактнаяИнформация, в котором содержится ссылка на Контрагента.
Тип и Представление - это тоже измерения того же регистра, например, "Тип" (Перечисления.ТипыКонтактнойИнформации.Телефон), "Вид" (ссылка на запись в справочнике "Справочники.ВидыКонтактнойИнформации" или Строка).
Т.е. выбираются записи из регистраСведений.КонтактнаяИнформация, где измерение Объект=Ссылке, которую вы передаете при выполнении функции - Функция ПолучитьАдресКонтрагента(Объект)
Вы же ищите по справочнику, в котором возможно нет поля Объект , есть реквизит “ссылка” на контрагента
Реквизиты Тип и Вид могут тоже отсутствовать
Рассмотрена подсистема Контактная информация из библиотеки стандартных подсистем (БСП) 3.1.3.
Примеры приведены на конфигурации Управление торговлей 11.4.13.
В пользовательском режиме
Виды контактной информации
Виды контактной информации настраиваются в разделе НСИ и администрирование -> Общие настройки -> Контактная информация -> Виды контактной информации:
Здесь перечислены те объекты, у которых можно добавлять контактную информацию и возможные виды для каждого объекта:
С помощью стрелок можно регулировать последовательность расположения контактной информации:
Также можно создать новый вид контактной информации:
Для каждого вида нужно указать тип контактной информации. Всего есть 7 типов:
- Адрес
- Телефон
- Адрес электронной почты
- Skype
- Веб страница
- Факс
- Другое
Настройки видов контактной информации
Большинство настроек понятны из названия, рассмотрим основные:
Для адреса можно ввести произвольный комментарий, а также показать адрес на гугл или яндекс картах:
Контактную информацию можно выводить в формах списка или в отчетах через поле Ссылка. Для этого нужно выбрать в меню Еще -> Изменить форму и добавить нужную контактную информацию:
В конфигураторе
Получение контактной информации
Для получения контактной информации объекта можно использовать функцию ПредставлениеКонтактнойИнформацииОбъекта из общего модуля УправлениеКонтактнойИнформацией. Данная функция вернет контактную информацию в виде строки:
I. Решение задачи для для конфигураций на платформе 8.2, обычных форм, Бухгалтерии 2.0
пример кода для выбора адреса из Контактной информации:
II. Решение задачи через СписокЗначений для конфигураций на платформе 8.3, управляемых форм, Бухгалтерии 3.0
пример кода:
Получившийся выпадающий список адресов:
(мне показалось неудобным искать адрес, если данных в регистре много, поэтому предлагаю другой вариант ниже)
III. Решение задачи через ФормуВыбора для конфигураций на платформе 8.3, управляемых форм, Бухгалтерии 3.0
III.1.Что нужно сделать в форме-приемнике (форме Владельца)
У нас есть некая табличная часть. В один из её реквизитов мы хотим добавить адрес контрагента, используя форму выбора адреса. В моем примере это "ТабличнаяЧасть1" с реквизитом "Адрес" типа Строка. Соотвественно в моей обработке есть и сам реквизит "Контрагент" типа СправочникСсылка.Контрагенты. Важно не забыть добавить кнопку выбора.
Дальше объявляем у Адреса событие НачалоВыбора. В диалоговом окне выбираем только "на клиенте"
В этом событии должен отработать следующий код:
III.2.Что нужно сделать в форме-источнике
Дошли до формы выбора адреса. У меня получилась такая простенькая форма:
Нам понадобятся два реквизита СпрОбъект (тип СправочникОбъект.Контрагенты) и соответственно СсылкаКонтрагент. Вытаскиваем (перетягиваем) на форму Табличную часть "Контактная информация" у СпрОбъект и ничего заполнять не надо, просто в дальнейшем получим объект у СсылкаКонтрагент и информация будет отражаться на форме.
Что необходимо сделать в модуле формы выбора:
Во-вторых, получим объект у Контрагента, чтобы заполнилась табличная часть Контактной информации на форме
В-третьих, у табличной части объявляем событие "Выбор" только "на клиенте" и добавляем ОповеститьОВыборе
III.3.Что еще нужно сделать в форме-приемнике
Объявить процедуру ОбработкаВыбора только "на клиенте" и вставить подобный код:
III.4.Как записать изменения Контактной информации из формы выбора
Как видно из рисунка выше, у меня объявлена Команда формы - ЗаписатьИзменения. На ней "висит" следующая процедура:
IV. Вопрос к Знатокам- "Баг или криворук?"
Все замечательно работает. Но есть одно непонятное мне действо. Если в добавленной строке Табличной части источника ничего не заполнено, а мы пользуемся ОповеститьОВыборе(), то только что добавленная строчка исчезает. Причем это проявляется даже в типовой Бухгалтерии. Например, берем документ Реализация(услуги), добавляем строчку в Табличную часть, не выбирая Номенклатуру пытаемся сначала установить Счета учета. Открывается форма выбора, выставляем счета, нажимаем на ОК. В документе появляется строчка. Но стоит щелкнуть мышкой в другом месте, строчка пропадет.
Вопрос очень простой: Что же делать, как же быть в такой ситуации?
Покопавшись самостоятельно, удалось найти, что в самых свежих релизах Бухгалтерии 3.0 такая ошибка не воспроизводится. Разработчики добавили реквизит формы типа "Булево" (у меня это АдресЗаполнено, у них это АналитикаУчетаЗаполнена) и его в ОбработкеВыбора исходной формы заполняют. НО если (с учетом этого добавления) запустить мою обработку на старом релизе - строчка пропадет, если на новом - останется. Платформу при этом не меняем. В связи с этим, всё равно хочется докопаться до сути. КАК при одной платформе, но разных релизах один и тот же код отрабатывает по-разному, учитывая, что никакие общие модули не используем?
Читайте также: