Имя: Пароль:
1C
 
добавить кнопку на форму УТ 11
0 Dimarik_1
 
05.12.16
18:28
Необходимо добавить кнопку на форму "Установить дату запрета редактирования" в обработке "Закрытие месяца"
То есть. Пользователь в обработке закрыл месяц, а потом захотел установить дату, чтобы никто не лез в прошлые месяца.
Для этого я из модуля формы при создании на сервере в конца сделал вызов:
_ДополнительноСервер.ДобавитьКнопкиУстановитьДатыЗапретаРедактирования(ЭтаФорма);

Вот код в этом общем модуле _ДополнительноСервер:
Процедура ДобавитьКнопкиУстановитьДатыЗапретаРедактирования(Форма) Экспорт
    Команда            = Форма.Команды.Добавить("УстановитьЗапретРедактирования");
    Команда.Действие    = "_ДополнительноКлиент.КомандаУстановитьЗапретРедактирования";
    
    
    НоваяКнопка = Форма.Элементы.Добавить("КнопкаУстановитьЗапретРедактирования",Тип("КнопкаФормы"), Форма.КоманднаяПанель);
    НоваяКнопка.Заголовок = "Установить запрет редактирования";
    НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
    НоваяКнопка.ИмяКоманды = "УстановитьЗапретРедактирования";
    


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


А вот код из _ДополнительноКлиент:

Процедура КомандаУстановитьЗапретРедактирования(Форма) Экспорт
    _ДополнительноСервер.УстановитьДатуЗапрета(Форма.Объект.Организация, Форма.Объект.ПериодРегистрации);
КонецПроцедуры

В результате кнопка создается но ничего отрабатывает. Я щелкал по кнопке, но отрабатывание не сработало.
Думаю что причины 2:
1. Нельзя команду создавать в общем модуле. А очень хочется!!! Чтобы форму по минимуму трогать
2. Обработчик команды должен быть без параметров. Но мне нужен параметр чтобы как-нибудь ссылку на эту форму передать в общий модуль.
Как можно поступить в данной ситуации? Посоветуете?
1 Nuobu
 
05.12.16
18:31
(0) Команда должна находиться в форме, откуда она будет вызываться. А там уже и ссылку найдёшь.
2 Dimarik_1
 
05.12.16
18:37
то есть обработчик команды я не могу как-нибудь извне прописать чтобы форму не ломать?
3 Nuobu
 
05.12.16
18:38
(2) Конечно!
4 Доминошник
 
05.12.16
19:08
Может глупость скажу, но - а почему не через расширение?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший