gifts2017

Некоторые моменты при разработке интерфейса на Управляемых формах на примере УТ 11

Опубликовал Kost Aridov (kvikster) в раздел Программирование - Практика программирования

Некоторые моменты при разработке интерфейса на Управляемых формах на примере УТ 11
С некоторыми вещами бился достаточно долго, чтобы об этом написать. Может, кому ускорю процесс оформления

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

В свойствах объекта «Список» есть настройка «Настройка списка»

На вкладке условное оформление в моем случае по разным статусам будет разное выделение, чтобы пользователь сам мог фильтровать данные на вкладке «отбор». Можно установить параметры отбора. Для удобства включим в пользовательские настройки

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

 Кнопку печать можно добавить как динамически, так и через команду. Для этого необходимо создать команду и в свойствах указать Группу, в которой эту кнопку показать (Печать, конечно же)

 Второй способ это добавить стандартную процедуру в модуль формы

&НаКлиенте

Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)

УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Элементы.Список);

КонецПроцедуры

 

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// СтандартныеПодсистемы.Печать

УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма);

// Конец СтандартныеПодсистемы.Печать

КонецПроцедуры

 

и в модуль менеджера

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

Если Пользователи.РолиДоступны("ПартнерСамообслуживание,ПолныеПрава") Тогда

// Претензия клиента

КомандаПечати = КомандыПечати.Добавить();

КомандаПечати.Идентификатор = "Название";

КомандаПечати.Представление = НСтр("ru = 'Представление'");

КонецЕсли;

КонецПроцедуры

 

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Название") Тогда

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Название", "Представление", <Наш ТабличныйДокумент для вывода>);

КонецЕсли;

КонецПроцедуры

 

почти также и для формы элемента или документа

Для добавления внешних печатных форм необходимо наш объект включить в состав «Тип параметра команды» в команде «ДополнительныеОтчетыИОбработкиПечатныеФормы» или в новых релизах «ДополнительныеПечатныеФормыОбъекта»

Еще важный момент есть при создании новых отчетов, после их создания надо обновить справочник «ИдентификаторыОбъектовМетаданных»

можно обработкой

&НаСервере

Процедура ОбновлениеСправочникаНаСервере()

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина,Истина);

КонецПроцедуры


Новые роли не устанавливаются из профилей? тогда выполняем обработку:

&НаСервере

Процедура ОбновитьНаСервере()

ПользователиСлужебный.ОбновитьПараметрыРаботыПользователей();

КонецПроцедуры

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Дмитрий Елисеев (w-divin) 23.05.14 10:54
Совсем не понял о чем статья... Какие моменты здесь освещены? вызов процедур из общих модулей? Многих на инфостарте ругают за "пересказ ЖКК" - а тут вообще ничего нет. Хоть бы описал детально что делают описанные тобой вызовы процедур/функций общих модулей...
McSim; romankoav; wolfsoft; +3 Ответить
2. Владимир Попов (NittenRenegade) 28.05.14 06:08
Вроде по-русски статью писал, но ничего не понятно. Автор ты ее перечитывать пробовал или похмелье ещё не отпустило?
3. mikhailovaew (mikhailovaew) 28.05.14 09:26
4. Kost Aridov (kvikster) 28.05.14 09:39
Это первая публикация, в следующий раз учту все замечания
5. Nick (Puk2) 28.05.14 11:26
всё описанное в статье интуитивно понятно даже без книг, кроме последнего абзаца. Про ОбновитьПараметрыРаботыПользователей было бы полезно начинающим, но с таким названием статьи они просто не найдут эту информацию.
Насколько помню, константа с фиксированной структурой обновляется только при обновлении версии конфигурации. Поэтому при добавлении своих ролей надо было принудительно вызывать данную процедуру.
6. Александр Аляев (alyaev.a.v) 28.05.14 12:18
Ссылки на документацию БСП было бы достаточно.
7. Владимир (Strange Device) 10.06.14 22:27
А мне помогло. Спасибо. Лазить по коду УТ никакого желания не было и я уже начал сам писать обработку для добавления нового документа в ИдентификаторыОбъектовМетаданных, а оказалось все решается одной строкой - спасибо. Да, ссылки на документацию не достаточно - ее еще прочитать надо, что не быстро :-)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа