Товарищи, подскажите такой момент:
Мне нужно сделать видимость документов по определенному складу (складам), которые выставлены у пользователя.
Делаю так:
1.В справочнике пользователей определил какие склады ему доступны.
2.При открытии формы списка документов поступлений (например) - вставил такую процедуру:
какбы все работает, склады отображаются согласно установленным у пользователя.
у меня вопрос - на сколько такой подход правильный с вашей точки зрения?
Мне нужно сделать видимость документов по определенному складу (складам), которые выставлены у пользователя.
Делаю так:
1.В справочнике пользователей определил какие склады ему доступны.
2.При открытии формы списка документов поступлений (например) - вставил такую процедуру:
Процедура ПриОткрытии()
СтандартнаяОбработка = Ложь;
ФормаСписка = Документы.ПоступлениеТоваровУслуг.ПолучитьФормуСписка();
ФормаСписка.ДокументСписок.Отбор.СкладОрдер.Значение = Справочники.Склады.НайтиПоКоду("00000004");
ФормаСписка.ДокументСписок.Отбор.СкладОрдер.Использование = Истина;
ФормаСписка.ЭлементыФормы.ДокументСписок.НастройкаОтбора.СкладОрдер.Доступность = Ложь;
ФормаСписка.Открыть();
КонецПроцедуры
Показатькакбы все работает, склады отображаются согласно установленным у пользователя.
у меня вопрос - на сколько такой подход правильный с вашей точки зрения?
По теме из базы знаний
- Ограничение на проведение реализаций по группе доступности складов в УТ 10.3
- Анализ заказа покупателя с отображением остатков по группе доступности складов
- 1С УПП. Перемещение товаров. Ограничение по складам и подразделениям
- Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП
- Пробитие чека ККМ с разных складов через РМК в УТ 11
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
aximo, а что мешает ролями разрулить эту ситуацию?
THEBESTolo4b, вот код он для 8.1 УТ 10.3, делал не я, а очень хороший программер, по этому прошу код не критиковать
код в модуле сеанса
Если РольДоступна("МенеджерПоПродажам") и не РольДоступна("ПолныеПрава") тогда
ПараметрыСеанса._ЭтоМенеджерПоПродажам=истина;
ПараметрыСеанса._ОсновнойСклад =УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад");
ПараметрыСеанса._ОсновнаяКассаККМ =УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнаяКассаККМ");
ПараметрыСеанса._ОсновнойТипЦенПродажи=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойТипЦенПродажи");
КонецЕсли;
в роли на нужные документы в праве на чтение
#Если &_ЭтоМенеджерПоПродажам #Тогда
ЧекККМ ГДЕ ссылка.Склад=&_ОсновнойСклад и ссылка.КассаККМ=&_ОсновнаяКассаККМ
#КонецЕсли
THEBESTolo4b, вот код он для 8.1 УТ 10.3, делал не я, а очень хороший программер, по этому прошу код не критиковать
код в модуле сеанса
Если РольДоступна("МенеджерПоПродажам") и не РольДоступна("ПолныеПрава") тогда
ПараметрыСеанса._ЭтоМенеджерПоПродажам=истина;
ПараметрыСеанса._ОсновнойСклад =УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад");
ПараметрыСеанса._ОсновнаяКассаККМ =УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнаяКассаККМ");
ПараметрыСеанса._ОсновнойТипЦенПродажи=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойТипЦенПродажи");
КонецЕсли;
в роли на нужные документы в праве на чтение
#Если &_ЭтоМенеджерПоПродажам #Тогда
ЧекККМ ГДЕ ссылка.Склад=&_ОсновнойСклад и ссылка.КассаККМ=&_ОсновнаяКассаККМ
#КонецЕсли
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот