Экспортная процедура модуля формы

1. LomayaZakat 26.02.24 10:55 Сейчас в теме
Добрый день.
Конфигурация КА2 2.5.11.96 Режим совместимости 8.3.17
Дорабатывал документ по инфо с помощью расширения из Работа с контрагентами
В общим модуле есть код, который вызывает процедуру модуля формы
// Запуск проверки контрагентов в документе после возникновения определенного события.
//
// Параметры:
//  Форма						 - ФормаКлиентскогоПриложения - Форма документа, в котором выполняется проверка контрагентов.
//  ДополнительныеПараметры		 - Дата - Дата документа, в случае если произошло изменение даты.
//								 - ТаблицаФормы - Если изменения произошли в табличной части.
//								 - ПолеФормы - Если изменился контрагент в определенном поле произошли в табличной части.
Процедура ЗапуститьПроверкуКонтрагентовВДокументе(Форма, ДополнительныеПараметры = Неопределено) Экспорт
	
	Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаПоКнопке =
		ТипЗнч(ДополнительныеПараметры) = Тип("Структура")
		И ДополнительныеПараметры.Свойство("ЭтоПроверкаПоКнопке") 
		И ДополнительныеПараметры.ЭтоПроверкаПоКнопке;
	
	Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаКонтрагентовПриОткрытии =
		(Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаКонтрагентовПриОткрытии
		И НЕ Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаПоКнопке);
	
	// Для предотвращения проверки при отключенной автоматической проверке,
	// когда меняется контрагент в документе.
	Если Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаПоКнопке
		ИЛИ Форма.РеквизитыПроверкиКонтрагентов.ПроверкаИспользуется Тогда
		
		ПараметрыФоновогоЗадания = ПроверкаКонтрагентовКлиентСервер.ПараметрыФоновогоЗадания(ДополнительныеПараметры);
		Форма.ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания);
		
		Если Форма.РеквизитыПроверкиКонтрагентов.ИнициализацияВыполненаПолностью Тогда
				
			Форма.РеквизитыПроверкиКонтрагентов.СохранятьРезультатСразуПослеПроверки = 
				ПараметрыФоновогоЗадания.Свойство("СохранятьРезультатСразуПослеПроверки") 
				И ПараметрыФоновогоЗадания.СохранятьРезультатСразуПослеПроверки;
			
			//@skip-warning
			ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(Форма.ПроверкаКонтрагентовПараметрыОбработчикаОжидания);
			Форма.ПодключитьОбработчикОжидания("Подключаемый_ОбработатьРезультатПроверкиКонтрагентов", ИнтервалОбработкиРезультата(), Истина);
			
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры
Показать

На этой версии конфы нет ошибки обращения.

Обновил конфу до 2.5.12.232 Режим совместимости 8.3.21
При обращении к процедуре модуля формы выдает ошибку
Метод объекта не обнаружен (ПроверитьКонтрагентовФоновоеЗадание)
{ОбщийМодуль.ПроверкаКонтрагентовКлиент.Модуль(197)}:Форма.ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания);
{ОбщийМодуль.ПроверкаКонтрагентовКлиент.Модуль(233)}:ЗапуститьПроверкуКонтрагентовВДокументе(Форма, ДополнительныеПараметры);
{Доработки Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(1505)}:ПроверкаКонтрагентовКлиент.ОбработатьРезультатПроверкиКонтрагентовВДокументе(ЭтотОбъект);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]

Аналогичный механизм в типовых документах работает. Не могу понять в чем проблема. Есть догадки?
По теме из базы знаний
Найденные решения
21. LomayaZakat 26.02.24 14:02 Сейчас в теме
Решение.
// ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
&НаКлиенте
Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт
	ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания);
КонецПроцедуры

&НаСервере
Процедура ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания)	
	ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
КонецПроцедуры
// Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ferth 26.02.24 11:18 Сейчас в теме
Ошибка говорит, что у формы нет метода ПроверитьКонтрагентовФоновоеЗадание.
3. LomayaZakat 26.02.24 11:28 Сейчас в теме
(2)Он есть и он экспортный.
// ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
&НаСервере
Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт	
	ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
КонецПроцедуры
// Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
4. spacecraft 26.02.24 11:45 Сейчас в теме
(1)
с помощью расширения

(3)
&НаСервере

В расширении не работает вызов серверного метода формы извне с клиента.
5. LomayaZakat 26.02.24 11:49 Сейчас в теме
(4)А до этого работало. Сказки.
6. spacecraft 26.02.24 11:49 Сейчас в теме
(5) до этого работали вызовы и не экспортных методов. И что? Все меняется.
7. LomayaZakat 26.02.24 11:50 Сейчас в теме
(6)Есть доказательства в изменениях платформы. Ссылки и т.д.?
8. spacecraft 26.02.24 11:51 Сейчас в теме
(7) пробуйте да обрящете.
9. LomayaZakat 26.02.24 11:52 Сейчас в теме
(8)Открыл конфу. Занес вызов в модуль формы. Тоже самое. Вы не правы.
10. spacecraft 26.02.24 11:54 Сейчас в теме
(9) хорошо, если сами поняли что написали.
11. spacecraft 26.02.24 11:56 Сейчас в теме
(9) теперь добавьте в модуль формы клиентский экспортный метод, который будет вызывать нужный серверный внутри формы документа. А извне вызывайте клиентский.
12. Sashares 34 26.02.24 11:57 Сейчас в теме
(9)То есть у вас явно в модуле формы есть процедура, но платформа вам пишет, что ее нет. И вас ничего не смущает?
Ну там очевидно, что кэш надо почистить, нет?
13. LomayaZakat 26.02.24 11:58 Сейчас в теме
(12) Кеш чистил. Вот это и смущает.
14. spacecraft 26.02.24 12:02 Сейчас в теме
(7) поискал за вас.
https://wonderland.v8.1c.ru/blog/rasshirenie-moduley/

Серверные методы расширяются не всегда
Факт того, что ваше расширение успешно подключено к типовой конфигурации, ещё не означает, что все перехватчики, которые есть в вашем расширении, будут применены и начнут выполняться. Тут есть некоторые особенности, связанные с безопасностью.

Если прикладное решение работает в файловом варианте или в клиент-серверном варианте без профилей безопасности, то при подключении вашего расширения:

В обычном режиме исполнения встроенного языка - будут расширяться все методы типового решения, и клиентские, и серверные;
В безопасном режиме исполнения встроенного языка - будут расширяться только клиентские методы и серверные обработчики форм. К остальным серверным процедурам / функциями расширение применяться не будет.
15. LomayaZakat 26.02.24 12:05 Сейчас в теме
(14)Я уже писал выше, что на предыдущем релизе все работало.
И то что я вынес мою процедуру из расширения в конфу, тоже не дало результатов.
16. user1880116 26.02.24 12:09 Сейчас в теме
(15)
на предыдущем релизе все работало.
Ты режим совместимости 8.3.17 от режима совместимости 8.3.21 отличаешь, турист?
user2033930; +1 Ответить
17. LomayaZakat 26.02.24 12:13 Сейчас в теме
(16)Почему тогда те же самые методы в типовой конфе работают, у типовых документов?
18. user1880116 26.02.24 12:14 Сейчас в теме
(17)
Почему
Ну показывай, что именно там работает.
20. LomayaZakat 26.02.24 12:30 Сейчас в теме
21. LomayaZakat 26.02.24 14:02 Сейчас в теме
Решение.
// ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
&НаКлиенте
Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт
	ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания);
КонецПроцедуры

&НаСервере
Процедура ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания)	
	ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
КонецПроцедуры
// Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
Показать
22. spacecraft 26.02.24 15:10 Сейчас в теме
23. user2033930 26.02.24 15:21 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот