|
Добавить кнопку на все формы документов,справочников | ☑ | ||
---|---|---|---|---|
0
serg-lom89
29.01.19
✎
15:24
|
Добрый день
Подскажите пожалуйста как программно добавить кнопку на все формы объектов? что бы не прописывать приОткрытии() в каждом объекте. 8.3.10 обычное приложение |
|||
1
OldCondom
29.01.19
✎
15:26
|
МодифиукацияКонфигурацииПереопределяемый.ПриСозданииНаСервере()
|
|||
2
serg-lom89
29.01.19
✎
15:26
|
Есть ли возможность сделать как через подписку на событие?
|
|||
3
Махони402
29.01.19
✎
15:27
|
Самописка или типовая с ОФ?
Ищи процедуру, которая вызывается всегда и в ней подключайся. Мы в своё время в формирование печатных форм подрубились. |
|||
4
Махони402
29.01.19
✎
15:27
|
Нету у форм нормальных событий, токмо у объектов.
|
|||
5
serg-lom89
29.01.19
✎
16:34
|
(3) типовая ОФ
вот сделал в модуле РаботаСДиалогами.установитьзаголовок КоллекцияКнопок = ФормаДокумента.ЭлементыФормы.ДействияФормы.Кнопки; ДействиеОткрытияФормы = Новый Действие("ВыполнитьДействиеНажатие"); НоваяКнопка = КоллекцияКнопок.добавить( "ВыполнитьДействиеНажатие",ТипКнопкиКоманднойПанели.Действие,"ВыполнитьДействиеНажатие",ДействиеОткрытияФормы ); ; добавил в тот же модуль проц Процедура ВыполнитьДействиеНажатие() экспорт ///тут что то делаем КонецПроцедуры Кнопка появилась но она неактивна..что не так? |
|||
6
Ёпрст
29.01.19
✎
16:58
|
(5) нет своответствующего обработчика при нажатии этой кнопки
|
|||
7
Ёпрст
29.01.19
✎
16:58
|
процы ВыполнитьДействиеНажатие() в форме нема, если че
|
|||
8
OldCondom
29.01.19
✎
17:14
|
(5) То есть специальный для этого случая модуль, который к тому же таки и называется: ПЕРЕОПРЕДЕЛЯЕМЫЙ ты решил обойти стороной и влезть в типовой код?
|
|||
9
Вафель
29.01.19
✎
17:28
|
может лучше внешнюю обработку заполнения объекта прикрутить?
|
|||
10
Tatitutu
29.01.19
✎
17:54
|
Процедура ВыполнитьДействиеНажатие(Элемент) экспорт
|
|||
11
palsergeich
29.01.19
✎
19:57
|
(10) Не пройдет проверку СОВМЕСТИМО(
|
|||
12
Мимохожий Однако
29.01.19
✎
19:59
|
(5) какая конфигурация?
|
|||
13
serg-lom89
30.01.19
✎
09:31
|
(7) да процедуры в форме объекта нету...поэтому и хотелось бы что бы не в каждой форме прописывать
|
|||
14
serg-lom89
30.01.19
✎
09:37
|
т.е. по сути мне надо во всех объектах ИБ сделать эту кнопку ,и тогда в каждый зайди,пропиши..это одуреть можно будет)))
|
|||
15
Tatitutu
30.01.19
✎
09:42
|
(11) а зачем она ему в данном контексте?
(10) все прекрасно добавляется и работает |
|||
16
serg-lom89
30.01.19
✎
09:44
|
(15) в модуль работаСДиалогами добавил ,
Процедура ВыполнитьДействиеНажатие(элемент) экспорт и ничего не работает |
|||
17
Мимохожий Однако
30.01.19
✎
09:49
|
на заданные вопросы ответь
|
|||
18
serg-lom89
30.01.19
✎
09:53
|
(12) УТ 10.3 но очень допилена
|
|||
19
Мимохожий Однако
30.01.19
✎
10:01
|
ответь на (8)
|
|||
20
serg-lom89
30.01.19
✎
10:08
|
(8) нету такого модуля
|
|||
21
Мимохожий Однако
30.01.19
✎
10:23
|
Есть пример
// Процедура добавления кнопки ДействиеКнопки = Новый Действие("ОбработатьНажатиеКнопки"); НоваяКнопка = ЭлементыФормы.КоманднаяПанель2.Кнопки.Добавить(ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, "Тест",ДействиеКнопки); Процедура ОбработатьНажатиеКнопки(Элемент)// ОБРАТИТЬ ВНИМАНИЕ НА ПАРАМЕТР ПРОЦЕДУРЫ Если Элемент.Имя = "Закрыть" Тогда Форма.Закрыть(); КонецЕсли; КонецПроцедуры |
|||
22
catena
30.01.19
✎
10:26
|
(16)Потому что форма не знает, в какой именно модуль ты добавил процедура-обработчик.
|
|||
23
serg-lom89
30.01.19
✎
10:34
|
(22) ведь если я добавлю в действие
новый Действие("МойМодуль.ОбработатьНажатиеКнопки"); он ругнется же |
|||
24
Галахад
гуру
30.01.19
✎
10:38
|
В УТ10. Для документов можно. Для справочников нет. Ну или я не знаю.
|
|||
25
Мимохожий Однако
30.01.19
✎
10:40
|
(23) Если я не ошибаюсь, на сервере процедура добавления кнопки не работает. Твой общий модуль имеет признак На клиенте?
|
|||
26
serg-lom89
30.01.19
✎
10:44
|
(25) Сервер,Клиент(обыч приложение)
|
|||
27
bolobol
30.01.19
✎
14:14
|
Разве нельзя собственный глобальник завести, куда процедуру экспортную сунуть?
|
|||
28
Ёпрст
30.01.19
✎
15:47
|
(27) можно, только толку нуль будет
|
|||
29
bolobol
30.01.19
✎
17:10
|
(28) Я поясню вопрос: Разве нельзя решить поставленную задачу путём внедрения собственного глобальника, куда процедуру экспортную сунуть, которую назначить обработчику?
|
|||
30
Ёпрст
30.01.19
✎
18:00
|
(29) нет.
Твой глобальник ничего не даст от слова совсем. Автору поможет только, если код вызова нажатия кнопки будет уже в каждой форме нужного объекта. А его там нема. Свои кнопки он и так создаёт из общего модуля, надеясь на то, что в каждой форме есть этот вызов. Кнопку то он создаст, а вот с обработчиком - обломсъ. |
|||
31
Ёпрст
30.01.19
✎
18:01
|
А ёпт, глобальник.. ну да, с глобальником прокатит
|
|||
32
Ёпрст
30.01.19
✎
18:13
|
Хотя не.. глобальный модуль ничего не даст, ибо в действия н не запихнешь ИмяМодуля.ИмяМетода
Даже модуль обычного приложения не спасает, действие не работает.. |
|||
33
Мимохожий Однако
30.01.19
✎
18:31
|
(26) А если убрать признак Сервер?
|
|||
34
Ёпрст
31.01.19
✎
08:27
|
(33) да кнопка у него добавляется, у него проблема с назначением действия в этой кнопке.
Он может назначить туда только локальную процу модуля формы. Которой у него просто нет. |
|||
35
Мимохожий Однако
31.01.19
✎
08:43
|
(34) Копипастой добавить полчаса-час работы. ИМХО.
|
|||
36
Ёпрст
31.01.19
✎
08:48
|
(35) Это понятно, но автор не хочет втыкать код во все формы. А чтоб в одном месте и автоматом.
Проще такие вещи решать, добавлением чего-либо в ВПФ или во внешние обработки изменения ТабЧасти |
|||
37
Галахад
гуру
31.01.19
✎
08:57
|
(36) Это только для документов. Для справочников фига.
|
|||
38
bolobol
31.01.19
✎
09:21
|
(32) Для глобальника не нужно писать "ИмяМодуля.", глобальник должен быть клиентским. Тогда процедура попадает в область видимости, но вот что по этому поводу думает 1С - это да, это проблема.
|
|||
39
Галахад
гуру
31.01.19
✎
09:41
|
(38) Да не работает это.
|
|||
40
Ёпрст
31.01.19
✎
09:47
|
(37) ну,для справочников, только печать (если есть)
|
|||
41
Ёпрст
31.01.19
✎
09:49
|
(38) не добавишь в Новый Действие имя любой процы, кроме локальной.
Можно добавить имя процы из обычного приложения, но, всё равно она не срабатывает, хотя действие и создаётся |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |