|
команды БСП и расширения 8.3.13 | ☑ | ||
---|---|---|---|---|
0
Geroy
19.11.18
✎
23:43
|
Типовая
&НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект); КонецПроцедуры Необходимо, но не работает &Вместо("Подключаемый_ВыполнитьКоманду") Процедура Расш_Подключаемый_ВыполнитьКоманду(Команда) КонецПроцедуры |
|||
1
Geroy
19.11.18
✎
23:51
|
&НаКлиенте
Процедура Расш_Подключаемый_ВыполнитьКомандуВместо(Команда) Тоже не работает |
|||
2
Chameleon1980
20.11.18
✎
06:57
|
У расширения отключи безопасный режим. или как он там называется.
|
|||
3
Geroy
20.11.18
✎
07:49
|
(2) отключено всё, я не уверен что команды БСП в расширении перехватываются, это же не команды формы.
|
|||
4
Chameleon1980
20.11.18
✎
08:21
|
а какая разница БСП это или нет?
|
|||
5
Chameleon1980
20.11.18
✎
08:22
|
Это модуль жеж типа общий?
|
|||
6
Geroy
20.11.18
✎
08:25
|
(5) нет это в форме документа или в форме списка.
|
|||
7
Geroy
20.11.18
✎
08:26
|
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект); КонецПроцедуры |
|||
8
Mankubus
20.11.18
✎
09:09
|
(3) а обычные процедуры перехватываются чтоли? тоже думаю что не в БСП дело
|
|||
9
Geroy
20.11.18
✎
09:18
|
(8) всё остальное работает отлично, скорее всего связано что данная команда не откуда не вызывается.
Это ведь не события формы |
|||
10
Cyberhawk
20.11.18
✎
09:21
|
Серверные методы, не являющиеся обработчиками события формы, в безопасном режиме не расширяются
|
|||
11
Geroy
20.11.18
✎
09:29
|
(10) повторюсь всё отключено
_http://rgho.st/74NpfFVkl скриншот |
|||
12
Geroy
20.11.18
✎
09:31
|
||||
13
Cyberhawk
20.11.18
✎
09:51
|
Хз о чем ты
|
|||
14
Geroy
20.11.18
✎
10:26
|
(13) Открой любой документ, и в нём есть 3 обязательных команды БСП.
// СтандартныеПодсистемы.ПодключаемыеКоманды &НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект); КонецПроцедуры &НаСервере Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат); КонецПроцедуры &НаКлиенте Процедура Подключаемый_ОбновитьКоманды() ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект); КонецПроцедуры // Конец СтандартныеПодсистемы.ПодключаемыеКоманды Мне необходимо перехватить &НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект); КонецПроцедуры |
|||
15
Cyberhawk
20.11.18
✎
10:30
|
Хз зачем ты это пишешь мне
|
|||
16
Geroy
20.11.18
✎
10:54
|
Решение.
Было: &НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект); КонецПроцедуры Стало: &НаКлиенте &Вместо("Подключаемый_ВыполнитьКоманду") Процедура Расш_Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект); КонецПроцедуры |
|||
17
asady
20.11.18
✎
11:12
|
(16) здравствуй костыль!
|
|||
18
Cyberhawk
20.11.18
✎
11:23
|
(17) Намекаешь на "ПродолжитьВызов" или как-то еще надо было? :)
|
|||
19
Geroy
20.11.18
✎
11:25
|
(17) и где тут костыль? мне нужно перехватить выполнение определенной команды
|
|||
20
Cyberhawk
20.11.18
✎
11:27
|
(19) Ну как минимум костыль в том, что ты скопировал текст исходного метода и все это развалится, когда его поменяют в основной конфе (не берем в расчет вероятность наступления - только сам подход)
|
|||
21
unregistered
20.11.18
✎
11:29
|
Я вот не понимаю для чего вообще понадобилось лезть в эту процедуру.... Бред какой-то. Обычно ломают/расширяют либо саму подключенную команду, либо корректируют список подключенных команд (подменяют одни другими или удаляют какие-либо команды, меняют порядок). Но вот чтобы лезть в обработчик выполнения команды...
|
|||
22
Cyberhawk
20.11.18
✎
11:35
|
(21) Так пади режим совместимости не позволяет ОМ расширить, а модуль формы - позволяет
|
|||
23
Geroy
20.11.18
✎
11:39
|
(21) (22) зачем мне общий модуль, повторюсь мне нужно отловить выполнение команды и не прерывать её, а просто выполнить некоторые действия. Нужно отловить перед созданием на основании Заказа Клиента.
Задача выполнена. &НаКлиенте &Перед("Подключаемый_ВыполнитьКоманду") Процедура Расш_Подключаемый_ВыполнитьКоманду(Команда) Если Команда.Имя = "ПодменюСоздатьНаОснованииОбычное_СоздатьНаОснованииЗаказа" Тогда //Мой код КонецЕсли; КонецПроцедуры |
|||
24
Cyberhawk
20.11.18
✎
11:40
|
Ну то есть ты директиву компиляции не поставил, из-за этого не работало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |