Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 июл 2025, 23:30

Дополнительные права пользователей

Автор sali, 10 июл 2025, 12:27

0 Пользователей и 1 гость просматривают эту тему.

sali

В дополнительные права добавляю новые "открывать отбор номенклатуры мобильный" , делаю на основе права РМК. там есть одно право которое открывает форму меню рмк при начале работы / при запуске программы и блокирует все окно владельца. для этого еще есть параметр сеанса "форма рабочего места кассира", вопрос как добавить и инициализировать сеанс , чтобы ошибок не выходило?

код модуля приложения конфигурации
Процедура ПриНачалеРаботыСистемы()

// СтандартныеПодсистемы
СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();
// Конец СтандартныеПодсистемы

// МаркетинговыеАкции
ПорядковыйНомерПродажи = 1;
// Конец МаркетинговыеАкции

// ПодключаемоеОборудование
МенеджерОборудованияКлиент.ПриНачалеРаботыСистемы();
// Конец ПодключаемоеОборудование 

//#Если ВебКлиент Тогда   
// ОткрытьФормуМодально("Обработка.ПросмотрОстатковНоменклатуры.Форма.Форма");
//#КонецЕсли

ОткрыватьОтборПриЗапускеПрограммы = ОбщегоНазначенияРТВызовСервера.ОткрыватьОтборНоменПриЗапускеПрограммы();

Если ОткрыватьОтборПриЗапускеПрограммы  Тогда

ОбщегоНазначенияРТКлиент.ОткрыватьФормуОтбораНоменклатуры();

КонецЕсли;

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


//Получает  настройку права пользователя "ОткрыватьОтборНоменПриЗапускеПрограммы". 
//
Функция ОткрыватьОтборНоменПриЗапускеПрограммы() Экспорт

    ПравоДоступаМобильногоКлиента = ПравоДоступа("Чтение", Метаданные.РегистрыСведений.акдНастройкиМенеджераЛицензий);

Если ПравоДоступаМобильногоКлиента Тогда

Пользователь = ПользователиКлиентСервер.ТекущийПользователь();

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

КонецФункции


#Область ОтбораНоменклатуры       

// Процедура открывает форму отбора.
//
Процедура ОткрыватьФормуОтбораНоменклатуры() Экспорт

ФормаРабочегоМестаКассира = ОбщегоНазначенияРТВызовСервера.ЗначениеПараметраСеанса("ФормаОтбораМобильногоПриложения");

Если Не ЗначениеЗаполнено(ФормаРабочегоМестаКассира) Тогда

ОбработчикОповещения = Новый ОписаниеОповещения("ОповещениеОткрытьФормуОтборМобильный", ЭтотОбъект);
Режим = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс;
ОткрытьФорму("Обработка.ПросмотрОстатковНоменклатуры.Форма.Форма",,,,,, ОбработчикОповещения, Режим);
КонецЕсли;

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

// Обработка результата открытия формы РМК управляемый. 
//
Процедура ОповещениеОткрытьФормуОтборМобильный(РезультатОткрытияФормы, ДополнительныеПараметры) Экспорт

Если РезультатОткрытияФормы = "ЗавершитьРаботуСистемы" Тогда
ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;

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

#КонецОбласти

Снимок экрана 2025-07-10 152717.png

sali

а ошибка такая выходит
Ошибка при получении значения атрибута контекста (ФормаОтбораМобильногоПриложения)
{ОбщийМодуль.ОбщегоНазначенияРТВызовСервера.Модуль(174)}: Возврат ПараметрыСеанса[ИмяПараметра]
{ОбщийМодуль.ОбщегоНазначенияРТКлиент.Модуль(311)}: ФормаРабочегоМестаКассира = ОбщегоНазначенияРТВызовСервера.ЗначениеПараметраСеанса("ФормаОтбораМобильногоПриложения");
{МодульУправляемогоПриложения(152)}: ОбщегоНазначенияРТКлиент.ОткрыватьФормуОтбораНоменклатуры();
по причине:
Попытка получения неинициализированного значения параметра сеанса
Попытка получения неинициализированного значения параметра сеанса

sali

нужен ли вообще новый параметр сеанса для этого, для формы которая выводит данные просто. по отбору????

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск