Права кассира на ручную скидку. УНФ 3.0

После переезда из файловой базы на Cloud 42 возникла проблема — у кассира перестала делаться ручная скидка.

Для диагностики пришлось добавить кнопку Диагностика:

Роли, доступные для: Алексей 
    БазовыеПраваБИД
    БазовыеПраваБПО
    БазовыеПраваБСП
    БазовыеПраваБТС
    БазовыеПраваВЕТИС
    БазовыеПраваГИСМ
    БазовыеПраваЕГАИС
    БазовыеПраваЗарплатаКадры
    БазовыеПраваЗЕРНО
    БазовыеПраваИПП
    БазовыеПраваИСМП
    БазовыеПраваПриложения
    БазовыеПраваЭД
    ВыводНаПринтерФайлБуферОбмена
    ВыполнениеОбменаЭД
    ВыполнениеОбменовДаннымиСМобильнымПриложением
    ДобавлениеИзменениеВариантовДополнительныхОтчетов
    ДобавлениеИзменениеВнесенияИВыемкиНаличных
    ДобавлениеИзменениеДисконтныхКарт
    ДобавлениеИзменениеДополнительныхРеквизитовИСведений
    ДобавлениеИзменениеЗаказовПокупателей
    ДобавлениеИзменениеКассовыхСмен
    ДобавлениеИзменениеКодовТоваровSKU
    ДобавлениеИзменениеЛичныхВариантовОтчетов
    ДобавлениеИзменениеЛичныхШаблоновСообщений
    ДобавлениеИзменениеОперацийПоПлатежнымКартам
    ДобавлениеИзменениеОтчетовОРозничныхПродажах
    ДобавлениеИзменениеПапокИФайлов
    ДобавлениеИзменениеПереоценокВРозницеСуммовойУчет
    ДобавлениеИзменениеПерсональныхДанныхФизическихЛиц
    ДобавлениеИзменениеПодключаемогоОборудования
    ДобавлениеИзменениеСерверЛояльности
    ДобавлениеИзменениеСписанийПроданныхПодарочныхСертификатов
    ДобавлениеИзменениеУсловийОграниченияПродажРМК
    ДобавлениеИзменениеФизическихЛиц
    ДобавлениеИзменениеЦенникиКПечати
    ДобавлениеИзменениеЧековККМ
    ДобавлениеИзменениеЭлектронныхПодписей
    ЗапускВебКлиента
    ЗапускМобильногоКлиента
    ЗапускТолстогоКлиента
    ЗапускТонкогоКлиента
    ИзменениеГраницДиапазонаSKUВесовогоТовара
    ИзменениеДополнительныхСведений
    ИзменениеНастроекПользователей
    ИспользованиеГлобальныхДополнительныхОтчетовИОбработок
    ИспользованиеЗапускаКассыСамообслуживания
    ИспользованиеИнформационногоЦентра
    ИспользованиеНовогоРМК
    ИспользованиеОбработкиПанельОбменаИСМП
    ИспользованиеОбработкиПанельОбменЕГАИС
    ИспользованиеОбработкиПечатьЭтикетокИЦенников
    ИспользованиеОбработкиПроверкаИПодборПродукцииИСМП
    ИспользованиеОбработкиПроверкаИПодборТабачнойПродукцииМОТП
    ИспользованиеОбработкиРаботаСКодамиТоваровSKU
    ИспользованиеОбработкиСозданиеЧековКоррекции
    ИспользованиеОбсуждений
    ИспользованиеПодключаемогоОборудования
    ПереводыСБПc2b
    ПовторнаяПечатьКодовМаркировкиИСМП
    ПодсистемаПродажи
    ПравоОтложитьЧекРМК
    ПравоПродолжитьЧекРМК
    ПравоРедактироватьКартуРМК
    ПравоРучнаяСкидкаРМК
    ПросмотрОтчетаДвиженияПоСправке2ЕГАИС
    ПросмотрОтчетаИнформацияОбОрганизацииЕГАИС
    ПросмотрОтчетаИсторияСправок2ЕГАИС
    ПросмотрОтчетаОбработанныеЧекиЕГАИС
    ПросмотрОтчетаОстаткиАкцизныхМарокЕГАИС
    ПросмотрОтчетаОстаткиАлкогольнойПродукцииЕГАИС
    ПросмотрОтчетаПримененныеСкидкиВДокументе
    ПросмотрСвязанныеДокументы
    ПрофильРабочееМестоКассира
    РаботаСФайлами
    РазделПродажиАналитика
    РазделПродажиСправочники
    РазделПродажиТоварыИУслуги
    РазделРозничныеПродажи
    РазрешитьКодыМаркировкиСОшибкамиПроверкиНаККТ
    РедактированиеПечатныхФорм
    РедактированиеРеквизитовОбъектов
    СохранениеДанныхПользователя
    ЧтениеАвтоматическихСкидок
    ЧтениеАктовСписанияЕГАИС
    ЧтениеАкцизныхМарокЕГАИС
    ЧтениеБонусов
    ЧтениеВидовСкидокИНаценок
    ЧтениеВходящихТТНЕГАИС
    ЧтениеГрафиковРаботы
    ЧтениеДанныхРегламентированнойОтчетности
    ЧтениеДанныхСПАРКРиски
    ЧтениеДенежныхСредствКПоступлению
    ЧтениеДисконтныхКарт
    ЧтениеДокументовЭПД
    ЧтениеДополнительныхОтчетовИОбработок
    ЧтениеДополнительныхСведений
    ЧтениеЗапросовЕГАИС
    ЧтениеИсходящихТТНЕГАИС
    ЧтениеКасс
    ЧтениеКлассификатораАлкогольнойПродукцииЕГАИС
    ЧтениеКлассификатораОрганизацийЕГАИС
    ЧтениеКонтрагентов
    ЧтениеКурсовВалют
    ЧтениеМаршрутовПодписания
    ЧтениеМЧДЭДО
    ЧтениеНастроекОбменаСКонтрагентами
    ЧтениеНастроекПодключенияКСБП
    ЧтениеНастроекРМК
    ЧтениеНовостей
    ЧтениеНоменклатуры
    ЧтениеОстатковАлкогольнойПродукции
    ЧтениеОстатковЗапасовИРасчетов
    ЧтениеРасходовИзКассы
    ЧтениеРозничныхПродаж
    ЧтениеСерверЛояльности
    ЧтениеСостоянийОригиналовПервичныхДокументов
    ЧтениеСправокЕГАИС
    ЧтениеСтатейДвиженияДенежныхСредств
    ЧтениеТранспортныхНакладныхЕГАИС
    ЧтениеУсловийПредоставленияСкидокНаценок
    ЧтениеФизическихЛиц
    ЧтениеЦенНоменклатуры
    ЧтениеЦеновыхГрупп
    ЧтениеЧековЕГАИС
    ЧтениеЧековЕГАИСНаВозврат
    ЧтениеШаблоновПечатиОфисныхДокументов
    ЧтениеШтрихкодовУпаковокТоваров
    ЧтениеЭД
    ЧтениеЭквайринговыхТерминалов
    ЧтениеЭлектронныхДокументов
Список ролей пользователя в РМК:
    ПравоРучнаяСкидкаРМК
    ПравоРедактироватьКартуРМК
    ПравоОтложитьЧекРМК
    ПравоПродолжитьЧекРМК

Код по нажатию кнопки в форме Обработка.РабочееМестоКассира.ФормаРМК:

&НаСервере
Процедура дор_дор_ДиагностикаПослеНаСервере()  
	Сообщить("Роли, доступные для: " + Пользователи.ТекущийПользователь());
	Для Каждого Роль Из Метаданные.Роли Цикл
		Если РольДоступна(Роль.Имя) Тогда
			Сообщить(Символы.Таб + Роль.Имя);
		КонецЕсли;
	КонецЦикла;                         

	Сообщить("Список ролей пользователя в РМК:");
	Для Каждого ЗП Из СписокРолейПользователя Цикл
		Сообщить(Символы.Таб + ЗП.Значение + " "  + ЗП.Представление);
	КонецЦикла;                         
КонецПроцедуры

&НаКлиенте
Процедура дор_дор_ДиагностикаПосле(Команда)
	ОчиститьСообщения();
	дор_дор_ДиагностикаПослеНаСервере();
КонецПроцедуры

Кстати список ролей пользователя РМК заполняется в процедуре ОбщегоНазначенияРМКУНФ.ЗаполнитьТаблицуРолейПользователя, вызываемой из процедуры ЗаполнитьТаблицуРолейПользователяформы Обработка.РабочееМестоКассира.ФормаРМК

На всякий случай в аудит направил еще такой код в модуль ОбщегоНазначенияРМКУНФ:


&Вместо("ЗаполнитьТаблицуРолейПользователя")
Процедура дор_ЗаполнитьТаблицуРолейПользователя(Форма)
	// Вставить содержимое метода.
	ПродолжитьВызов(Форма);      

	//+++Осипов 2024-02-27 т.к. типовые права не работают
	Если НЕ Форма.СписокРолейПользователя.НайтиПоЗначению("ПравоУдалитьСтрокуРМК") = Неопределено Тогда
		Форма.СписокРолейПользователя.Добавить("ПравоУдалитьСтрокуРМК");
	КонецЕсли;
			
	Если НЕ Форма.СписокРолейПользователя.НайтиПоЗначению("ПравоРучнаяСкидкаРМК") = Неопределено Тогда
		Форма.СписокРолейПользователя.Добавить("ПравоРучнаяСкидкаРМК");
	КонецЕсли;

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

Среда: 3.0.5.145 Объем: 0.5 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *