Имя: Пароль:
1C
1С v8
Статусы в документе
0 progaoff
 
08.07.19
10:31
Добрый день, как ограничить список статусов для пользователя, на форме документа есть реквизит с перечислением статусов, вот в нем нужно убрать несколько статусов из видимости.
1 Cyberhawk
 
08.07.19
10:49
Опасные игры
2 HawkEye
 
08.07.19
10:50
(0) перехватит начало выбора, сформировать свой список и подсунуть его для выбора....
кода - 5-10 строк....
3 shuhard
 
08.07.19
11:00
(2) +1
4 Cyberhawk
 
08.07.19
11:03
Ага, а в форме списка и других АРМах оставить команды для перевода документов в любой статус :)
5 progaoff
 
08.07.19
11:07
(4) Тут смысл ограничить список статусов. В форе списка пусть видит.
6 Cyberhawk
 
08.07.19
11:10
Хз о чем ты
7 progaoff
 
08.07.19
11:12
(6) Сделать для пользователя доступными только 3 из 5 статусов.
8 Cyberhawk
 
08.07.19
11:15
После (5) неинтересно стало, ибо не в коня корм )
9 serkorvin1
 
08.07.19
11:47
(0)

&НаКлиенте
Процедура СтатусНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
        
    МассивC = Новый Массив;
    
    Если Объект.Ссылка.Пустая() Тогда
        МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Новая"));
    Иначе
        Если Объект.Статус = ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Выполненная") Тогда
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.ВРаботе"));
        ИначеЕсли Объект.Статус = ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.ВРаботе") Тогда
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Выполненная"));
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отложенная"));
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отмененная"));
        ИначеЕсли Объект.Статус = ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Новая") Тогда
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.ВРаботе"));
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отложенная"));
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отмененная"));
        ИначеЕсли Объект.Статус = ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отложенная") Тогда
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.ВРаботе"));
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отмененная"));
        ИначеЕсли Объект.Статус = ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.Отмененная") Тогда
            МассивC.Добавить(ПредопределенноеЗначение("Перечисление.СУЗ_СтатусыЗаявок.ВРаботе"));
        КонецЕсли;
    КонецЕсли;    
    
    НовыйПараметр = Новый ПараметрВыбора("Отбор.Ссылка", МассивC);      
    Массив = Новый Массив;
    Массив.Добавить(НовыйПараметр);        
    ПараметрыВыбораС = Новый ФиксированныйМассив(Массив);        
    Элемент.ПараметрыВыбора = ПараметрыВыбораС;    
    
КонецПроцедуры
10 progaoff
 
08.07.19
12:08
(9) Спасибо)
Независимо от того, куда вы едете — это в гору и против ветра!