|
УТ 11.5.12.165 Проверка контрагентов | ☑ | ||
---|---|---|---|---|
0
ВикторП
23.11.23
✎
15:54
|
Сейчас рабочая УТ 11.5.12.147 , в ней в расширении добавлен код для документа Заказ клиента для проверки контрагентов.
Все работает. Хочу перейти на последнюю УТ 11.5.12.165, в ней это функционал перестал работать. А именно, не находятся процедуры ПроверитьКонтрагентовФоновоеЗадание и ОтобразитьРезультатПроверкиКонтрагента. Вернее- в коде эти процедуры есть, но при выполнении выходит сообщение об их отсутствии. Обе процедуры в модуле формы, На Сервере и Экспортные. Описание внедрения подсистемы прочитал и прошел уже несколько раз (. Версия подсистем поменялась незначительно 2.6.4.49->2.6.5.46 Поменялся режим совместимости у конфигурации 8.3.17->8.3.21. Кто может помочь ? |
|||
1
Звездец
23.11.23
✎
15:56
|
убери заимствованные модули и заимствуй их снова в ресширение
|
|||
2
ВикторП
23.11.23
✎
16:04
|
там заимствованных модулей нет, можно сказать- там идет добавление нового кода .
|
|||
3
Звездец
23.11.23
✎
16:14
|
ну не находит то процедуры из основной конфигурации. Значит заимствуй их
|
|||
4
unenu
23.11.23
✎
16:17
|
(0) если вы в вашем функционале вызываете экспортные серверные методы модуля на клиенте, то с какого-то момента компилятор стал "умнее"
делаете обертки в расширении модулей формы, т.е. ранее было так: //модуль формы &НаСервере Продедура Метод_1(Параметры) ... КонецПроцедуры; //Где-то вы делаете вызов &НаКлиенте Продедура Метод_Мой(Параметры) ...Форма.Метод_1(Параметры); // Не прокатит КонецПроцедуры; делаете так //модуль формы &НаКлиенте Продедура Метод_1Клиент(Параметры) Метод_1(Параметры); КонецПроцедуры; //Где-то вы делаете вызов &НаКлиенте Продедура Метод_Мой(Параметры) ...Форма.Метод_1Клиент(Параметры); // Прокатит КонецПроцедуры |
|||
5
unenu
23.11.23
✎
16:18
|
Поменялся режим совместимости у конфигурации 8.3.17->8.3.21.
В этом фишка, компилятор "поумнел" |
|||
6
ВикторП
23.11.23
✎
16:23
|
Этих процедур изначально нет- они только в расширении.
Да, в режиме совместимости 8.3.17 они видятся, в 8.3.21- нет |
|||
7
unenu
23.11.23
✎
16:25
|
Все методы модуля формы, включая обертки, экспортные ес-но.
Хотя, серверные уже могут быть не экспортными, ведь на клиенте мы вызываем свою экспортную обертку клиентского метода. В типовой код ничего не добавляем, а в расширении ваш функционал должен работать как раньше. |
|||
8
ВикторП
23.11.23
✎
16:26
|
(7) пока не понял ,что предлагаете
|
|||
9
unenu
23.11.23
✎
16:28
|
(6) не важно где эти методы, в основной или в расширении. Просто сделайте обертки - "клиент-клиент".
Кратко: Удаленный вызов экспортного серверного метода модуля формы с клиента больше не работает. |
|||
10
unenu
23.11.23
✎
16:31
|
(8) код давайте с указанием контекстов без потрохов....
// Модуль обработки, я вызываю &НаКлиенте _Имя(Параметры) ... // Тут метод который невидим .... // Это метод который невидим: Модуль, контекст |
|||
11
ВикторП
23.11.23
✎
16:39
|
(9) в документе реализация товаров услуг это все работает.
Можете сами посмотреть , если что. Принципиальная разница - у меня в Заказе эти процедуры в расширении |
|||
12
unenu
23.11.23
✎
16:47
|
(11) видимо там не пересекаются контексты.
Еще короче, в модуле формы(в расширении) где сидит ваш метод: &НаСервере Продедура Расш_Метод_1(Параметры) Экспорт ... КонецПроцедуры; // Добавим обертку из-за 8.3.21+ &НаКлиенте Продедура Расш_Метод_1_Клиент(Параметры) Экспорт Расш_Метод_1(Параметры); КонецПроцедуры; // Теперь где-то там заменим ЭтаФорма.Расш_Метод_1(Параметры); // На это и попадем в серверный метод через прослойку ЭтаФорма.Расш_Метод_1_Клиент(Параметры); |
|||
13
ВикторП
23.11.23
✎
17:11
|
unenu - молодец.
Сработало . теперь остался вопрос- :) почему работает в документе реализация. и собственно, как узнал про это ?- про удаленный вызов |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |