Поле адреса в своем справочнике на примере 1С:Бухгалтерия 3

Публикация № 1060970 17.05.19

Приемы и методы разработки - Механизмы типовых конфигураций

ввод адреса фиас кладр поле классификатор адресов форма ввода конфигурация управляемые формы

В публикации описано, как добавить поле адреса в свой справочник, чтобы вводить адрес через адресный классификатор.

Публикация является продолжением темы https://forum.infostart.ru/forum9/topic111014/.

Рассмотрим на практике что необходимо сделать, чтобы на форме нашего справочника появилось поле адреса, ввод которого будет осуществляться из адресного классификатора. В качестве примера возьмем Бухгалтерию 3.0.70.50 (платформа 8.3.14.1694) с добавленным нами справочником Справочник1. Эталоном для нас будет справочник ТорговыеТочки, в котором ввод адреса уже реализован.

1. Из справочника-эталона скопируем в наш справочник табличную часть КонтактнаяИнформация, именно в ней будет храниться адрес.
2. В форме элемента нашего справочника добавим элемент формы Обычная группа и назовем ее "ГруппаКонтактнаяИнформация", оставим ее пустой.
3. Из модуля формы элемента справочника-эталона скопируем в модуль формы элемента нашего справочника блок кода СтандартныеПодсистемы.КонтактнаяИнформация, а также содержимое обработчиков событий формы с комментарием СтандартныеПодсистемы.КонтактнаяИнформация.
4. Добавим в справочник ВидыКонтактнойИнформации предопределенные группу СправочникСправочник1 (название группы должно быть именно таким) и элемент АдресСправочникСправочник1.
5. Добавленные группу и элемент справочника ВидыКонтактнойИнформации необходимо отредактировать: реквизит Используется = ИСТИНА, реквизит элемента Тип = Перечисления.ТипыКонтактнойИнформации.Адрес. Сделаем это программно в обработчике ПриСозданииНаСервере.

Вот что должно получиться в модуле формы элемента:

// СтандартныеПодсистемы.КонтактнаяИнформация

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
	УправлениеКонтактнойИнформациейКлиент.ПриИзменении(ЭтотОбъект, Элемент);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
	УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент,, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
	УправлениеКонтактнойИнформациейКлиент.Очистка(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
	УправлениеКонтактнойИнформациейКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда.Имя);
КонецПроцедуры

&НаСервере
Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
	
	УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	УправлениеКонтактнойИнформациейКлиент.АвтоПодбор(Текст, ДанныеВыбора, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);
	
КонецПроцедуры

// Конец СтандартныеПодсистемы.КонтактнаяИнформация

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ПриЧтенииНаСервере(ЭтотОбъект, Объект);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, Отказ);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Нужно выполнить только 1 раз
	ГруппаВидовКонтактнойИнформации = Справочники.ВидыКонтактнойИнформации["СправочникСправочник1"];
	ГруппаВидовКонтактнойИнформацииОбъект = ГруппаВидовКонтактнойИнформации.ПолучитьОбъект();
	ГруппаВидовКонтактнойИнформацииОбъект.Используется = Истина;
	ГруппаВидовКонтактнойИнформацииОбъект.Записать();
	
	ЭлементВидовКонтактнойИнформации = Справочники.ВидыКонтактнойИнформации["АдресСправочникСправочник1"];
	ЭлементВидовКонтактнойИнформацииОбъект = ЭлементВидовКонтактнойИнформации.ПолучитьОбъект();
	ЭлементВидовКонтактнойИнформацииОбъект.Используется = Истина;
	ЭлементВидовКонтактнойИнформацииОбъект.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
	ЭлементВидовКонтактнойИнформацииОбъект.Записать();
	// Конец
	
	
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтотОбъект, Объект, "ГруппаКонтактнаяИнформация");
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
КонецПроцедуры

Запускаем, можно вводить адрес!
Файл .cfu с указанными изменениями приложен.

Скачать файлы

Наименование Файл Версия Размер
Поле адреса в своем справочнике на примере 1С:Бухгалтерия 3:

.cfu 1,64Mb
15
.cfu 1,64Mb 15 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1002251 08.11.19 12:21 Сейчас в теме
При закрытии формы адрес не сохраняется
alexeyvs77; user1669605; +2 Ответить
2. Greek26rusa 2 03.12.19 23:52 Сейчас в теме
Как можно в форму добавить свое поле( точней как добавить я нашел) как из него сохранить также динамически

допустим у справочника есть 10 адресов и у каждого должен быть свой склад. Подскажите?
3. user1129453 31.01.21 10:02 Сейчас в теме
А как то же самое сделать в расширении? Если в расширении нельзя добавлять предопределенные элементы в справочник "Виды контактной информации"?
alexeyvs77; +1 Ответить
8. bilex 12.11.22 19:04 Сейчас в теме
(3) Нужно программно создать группу справочника ВидыКонтактнойИнформации, и заполнить реквизит ИмяПредопределенногоВида как СправочникСправочник1, далее уже в режиме предприятия можно создать элемент справочника.
4. iCortezik 7 11.02.21 13:02 Сейчас в теме

&НаСервере
Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
	
	УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
	
КонецПроцедуры
Показать


желательно добавить "Экспорт"


&НаСервере
Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат) Экспорт
	
	УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
	
КонецПроцедуры
Показать
kucar_ip; Wersia; +2 Ответить
5. user1669605 25.09.21 18:53 Сейчас в теме
При закрытии формы и у меня данные не сохраняются.

Экспорт не помог
6. supermoonstar 14.02.22 10:29 Сейчас в теме
(5) т.к. надо процедуры ПриСозданииНаСервере, ПередЗаписьюНаСервере и д.р. создавать в модуле а не копированием. P.S. может кому пригодиться...
7. verniypro 4 23.02.22 17:53 Сейчас в теме
(6) можно и скопировать, но потом нужно привязать.
Оставьте свое сообщение

См. также

Пример создания документа с движениями в ERP 2.5.7

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

Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.

1 стартмани

10.08.2021    6452    maraty    12    

Связи параметров выбора номенклатуры и характеристики в 1С 8.3

Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 1С:Управление торговлей 11 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Комплексная автоматизация 2.х Россия Россия Абонемент ($m) Абонемент ($m)

Из этой статьи вы узнаете, как, используя системы стандартов и методик разработки 1С, правильно настроить связи параметров выбора номенклатуры и характеристики в новой табличной части.

1 стартмани

22.02.2021    3485    plotnikov1c    2    

Табличная часть из дополнительных реквизитов с обработкой событий в расширении

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

13.05.2019    16421    mvxyz    18    

Программное создание реквизита управляемой формы с помощью механизма расширений

Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

12.03.2019    76361    ni_cola    35    

Технология кэширования результата разузлования продукции по спецификации

Производство готовой продукции (работ, услуг) Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Управление производственным предприятием Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Рассматривается технология кэширования результата разузлования продукции по спецификации. Данная технология может оказаться полезной для значительного ускорения работы системы в части разузлования в конфигурациях УПП. Тестировалось на платформе 1С 8.3.12.1469, релизы УПП 1.2, 1.3.

1 стартмани

01.03.2019    4228    kiba    2    

Механизм подбора из справочника номенклатуры и передача отобранных позиций в документ

Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Небольшая статья, больше как памятка для себя, надеюсь, что кому-нибудь пригодится. Первый нюанс это передача владельца формы при открытии формы и использование его. А второй - это временное хранилище для передачи в клиент-серверных технологиях.

1 стартмани

29.12.2018    5025    AlexHelmer    0    

Рисуем Робота в диаграмме Ганта с использованием Регистра расчетов и Плана видов расчета

Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

О сложных механизмах расчетного учета, который обычно используются в программах начисления зарплаты, в простом примере в виде рисования Робота в диаграмме Ганта.

1 стартмани

18.02.2018    11062    jan-pechka    12    

Знакомство с 1С:Документооборот. История автоматизации и доработок. Печатная форма Лист согласования

Документооборот и делопроизводство Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 1С:Документооборот 1С:Документооборот Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Документооборот 2.1.10.2 ПРОФ, КОРП. История автоматизации и доработок. Ввод на основании внутреннего документа из задачи согласование с переносом прикрепленных файлов(копировать и вставить файлы). ПФ Лист согласования для процесса Согласование и для справочника Внутренние документы(печатается с историей). Автоматическая загрузка справочника по com-соединению из другой базы. Печатные формы работают и на последнем релизе 2.1.20.5.

1 стартмани

04.07.2017    23336    SPonomareff    21    

Ценообразование по группам контрагентов от закупочной цены УТ10, УПП, КА

Ценообразование, анализ цен Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление производственным предприятием Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Существует целый класс предприятий в которых цена для клиента жёстко привязана к закупочной (по определённому правилу) и зависит от его формального статуса (например от принадлежности к группе VIP,ОПТ...). В этой статье я предлагаю несколько простых действий для реализации подобной системы ценообразования.

1 стартмани

07.11.2012    22506    Ibrogim    13