Заполнение дополнительных реквизитов по адресному классификатору

05.11.25

Задачи пользователя - Мастера заполнения

Пользоваться адресным классификаторам довольно удобно, но, к сожалению, список объектов, которым можно назначить реквизит вида Контактная информация, сильно ограничен. В данной статье приведу пример, как можно будет использовать адресный классификатор для дополнительного реквизита через небольшое расширение.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Заполнение дополнительных реквизитов по адресному классификатору
.cfe 31,58Kb
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

1. Создание Дополнительных реквизитов.

Для примера буду использовать конфигурацию 1С ЗУП КОРП и справочник "Подразделения".

Создаем два дополнительных реквизита типа Строка "Адрес" и "АдресЗначение". "АдресЗначение" нам необходим чтобы хранить значение адреса в том формате в котором его распознает классификатор.

Для удобства сделаем этот реквизит скрытым, добавив любое невыполнимое условие видимости.

 

 

2. Добавляем дополнительному реквизиту кнопку выбора и назначаем на нее команду

В конфигураторе создаем расширение и добавляем в него процедуру нашей формы элемента справочника "Подразделения": "ПриСозданииНаСервереПосле" или "ПриОткрытииПосле".

В этой процедуре ищем название нашего дополнительного реквизита "Адрес" и ставим ему свойство КнопкаВыбора = ИСТИНА и назначаем этой кнопке команду. Основная трудность, с которой я здесь столкнулся была связана с тем, что  для дополнительных реквизитов генерируется неудобоваримое наименование, которое не меняется в рамках одной БД, и его даже можно прописать в коде, но уж очень безобразно это все будет выглядеть и расширение каждый раз придется править перенося на другую БД.

 

 

Спасение из данной ситуации нашел здесь:

 

 

Пройдя циклом по ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов находим нужный нам элемент формы и назначаем ему нужные нам свойства

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

3. Пишем процедуру для нашей кнопки выбора

Не забываем назначить параметры работы с элементом формы "Элемент, ДанныеВыбора, СтандартнаяОбработка". 

&НаКлиенте
Процедура Расш_ЗАДРПК_ЗаполнитьАдресНаКлиенте(Элемент, ДанныеВыбора, СтандартнаяОбработка)

Для начала нам необходимо получить значение нашего дополнительного реквизита "АдресЗначение"  для его передачи в адресный классификатор.

Для Каждого Эл Из ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов Цикл
	Если Эл.Наименование = "АдресЗначение" Тогда
		ИмяРеквизита = Эл.ИмяРеквизитаЗначение;
		Если ЗначениеЗаполнено(ЭтотОбъект[ИмяРеквизита]) Тогда
			ЗнАдреса = ЭтотОбъект[ИмяРеквизита ];
		Иначе
			ЗнАдреса = Элемент.ТекстРедактирования;
		КонецЕсли;
	КонецЕсли;
КонецЦикла;

Далее добавляем в наше расширение предопределенный объект справочника "ВидыКонтактнойИнформации" и заполняем параметры открытия формы адресного классификатора

	ПараметрыКИ = Новый Структура;
	ПараметрыКИ.Вставить("ВидКонтактнойИнформации",ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации"));
	ПараметрыКИ.Вставить("Значение",ЗнАдреса);
	ПараметрыКИ.Вставить("Представление",Элемент.ТекстРедактирования);
	ПараметрыКИ.Вставить("Индекс",Неопределено);
	ПараметрыКИ.Вставить("Комментарий","Исходный адрес: " + Элемент.ТекстРедактирования);
	ПараметрыКИ.Вставить("ОткрытаПоСценарию",Истина);
	ПараметрыКИ.Вставить("ТолькоПросмотр",Ложь);
	ПараметрыКИ.Вставить("ТипПомещения","Квартира");

И завершаем нашу процедуру назначением обработчика и открытием формы Адресного классификатора:

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

4. Пишем экспортную процедуру обработки результата, вызываемую после заполнения адреса:

&НаКлиенте
Процедура Расш_ЗАДРПК_ЗаполнитьАдресЗавершениеНаКлиенте(Результат, Чтото) Экспорт
	Если Результат <> Неопределено тогда
		Для Каждого Эл Из ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов Цикл
			Если Эл.Наименование = "Адрес" Тогда
				ИмяДопРек = Эл.ИмяРеквизитаЗначение;
				ЭтотОбъект[ИмяДопРек] = Результат.Представление;
			КонецЕсли;
			Если Эл.Наименование = "АдресЗначение" Тогда
				ИмяДопРек = Эл.ИмяРеквизитаЗначение;
				ЭтотОбъект[ИмяДопРек] = Результат.Значение;
			КонецЕсли;
		КонецЦикла;
		ЭтотОбъект.Модифицированность = Истина;
	КонецЕсли;
	
КонецПроцедуры

Готово!

Сейчас при открытии Подразделения у нас есть доп. реквизит с кнопкой выбора, при нажатии на кнопку выбора открывается форма заполнения адреса. После заполнения, адрес переносится на наш доп. реквизит "Адрес", а благодаря доп. реквизиту "АдресЗначение" при следующем редактировании адреса, классификатор откроется в том же виде, что был при закрытии: 

 

 

Без доп. реквизита "АдресЗначение" при повторном открытии классификатор бы открывался с адресом в свободной форме, что неудобно.

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.35.48
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.35.48

Вступайте в нашу телеграмм-группу Инфостарт

Расширения Дополнительные реквизиты Адресный классификатор

См. также

SALE! 50%

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Мастера заполнения Программист Бухгалтер Пользователь 1С v8.3 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки, и оно автоматически применится при загрузке выписки, экономя ваше время. Решение позволяет автоматически заполнять расшифровку платежа, исключать загрузку ненужных документов (дублей) из банка, заполнять комиссию за эквайринг и многое другое. Вам не нужно доплачивать за алгоритмы, они уже включены в решение. Автоматическая обработка применяется при загрузке данных как из файлов клиент банка, так и через DirectBank.

15000 руб.

20.12.2024    11320    41    26    

42

Операции по ВЭД Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Мастера заполнения Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Данная обработка расширяет функционал типовой конфигурации «1С:Бухгалтерия предприятия» и позволяет осуществлять автоматическое заполнение ГТД в документах «Реализация товаров и услуг», «Списание товаров», «Отчет о розничных продажах», «Отчет комиссионера (агента) о продажах», «Требование-накладная», «Возврат товаров от покупателя», «Комплектация номенклатуры», «Безвозмездная передача», «Отчет производства за смену». Обработка предназначена для работы в конфигурации «1С:Бухгалтерия предприятия 8, редакция 3.0» Есть версия обработки оптимизированная для работы в 1CFresh

9600 руб.

19.06.2012    143499    297    81    

245

Мастера заполнения Нейросети 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания товара (номенклатуры) с помощью модели ИИ ChatGPT с ключевыми словами. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    21460    55    50    

79

Оптовая торговля Мастера заполнения Бизнес-аналитик Пользователь 1С v8.3 Оперативный учет 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Данное расширение автоматически заполняет бизнес-регион партнера в 1С (УТ 11, КА 2, ERP) при записи на основании КПП или индекса из адреса. Присутствует возможность сохранить имеющиеся бизнес-регионы партнеров, а также перезаполнить или очистить их при первичном заполнении. Возможен выбор региона по умолчанию для партнера без КПП или адреса (например, если вы не указываете адреса физ. лиц и знаете, что они из Вашего региона).

5010 руб.

29.04.2019    35453    73    51    

77

SALE! 50%

Регламентированный учет и отчетность Мастера заполнения Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет ЕСН Платные (руб)

Обработка позволяет создавать документы "Сведения об уплате налогов на едином налоговом счете" по данным файла операций из личного кабинета ЕНС сайта ФНС в конфигурации 1С:Бухгалтерия предприятия 3.0.

10000 5000 руб.

22.11.2024    2835    18    4    

19

Мастера заполнения 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение для типовых конфигураций 1С:БП 3.0, 1С:УНФ 3.0, 1С:УТ 11 добавляет в справочник "Контрагенты" поля "Код ОКВЭД" и "Наименование ОКВЭД" и заполняет их по ИНН контрагента через сервис "1С-Контрагент"

7200 руб.

28.10.2024    1873    6    0    

7

Мастера заполнения 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Если вы устали каждый раз выбирать один и тот же договор из множества других при оформлении документов, это расширение для вас! Пометьте один договор как основной и это избавит вас от рутинного поиска необходимого договора.

5000 руб.

26.01.2023    7032    14    1    

10
Для отправки сообщения требуется регистрация/авторизация