Цель: выявить (зафиксировать) и реализовать удобную навигацию в КД, например:
-Открытие алгоритмов в правилах конвертации объектов и правилах выгрузки данных.
-Открытие алгоритмов в правилах конвертации объектов и правилах выгрузки данных.
При анализе ПКО и ПВД часто возникает необходимость открыть используемый в правилах алгоритм, для чего необходимо перейти на вкладку "Алгоритмы" и найти его.
Список реализуемых действий:
- Открыть алгоритм
- Открыть запрос
- Открыть ПКО
- Можно еще что-то напридумывать, предлагаю обсудить и сделать удобную навигацию между объектами.
Доработка модуля форм элемента "ПКО" и "ПВД", после последней процедуры добавить:
Функция ПолучитьВыделенныйТекст()
Возврат ЭлементыФормы[ЭлементыФормы.ПанельАлгоритмы.ТекущаяСтраница.Имя].ВыделенныйТекст;
КонецФункции
Процедура Действие_ОткрытьАлгоритм(Кнопка)
Справочники.Алгоритмы.НайтиПоКоду(ПолучитьВыделенныйТекст(),,,СправочникОбъект.Владелец).ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура Действие_ОткрытьЗапрос(Кнопка)
Справочники.Запросы.НайтиПоКоду(ПолучитьВыделенныйТекст(),,,СправочникОбъект.Владелец).ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура Действие_ОткрытьПКО(Кнопка)
Справочники.ПравилаКонвертацииОбъектов.НайтиПоКоду(ПолучитьВыделенныйТекст(),,,СправочникОбъект.Владелец).ПолучитьФорму().Открыть();
КонецПроцедуры
КомПанель = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"),"ПанельОткрытьАлгоритм",Ложь,ЭлементыФормы.ПанельАлгоритмы);
Для каждого СтраницаАлгоритмы Из ЭлементыФормы.ПанельАлгоритмы.Страницы Цикл
ТабПоле = ЭлементыФормы[СтраницаАлгоритмы.Имя];
Если Ложь Тогда ТабПоле = ЭлементыФормы.АлгоритмПередОбработкойПравила; КонецЕсли;
ТабПоле.КонтекстноеМеню = КомПанель;
КонецЦикла;
КомПанель.Кнопки.Добавить("КомандаОткрытьАлгоритм",ТипКнопкиКоманднойПанели.Действие,"Открыть алгоритм",
Новый Действие("Действие_ОткрытьАлгоритм"));
КомПанель.Кнопки.Добавить("КомандаОткрытьЗапрос",ТипКнопкиКоманднойПанели.Действие,"Открыть запрос",
Новый Действие("Действие_ОткрытьЗапрос"));
КомПанель.Кнопки.Добавить("КомандаОткрытьПКО",ТипКнопкиКоманднойПанели.Действие,"Открыть ПКО",
Новый Действие("Действие_ОткрытьПКО"));
Доработка модуля форм элемента "Алгоритмы", после последней процедуры добавить:
Функция ПолучитьВыделенныйТекст()
Возврат ЭлементыФормы.Алгоритм.ВыделенныйТекст
КонецФункции
Процедура Действие_ОткрытьАлгоритм(Кнопка)
Справочники.Алгоритмы.НайтиПоКоду(ПолучитьВыделенныйТекст(),,,СправочникОбъект.Владелец).ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура Действие_ОткрытьЗапрос(Кнопка)
Справочники.Запросы.НайтиПоКоду(ПолучитьВыделенныйТекст(),,,СправочникОбъект.Владелец).ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура Действие_ОткрытьПКО(Кнопка)
Справочники.ПравилаКонвертацииОбъектов.НайтиПоКоду(ПолучитьВыделенныйТекст(),,,СправочникОбъект.Владелец).ПолучитьФорму().Открыть();
КонецПроцедуры
КомПанель = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"),"ПанельОткрытьАлгоритм",Ложь);
ТабПоле = ЭлементыФормы.Алгоритм;
ТабПоле.КонтекстноеМеню = КомПанель;
КомПанель.Кнопки.Добавить("КомандаОткрытьАлгоритм",ТипКнопкиКоманднойПанели.Действие,"Открыть алгоритм",
Новый Действие("Действие_ОткрытьАлгоритм"));
КомПанель.Кнопки.Добавить("КомандаОткрытьЗапрос",ТипКнопкиКоманднойПанели.Действие,"Открыть запрос",
Новый Действие("Действие_ОткрытьЗапрос"));
КомПанель.Кнопки.Добавить("КомандаОткрытьПКО",ТипКнопкиКоманднойПанели.Действие,"Открыть ПКО",
Новый Действие("Действие_ОткрытьПКО"));
Спасибо, удобно.
Супер! Очень удобное решение!
Я тоже начал смотреть конвертацию ЗУП.
Было бы здорово, если Вы выложите и остальные настройки!
(2) Что есть выложил в статье
(3) Огромное спасибо!
(3) Андрей, а не подскажите — в конфигурации КД при разворачивании окна область алгоритмов (серая зона) не раскрывается! А если растягивать окно вправо — тогда все нормально, хотя вниз тоже не идет!
Как можно привязки поправить?
В борьбе с переходом на ЗУП 31 написал (на мой взгляд) интересную обработку