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С
Санкт-Петербург
Полный день

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

Бизнес-аналитик 1С ERP
Пермь
зарплата от 80 000 руб.
Полный день

Программист 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день

Бизнес-аналитик 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день