|
Добавляю в общий модуль исключение для печати непроведенного документа | ☑ | ||
---|---|---|---|---|
0
sotnikov
20.04.15
✎
11:37
|
Хочу дать пользователям возможность печатать из заказа покупателя документ, выбранный по умолчанию.
Вот кусок функции из общего модуля: Если ЭтоДокумент И Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить и Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(Объект.Проведен) Как мне добавить условие исключения документа заказ покупателя? |
|||
1
KrabCore
20.04.15
✎
11:38
|
поставить проверку типа Объекта?
|
|||
2
sotnikov
20.04.15
✎
11:39
|
ну да, проверка, что вид документа не Заказ Покупателя
|
|||
3
KrabCore
20.04.15
✎
11:41
|
ТипЗнч(Объект) <> Тип("ДокументОбъект.ЗаказПокупателя")
это если у тебя в Объекте объект, если ссылка - проверяй на ссылку |
|||
4
sotnikov
20.04.15
✎
11:42
|
Я возможно не точно объяснил задачу.
Вот условие: Если ЭтоДокумент И Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить и Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(Объект.Проведен) Тогда Сообщить("Недостаточно полномочий для печати непроведенного документа!"); Возврат Ложь; КонецЕсли; Оно распространяется на все документы. Как исключить из него вид документа заказ покупателя? |
|||
5
Nuobu
20.04.15
✎
11:50
|
(4) Если ТипЗнч(Объект) <> Тип("ДокументОбъект.ЗаказПокупателя") И ЭтоДокумент И Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить и Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(Объект.Проведен) Тогда
Сообщить("Недостаточно полномочий для печати непроведенного документа!"); Возврат Ложь; КонецЕсли; Фрагмент кода взял из (3) |
|||
6
sotnikov
20.04.15
✎
11:55
|
Спасибо, понял. Буду попробовать.
|
|||
7
samozvanec
20.04.15
✎
12:13
|
таки логичнее исключение описывать в функции УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов
что будешь делать, если исключением стану 10 документов? все туда же лепить? |
|||
8
DrShad
20.04.15
✎
12:15
|
(7) я бы в таком случае добавил ДополнительныеСвойства объекту и на них проверял
|
|||
9
sotnikov
20.04.15
✎
12:35
|
(8) Хочу ограничиться минимальными правками типовой конфы.
(7) В принципе годный совет. Как его реализовать. Вот функция: Функция РазрешитьПечатьНепроведенныхДокументов(Проведен = Истина) Экспорт Если Проведен Тогда Возврат Истина; КонецЕсли; РазрешеноПечатать = УправлениеПользователями.ПолучитьЗначениеПраваДляТекущегоПользователя(ПланыВидовХарактеристик.ПраваПользователей.ПечатьНепроведенныхДокументов, Ложь); Если РазрешеноПечатать.Количество() = 0 Тогда Возврат Ложь; ИначеЕсли РазрешеноПечатать.Количество() > 1 Тогда Возврат Истина; Иначе Возврат РазрешеноПечатать[0].Значение; КонецЕсли; КонецФункции // РазрешитьПечатьНепроведенныхДокументов() |
|||
10
sotnikov
20.04.15
✎
12:37
|
"Как его реализовать" должно было быть со знаком вопроса -> ?
|
|||
11
samozvanec
20.04.15
✎
13:14
|
(9) много вариантов. можно прямо в эту функцию добавить параметр, по умолчанию = неопределено, и проверять его тип, например
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |