1. user870565 10.02.19 13:36 Сейчас в теме

Использование адресного классификатора.

Вопрос, видимо, или слишком элементарный, или слишком редкий, но я уже перерыла весь гугл, и не нашла ничего, что мне поможет. Спасите, мозг уже кипит!
Документооборот 8, КОРП 2.1 (Вряд ли это важно, но мало ли). Версия конфигурации - 8.3.12. При помощи расширения конфигурации я прикрутила к одному из справочников свою табличную часть. Проблема в том, что один из реквизитов этой табличной части представляет собой адрес размещения неких объектов. Вопрос на миллион нервных клеток: как прикрутить к этому реквизиту вызов адресного классификатора, чтобы он заполнялся так же, как адреса в справочнике Контрагенты и т.д. Я вижу, что в конфигурации есть регистр сведений "Адресные объекты", но каких-то винтиков голове, видимо, не хватает, чтобы понять, как это все использовать. Хотела посмотреть, как реализовано использование этого классификатора все на той же самой форме "Контрагенты", но физически в этом справочнике даже нет всех этих реквизитов (физ. адрес, юр. адрес и так далее) Видимо, они формируются как-то динамически и через костыли, но я не понимаю, есть ли смысл в этом копаться.
Неужели, не предусмотрено какого-то очевидного способа прикрутить Адресный классификатор к собственноручно созданному реквизиту? Наподобие использования типа данных реквизита - СправочникСсылка, или же вызовом какого-то метода при заполнении данных на форме - типа

Процедура ТЧ1_ИмяРеквизитаНачалоРедактирования (...)
 //Какая-то магия, в результате которой из моей формы откроется форма для заполнения данных по адресному классификатору.
КонецПроцедуры


???
Помогите, пожалуйста.
Ответы
Избранное Подписка Сортировка: Древо
2. VmvLer 10.02.19 14:58 Сейчас в теме
Общие модули смотреть по контактным данным.

да, адреса могут "ехать" в форму динамически в зависимости от роли - защита данных же.

И КЛАДР недавно переехал на рельсы ФИАС в типовых, некоторые няшки работать перестали, зато у каждого дома свой УИД. Правда, когда я хочу узнать(и понять почему он не "приехал") этот УИД на сайте ФИАС, то без боли это обходиться редко.

Наверное у меня интернет плохой, а сайт хороший)
3. user870565 10.02.19 19:41 Сейчас в теме
(2) Я читала, что пишут про БСП контактной информации, но мне не очень это все помогло. В справочниках типа Контрагенты, Организации и так далее это все реализовано через ТЧ КонтактнаяИнформация, каждая строка которой, по-простому говоря, отвечает за вывод одного единственного поля (у которого в ТЧ КИ записаны реквизиты "вид ки, тип ки" и так далее) на форму, динамически, в раздел ГруппаКонтактнойИнформации. А у меня должен быть массив полей "ТЧ_АдресОбъекта", неизвестной заранее длинны, который является столбцом моей ТЧ. Причем мне очень надо, чтобы данные оттуда потом можно было получить без километровых запросов. Короче, мне интересно, нет ли какого-то другого способа. Допустим, мой реквизит ТЧ_АдресОбъекта останется простой строкой... повесить на редактирование этого поля какой-то обработчик, который вызовет всю ту же форму заполнения адреса по классификатору и потом запишет набранные пользователем данные обратно в эту строку. Но я тупо не понимаю, как это сделать.
4. alxarz 29 11.02.19 04:33 Сейчас в теме
(3)
повесить на редактирование этого поля какой-то обработчик, который вызовет всю ту же форму заполнения адреса по классификатору и потом запишет набранные пользователем данные обратно в эту строку. Но я тупо не понимаю, как это сделать.
не понятно как повесить обработчик, как вызвать форму, или как записать данные обратно? Или как запрос к строкам неизвестной длины строить?
и у них даже пример описан
CyberBob; +1 Ответить
5. CyberBob 2 11.02.19 12:09 Сейчас в теме
(3) Оно так и работает, ваш реквизит - строка. У меня так, есть реквизит - строка неограниченная и на форме элемент - представление тоже строка. И вот например подписка у элемента при начале выбора:
    ПараметрыОткрытия = Новый Структура;
    ПараметрыОткрытия.Вставить("ВидКонтактнойИнформации", ВидКонтактнойИнформацииАдресаМестаДействия);
    ПараметрыОткрытия.Вставить("ЗначенияПолей", Объект.АдресМестаДействия);
    ПараметрыОткрытия.Вставить("Представление", ПредставлениеАдресаМестаДействия);
    //ПараметрыОткрытия.Вставить("Комментарий", КомментарийАдресаДоставки);
    // Переопределямый заголовок формы,
    // по умолчанию отобразятся данные по ВидКонтактнойИнформации
    ПараметрыОткрытия.Вставить("Заголовок", НСтр("ru='Адрес места действия'"));
    УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, Элемент);
Показать

ВидКонтактнойИнформацииАдресаМестаДействия - структура
	ВидКонтактнойИнформацииАдресаМестаДействия = Новый Структура;
    ВидКонтактнойИнформацииАдресаМестаДействия.Вставить("Тип", Перечисления.ТипыКонтактнойИнформации.Адрес);
    ВидКонтактнойИнформацииАдресаМестаДействия.Вставить("АдресТолькоРоссийский", Ложь);
    ВидКонтактнойИнформацииАдресаМестаДействия.Вставить("ВключатьСтрануВПредставление", Ложь);
    ВидКонтактнойИнформацииАдресаМестаДействия.Вставить("СкрыватьНеактуальныеАдреса", Ложь);

И Обработка выбора:
    СтандартнаяОбработка = Ложь;
    Если ТипЗнч(ВыбранноеЗначение)<>Тип("Структура") Тогда
        // Отказ от выбора, данные неизменны
        Возврат;
    КонецЕсли;
    ПредставлениеАдресаМестаДействия = ВыбранноеЗначение.Представление;
   // КомментарийАдресаДоставки   = ВыбранноеЗначение.Комментарий;
    Объект.АдресМестаДействия = ВыбранноеЗначение.КонтактнаяИнформация;
	ЭтаФорма.Модифицированность = Истина;
Показать
user870565; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 160 000 руб. до 180 000 руб.
Полный день

Ведущий программист / Руководитель проектов 1С
Москва
зарплата от 190 000 руб. до 190 000 руб.
Полный день

Программист 1С ЗУП
Уфа
зарплата от 60 000 руб. до 90 000 руб.
Полный день

Программист 1С
Москва
зарплата от 140 000 руб. до 140 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день