gifts2017

Переключение режимов рабочего стола (управленческий/регламентированный) в ЗиУП

Опубликовал Александр Алёхин (new_user) в раздел Программирование - Практика программирования

Стандартно режим рабочего стола в ЗиУП настраивется в настройках пользователя - не удобно переключаться.

Заходим в конфигуратор, находим обработку "РабочийСтол", открываем основную форму, добавляем на форму элемент управления надпись с именем "нРежимРабочегоСтола" и устанавливаем ему порядок = "на передний план". В модуль формы добавляемым процедуру "нРежимРабочегоСтолаНажатие" свяжем её с элементом управления в обработчике события "нажатие". Добавим вызов процедуры в процедуру "ПриОткрытии".

Процедура нРежимРабочегоСтолаНажатие(Элемент)
Если ЭлементыФормы.нРежимРабочегоСтола.Заголовок = "УПРАВЛЕНЧЕСКИЙ УЧЕТ" Тогда
ЗаголовокНадписиРежима = "РЕГЛАМЕНТИРОВАННЫЙ УЧЕТ";

ЗначениеРегистра = Ложь;
Иначе
ЗаголовокНадписиРежима = "УПРАВЛЕНЧЕСКИЙ УЧЕТ";

ЗначениеРегистра = Истина;
КонецЕсли;

ЭлементыФормы.нРежимРабочегоСтола.Заголовок = ЗаголовокНадписиРежима;

//-
ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;

Запрос = Новый Запрос(
"ВЫБРАТЬ
| НастройкиПользователей.Пользователь,
| НастройкиПользователей.Настройка,
| НастройкиПользователей.Значение
|ИЗ
| РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
|ГДЕ
| НастройкиПользователей.Пользователь = &Пользователь
| И (НЕ НастройкиПользователей.Настройка.ЭтоГруппа)");

Запрос.УстановитьПараметр("Пользователь", ТекущийПользователь);

Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Набор = РегистрыСведений.НастройкиПользователей.СоздатьНаборЗаписей();
Набор.Отбор.Пользователь.Установить(ТекущийПользователь);
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Настройка.ПометкаУдаления Тогда
Продолжить;
КонецЕсли;

Запись = Набор.Добавить();
Запись.Пользователь = ТекущийПользователь;
Запись.Настройка = Выборка.Настройка;
Если Выборка.Настройка = ПланыВидовХарактеристик.НастройкиПользователей.ИспользоватьУправленческийРежимРабочегоСтола Тогда
Запись.Значение = ЗначениеРегистра;
Иначе
Запись.Значение = Выборка.Настройка.ТипЗначения.ПривестиЗначение(Выборка.Значение);
Если Запись.Настройка = ПланыВидовХарактеристик.НастройкиПользователей.ОсновнойОтветственный И Не ЗначениеЗаполнено(Запись.Значение) Тогда
Запись.Значение = ТекущийПользователь;
КонецЕсли;
КонецЕсли;

КонецЦикла;

Набор.Записать();

ОбработатьЭлементыУправленияПоРежиму();
КонецЕсли;
КонецПроцедуры


 

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

Наименование Файл Версия Размер Кол. Скачив.
Исходник
.txt 1,96Kb
05.04.12
4
.txt 1,96Kb 4 Скачать

См. также

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

Комментарии

1. Серёжка Шеянов (CepeLLlka) 27.05.13 21:16
Прикольно :) Думаю запилю у себя нечто подобное.. спасибо!
2. Александр Алёхин (new_user) 28.05.13 10:37
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа