gifts2017

Механизм доп. реквизитов и сведений

Опубликовал Сергей Юсупов (piffoff) в раздел Программирование - Практика программирования

Как к новому справочнику подключить механизм дополнительных реквизитов и сведений

Это совсем не сложно но в первый раз может отнять пару часов времени

Я буду показывать на примере Бухгалтерии версии (3.0.43.152) 

Есть у меня новый справочник "я_ПодразделенияОрганизаций" вот в него и будем добавлять

1.  К новому справочнику нам необходимо добавить табличную часть для хранения доп. 

реквизитов. Идем в номенклатуру - Копировать - Вставить

 

2. Далее в справочнике НаборыДополнительныхРеквизитовИСведений добавляем 
предопределенный элемент Справочник_я_ПодразделенияОрганизаций

3. Включаем тип этого справочника в состав ПВХ ДополнительныеРеквизитыИСведения

4. Заполняем Характеристики в справочнике я_ПодразделенияОрганизаций

5. Идем в Общие - Определяемые типы - ВладелецДополнительныхСведений и ставим там галочку

6. В форму элемента нашего справочника переносим стандартный код и создаем группу "ГруппаДополнительныеРеквизиты"

 

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Обработчик подсистемы "Свойства"
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("Объект", Объект);
	ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
	УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, ДополнительныеПараметры);
	
КонецПроцедуры

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

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

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

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

// СтандартныеПодсистемы.Свойства

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

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

// Конец СтандартныеПодсистемы.Свойства&НаСервере

Процедура ОбновитьЭлементыДополнительныхРеквизитов()
	
	УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтаФорма, РеквизитФормыВЗначение("Объект"));
КонецПроцедуры

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

7. Сохраняем обновляем конфу и запускаем 1С 

8. Ну и последнее. Нам необходимо выполнить обновление идентификаторов метаданных

и выставить значение реквизита Используется = истина для созданного нами предопределенного элемента.

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

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

Наименование Файл Версия Размер Кол. Скачив.
НастрокаНабораДополнительныхРеквизитовИСведений
.epf 6,52Kb
22.06.16
2
.epf 1.0 6,52Kb 2 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Никита Грызлов (nixel) 23.06.16 01:21
Не надоело итс перепечатывать?
Не говоря уже о том, что пару версий БСП вперед или назад и алгоритм может быть уже другой?
2. Ярослав Володимирович (myr4ik07) 23.06.16 11:50
(1) nixel, нехай передруковує, не всі ж мають доступ до ІТС, в мене немає доступу і мені дуже цікаво!
3. Яков Коган (Yashazz) 23.06.16 19:35
Одно из двух - или это беспардонный копипаст без указания источника, что, насколько помню, нарушение законодательства, насчёт перепечатки материалов с ИТС, или это самостоятельное и героическое изобретение велосипеда.
4. Сергей К. (eskor) 30.06.16 12:03
(3) Yashazz, да не похоже на перепечатку, просто человек почитав ИТС понял, что не всем дано вникнуть в глубинных смысл тамошних статей, поэтому и написал пошаговую инструкцию: что, где, когда.
В конце концов, на сайте множество новичков, для них такие статьи благо. Однозначно пусть будет!
Winstoncuk; +1 Ответить
5. A G (grachev1c) 30.06.16 13:15
Спрос на ИТС в формате "для народа" есть!
Инфостарт и сам себя позиционирует в том числе для домохозяек бухгалтеров, плюс все молодые бойцы из франчей на инфостарте сидят - набираются опыта, кто-то с ноля.

Но и проблема есть!
Инфостарт по контенту сделали реально крутые в 1С и не только ребята. А сейчас их труд размывается и замывается не таким эксклюзивным материалом. В общей массе уровень падает - плата за популярность.

Интересно когда старожилы будут вытеснены армией новых неофитов 1С, куда они уйдут?

Ну в общем я про то, что, по-моему мнению, Инфостарту пора начинать разводить контент по уровню сложности. Просто деления на роли пользователей (бухгалтер, директор, менеджер, программист) не хватает - программист программисту рознь!

PS. Прости автор за оффтоп и спасибо за повод.
Winstoncuk; igo1; +2 Ответить
6. Валерий Гайдабура (director04) 01.07.16 16:00
У меня к автору один вопрос: а нахрена прикручивать механизм доп. реквизитов к созданному тобой же справочнику?
Механизм доп. реквизитов подразумевает возможность добавления дополнительных разрезов аналитики, без изменения типовой конфигурации.
Вы уже добавили свой справочник. Почему бы вам не добавить в него необходимые вам реквизиты, и без лишнего гемороя?

И второе: в представленном вами примере, вы карежите типовую конфигурацию (Бухгалтерия предприятия). Ну и огребете же вы говна при очередных обновлениях своей базы.
Мое мнение - вся ваша работа - это детский сад - желание поупражняться типа "а получится ли это у меня".
А вот подумать, как потом все это обслуживать при обновлениях - на это уже соображения не хватило.

Прошу прощения за нравоучение.
7. Роман Озеряный (rozer) 02.07.16 21:30
Вроде тут в разделе видео от компании neti про бсп много различных видео...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа