|   |   | 
| 
 | программно скрыть кнопку "Изменить форму" | ☑ | ||
|---|---|---|---|---|
| 0
    
        Prog_man 25.10.24✎ 10:22 | 
        Добрый день,
 Бухгалтерия 3.0 подскажите как можно программно скрыть кнопку "Изменить форму" в списке документов? | |||
| 1
    
        Волшебник 25.10.24✎ 10:27 | 
        Грохаешь типовую командную панель формы и делаешь ее замену без страшной команды.
 Или делаешь расширение, в котором перекрываешь процедуру МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере, где проверяешь, что у формы есть этот пункт командной панели и делаешь его недоступным. | |||
| 2
    
        Prog_man 25.10.24✎ 10:32 | 
        (1) второй способ не совсем понял. МодификацияКонфигурацииПереопределяемый - это общий модуль?
 у меня такого нету | |||
| 3
    
        Волшебник 25.10.24✎ 10:35 | 
        (2) Я сам не понял. Это ж не я придумывал
 Закрыть пункт "Изменить форму" в УФ#2 | |||
| 5
    
        osa1C 25.10.24✎ 10:38 | ||||
| 6
    
        Prog_man 25.10.24✎ 13:12 | 
        (1) -> Грохаешь типовую командную панель формы и делаешь ее замену без страшной команды.
 этот способ не подходит, нужно скрыть кнопку для отдельных пользователей. (5) попробовал, не работает. | |||
| 7
    
        Прохожий 25.10.24✎ 11:13 | 
        (6) Уволиться не предлагать?     | |||
| 8
    
        Prog_man 25.10.24✎ 11:21 | 
        (7) по теме есть что сказать?     | |||
| 9
    
        butterbean 25.10.24✎ 11:21 | 
        (6) добавляй две панели - одну с кнопкой, вторую без. И переключай их видимость программно     | |||
| 10
    
        ass1c 25.10.24✎ 11:24 | 
        Не по теме, так как нужно "программно", но все же. Вроде как стандартная роль "СохранениеДанныхПользователя" влияет на видимость кнопки "Изменить форму". 
 " Рекомендуется предоставлять эту роль всем категориям пользователей, за редким исключением, когда требуется явно запретить настройку пользовательского интерфейса и любые другие персональные настройки таким образом, чтобы работа пользователя не оставляла никаких «следов» в информационной базе." | |||
| 11
    
        Prog_man 25.10.24✎ 13:58 | 
        (9) интересный вариант, благодарю     | |||
| 12
    
        Prog_man 25.10.24✎ 11:30 | 
        (10) в таком случае видимо и другие настройки не будут сохраняться, такой вариант к этой задаче не подходит. благодарю, может в будущем пригодится.     | |||
| 13
    
        Dotoshin 25.10.24✎ 12:13 | 
        (0) Откройте секрет, для чего нужно именно программно скрывать? Видимость по ролям не подходит?     | |||
| 14
    
        Prog_man 25.10.24✎ 13:09 | 
        (13) В некоторых документах нужно, чтобы пользователь не видел суммы в списке документов, через УО я настроил, но есть лазейка, по кнопке ЕЩЕ — изменить форму, пользователь по ссылке может добавить еще одно поле суммы и увидеть сумму документа. Задача не критическая, зачастую пользователи и не знают эту опцию. Но хотелось бы закрыть доступ к изменению формы.     | |||
| 15
    
        Zapal 25.10.24✎ 12:23 | 
        (14) а почему бы тупо колонку с суммой не сделать невидимой?     | |||
| 16
    
        Prog_man 25.10.24✎ 12:27 | 
        (15) потому что, пользователь должен видеть суммы по другим документам     | |||
| 17
    
        Zapal 25.10.24✎ 13:08 | 
        (16) делаешь список документов на произвольном запросе, там скрываешь всё что надо     | |||
| 18
    
        Prog_man 25.10.24✎ 13:15 | 
        (17) хотел сделать расширением, но если программного способа нет, как скрыть команду, то тему можно закрывать.     | |||
| 19
    
        Dotoshin 25.10.24✎ 13:25 | 
        (18) А чем не подходит пользовательская видимость? Для разных ролей настраиваешь разную видимость и раздаешь эти роли пользователям. Один видит колонку, другой не видит. Или я что-то не понимаю?     | |||
| 20
    
        Prog_man 25.10.24✎ 13:58 | 
        (19) слишком много ролей, хотелось бы попроще, типа 
 Если НЕ РольДоступна("АдминистраторСистемы") Тогда
   Элементы.ИзменитьФорму.Доступность =Ложь;	
   Элементы.ИзменитьФорму.Видимость =Ложь;	
КонецЕсли; | |||
| 21
    
        AlvlSpb 25.10.24✎ 13:46 | 
        (18) А просто скрывать элемент по условию?
 Например (из ПТУ УТ 11.4) Элементы.ФормаИзменитьФорму.Видимость = Ложь; | |||
| 22
    
        Zapal 25.10.24✎ 13:47 | 
        (18) в расширении тоже можно поставить запрос списку. Кодом, не трогая форму     | |||
| 23
    
        Prog_man 25.10.24✎ 14:00 | 
        (21) Благодарю, то, что нужно!!!     | |||
| 24
    
        osa1C 25.10.24✎ 14:05 | 
        (6) Я не проверял, но по идее в этой коллекции 
 ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы должен лежать массив всех кнопок командной панели. Осталось поставить точку останова, посмотреть какой индекс имеет кнопка "Ещё" и ввести команду вида: ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[7].Видимость = Ложь; Хотя может быть индексы имеют сами команды в меню "Ещё", тогда аналогичным образом скрыть их все и меню пропадет | |||
| 25
    
        Prog_man 25.10.24✎ 14:09 | 
        Решение
 &НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	Если НЕ РольДоступна("АдминистраторСистемы") Тогда
		Элементы.ФормаИзменитьФорму.Доступность =Ложь;	
		Элементы.ФормаИзменитьФорму.Видимость =Ложь;	
	КонецЕсли;
КонецПроцедуры | |||
| 26
    
        mikecool 25.10.24✎ 17:14 | 
        (23) эк, а сам не догадался по элементам формы посмотреть - что там есть? )     | |||
| 27
    
        vis 25.10.24✎ 23:48 | 
        (25) Проверку на наличие этих элементов не делали?     | |||
| 28
    
        craxx 27.10.24✎ 23:00 | 
        (25) Там надо искать по имени общей команды, а не имени элемента, имя элемента можно задать любое другое     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |