Заполнение поля адреса в своей обработке [БСП]

12.02.24

Разработка - БСП (Библиотека стандартных подсистем)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

Всем привет! Данный материал посвящен описанию базовой возможности работы с контактной информацией в конфигурациях, содержащих "Библиотеку стандартных подсистем" (БСП). Данная статья будет полезна для разработчиков, программистов и всех тех, кто решился не придумывать свой "разработку - велосипед" для работы с контактной информацией, а использовать уже готовое. Статья призвана экономить ваше время и повысить эффективность разработки.

  • Платформа 8.3.22.1704 и выше
  • Версия БСП 3.1.8.476 и выше

Добавим два реквизита: Представление и Адрес

На форме обработки разместим Адрес с видом "Надпись" и поставим флаг "Гиперссылка"

Платформа, на которой тестировался код

&НаКлиенте
Процедура АдресНажатие(Элемент)
	
	ВидАдреса = ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица");
	РедактироватьАдрес(Элемент, ВидАдреса);
	
КонецПроцедуры

&НаКлиенте
Процедура РедактироватьАдрес(Элемент, ВидАдреса)
	
	ОписаниеОповещения = Новый ОписаниеОповещения(
	"АдресНажатие_Завершение", 
	ЭтотОбъект, 
	Элемент);
	
	ПараметрыОткрытия = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(ВидАдреса, ЭтотОбъект[Элемент.Имя]);
	ПараметрыОткрытия.Вставить("ТолькоПросмотр", Ложь);
	
	УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытия, , ОписаниеОповещения);
	
КонецПроцедуры


&НаКлиенте
Процедура АдресНажатие_Завершение(Результат, Элемент) Экспорт
	
	Если Результат = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	Адрес         = Результат.КонтактнаяИнформация;
	Представление = Результат.Представление;
	Элемент.Заголовок       = Представление;
	ЭтотОбъект[Элемент.Имя] = Результат.КонтактнаяИнформация;

     // Расскоменнтировать если нужно сохранять настройку
	 //Сохранить();
	
КонецПроцедуры

Ну и в случае, если нам нужно где то сохранять и загружать адрес, задействуем обработчик ПриСозданииНаСервере и раскомментировать //Сохранить()

&НаСервере
Процедура Сохранить() 
	КлючОбъекта  = "ОбработкаВводаАдреса";
	КлючНастроек = "ВводАдреса";
	Настройки  = Новый Структура("Адрес,Представление", Адрес,Представление);
	ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки,,ИмяПользователя());
	
КонецПроцедуры  



&НаСервере
Процедура Восстановить() 
	СтруктураОбщихПараметров = Неопределено;
	СтруктураОбщихПараметров = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ОбработкаВводаАдреса", "ВводАдреса", , , ИмяПользователя());
	Если ТипЗнч(СтруктураОбщихПараметров) = Тип("Структура") Тогда
		Если СтруктураОбщихПараметров.Свойство("Адрес") Тогда 
			Адрес =  СтруктураОбщихПараметров.Адрес;
			
			Если СтруктураОбщихПараметров.Свойство("Представление") Тогда 
				Представление = СтруктураОбщихПараметров.Представление; 
				Элементы.Адрес.Заголовок = Представление;	
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Восстановить();
КонецПроцедуры

 

Обработка

См. также

БСП. Добавляем отчет в меню Отчеты

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Добавим новый отчет в меню нового документа средствами БСП.

02.04.2024    3300    John_d    10    

90

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    5055    mrXoxot    11    

101

Планы обмена VS История данных

Перенос данных 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    7177    dsdred    36    

114

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    19315    SeiOkami    46    

121

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    9617    YA_418728146    6    

143

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    6605    sebekerga    54    

95

Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим новую возможность 8.3.24 и как её можно эффективно использовать

27.06.2023    17173    SeiOkami    31    

105
Оставьте свое сообщение