УстановитьКнопкиПечати #730597


#0 by dextermorgan777
Добрый день. В типовой бухгалтерии создал свой документ. В модуле формы добавил процедуру УстановитьКнопкиПечати. Скопировал её из документа реализации. В модуле объекта создал функцию ПолучитьСтруктуруПечатныхФорм  где описал нужные мне печатки. Добавил вызов УстановитьКнопкиПечати в процедуру перед открытием. Все добавляет, но кнопки все не активны. Ничего нажать нельзя. Подскажите пожалуйста, что я еще забыл сделать. Спасибо за ответы.
#1 by Бертыш
Этих бухий типовых как грязи.
#2 by Cube
В модуле формы документа нет процедуры, на которую ссылкаются все твои кнопки...
#3 by dextermorgan777
в модуле объекта создал процедуру печати и там в зависимости имени кнопки вызываю соответствующие функции заполнения табл. документа.
#4 by dextermorgan777
1.6.56.2 Это Беларуская. Не знаю аналог какой именно Росийской.
#5 by Cube
Процедура-обработчик кнопки на форме может располагаться только в модуле этой самой формы. Что ты нам написал в модуле объекта, кнопку не волнует.
#6 by dextermorgan777
так я же программно создаю эти кнопки. Подменю печати создаю и в него пихаю свои печатки. Я скопировал как в доке реализации, там процедур обработчиков на форме для печати ТТН нет. Они все в модуле объекта.
#7 by Cube
"там процедур обработчиков на форме для печати ТТН нет. Они все в модуле объекта." Сам придумал?
#8 by Serg_1960
"В модуле формы добавил процедуру УстановитьКнопкиПечати. Скопировал её из документа..." - это ,случайно, не локальная процедура конкретного документа? В УПП, например, универсальный типовой вызов, где чётко указано:
#9 by dextermorgan777
Тоже вроде все из общего модуля вызывается. Просто сама процедура в модуле формы.
#10 by dextermorgan777
#11 by Serg_1960
В некоторых справочниках и документах используется и такой типовой функционал - через локальную процедуру УстановитьКнопкиПечати Переменные мДеревоМакетов, мПодменюПечати и мПечатьПоУмолчанию не забыл объявить в модуле формы?
#12 by dextermorgan777
все есть.
#13 by Cube
По фотографии не гадаю.
#14 by dextermorgan777
Вот так выглядит на форме.
#15 by cube033
При программном создании элемента - события всё равно прописывать надо: НовыйЭлемент.УстановитьДействие("ПриИзменении", "НовыйЭлементПриИзменении"); И процедуру нужно: &НаКлиенте Процедура "НовыйЭлементПриИзменении" .... КонецПроцедуры
#16 by dextermorgan777
я просто показал, что функции именно в модуле объекта лежат. И я не сам это придумал.
#17 by Cube
если не веришь мне, то на тебе выдержку из СП: Расширение элементов управления, расположенных в форме (Extension for controls located in a form) УстановитьДействие (SetAction) Синтаксис: Параметры: Тип: Строка. Имя события. Устанавливаемое действие. Ну и далее: Действие (Action) Конструкторы: На основании процедуры Описание: Предназначен для получения действия, которое можно назначить в качестве обработчика события элемента управления или команды пользовательского интерфейса. Для обработки события может быть вызвана процедура или функция модуля формы или общего модуля, имя которой задано в конструкторе. При использовании в форме в качестве имени процедуры может использоваться только процедура модуля данной формы. Читать-то хоть умеешь?
#18 by dextermorgan777
так это вы про управляемые формы наверно?
#19 by Cube
А я говорю, что кнопке плевать, что ты в модуле объекта написал...
#20 by cube033
да
#21 by dextermorgan777
Всем спасибо за ответы. я вас сразу не так понял, я думал что вы имеете ввиду добавить обработчики для каждой кнопки. Функции для них действительно в модуле объекта лежат. А вот Процедуру одну я действительно забыл скопипастить Процедура ОсновныеДействияФормыПечать(Кнопка) Возможно если бы мне сразу так ответили, то это бы мне не отложилось в мозгу, а так действительно буду помнить уже.  Спасибо что потратили на меня свое время.
#22 by dextermorgan777
Я в отладчике посмотрел стек вызовов по кнопке печать и убедился что первая процедура из модуля формы идет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С