Добрый день.
Конфигурация КА2 2.5.11.96 Режим совместимости 8.3.17
Дорабатывал документ по инфо с помощью расширения из Работа с контрагентами
В общим модуле есть код, который вызывает процедуру модуля формы

```1c
    // Запуск проверки контрагентов в документе после возникновения определенного события.
    //
    // Параметры:
    // Форма - ФормаКлиентскогоПриложения - Форма документа, в котором выполняется проверка контрагентов.
    // ДополнительныеПараметры - Дата - Дата документа, в случае если произошло изменение даты.
    // - ТаблицаФормы - Если изменения произошли в табличной части.
    // - ПолеФормы - Если изменился контрагент в определенном поле произошли в табличной части.
    Процедура ЗапуститьПроверкуКонтрагентовВДокументе(Форма, ДополнительныеПараметры = Неопределено) Экспорт

    Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаПоКнопке =
    ТипЗнч(ДополнительныеПараметры) = Тип("Структура")
    И ДополнительныеПараметры.Свойство("ЭтоПроверкаПоКнопке")
    И ДополнительныеПараметры.ЭтоПроверкаПоКнопке;

    Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаКонтрагентовПриОткрытии =
    (Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаКонтрагентовПриОткрытии
    И НЕ Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаПоКнопке);

    // Для предотвращения проверки при отключенной автоматической проверке,
    // когда меняется контрагент в документе.
    Если Форма.РеквизитыПроверкиКонтрагентов.ЭтоПроверкаПоКнопке
    ИЛИ Форма.РеквизитыПроверкиКонтрагентов.ПроверкаИспользуется Тогда

    ПараметрыФоновогоЗадания = ПроверкаКонтрагентовКлиентСервер.ПараметрыФоновогоЗадания(ДополнительныеПараметры);
    Форма.ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания);

    Если Форма.РеквизитыПроверкиКонтрагентов.ИнициализацияВыполненаПолностью Тогда

    Форма.РеквизитыПроверкиКонтрагентов.СохранятьРезультатСразуПослеПроверки =
    ПараметрыФоновогоЗадания.Свойство("СохранятьРезультатСразуПослеПроверки")
    И ПараметрыФоновогоЗадания.СохранятьРезультатСразуПослеПроверки;

    //@skip-warning
    ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(Форма.ПроверкаКонтрагентовПараметрыОбработчикаОжидания);
    Форма.ПодключитьОбработчикОжидания("Подключаемый_ОбработатьРезультатПроверкиКонтрагентов", ИнтервалОбработкиРезультата(), Истина);

    КонецЕсли;

    КонецЕсли;

    КонецПроцедуры
```

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

Обновил конфу до 2.5.12.232 Режим совместимости 8.3.21
При обращении к процедуре модуля формы выдает ошибку

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

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

Аналогичный механизм в типовых документах работает. Не могу понять в чем проблема. Есть догадки?
---
https://forum.infostart.ru/forum9/topic301639/#message3028977
---
Решение.

```1c
    // ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
    &НаКлиенте
    Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт
    ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания);
    КонецПроцедуры

    &НаСервере
    Процедура ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания)
    ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
    КонецПроцедуры
    // Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
```
---
Ошибка говорит, что у формы нет метода ПроверитьКонтрагентовФоновоеЗадание.
---
Он есть и он экспортный.

```1c
    // ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
    &НаСервере
    Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт
    ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
    КонецПроцедуры
    // Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
```
---
с помощью расширения
(3) &НаСервере
В расширении не работает вызов серверного метода формы извне с клиента.
---
А до этого работало. Сказки.
---
до этого работали вызовы и не экспортных методов. И что? Все меняется.
---
Есть доказательства в изменениях платформы. Ссылки и т.д.?
---
пробуйте да обрящете.
---
Открыл конфу. Занес вызов в модуль формы. Тоже самое. Вы не правы.
---
хорошо, если сами поняли что написали.
---
теперь добавьте в модуль формы клиентский экспортный метод, который будет вызывать нужный серверный внутри формы документа. А извне вызывайте клиентский.
---
То есть у вас явно в модуле формы есть процедура, но платформа вам пишет, что ее нет. И вас ничего не смущает?
Ну там очевидно, что кэш надо почистить, нет?
---
Кеш чистил. Вот это и смущает.
---
поискал за вас.
https://wonderland.v8.1c.ru/blog/rasshirenie-moduley/

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

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

В обычном режиме исполнения встроенного языка - будут расширяться все методы типового решения, и клиентские, и серверные;
В безопасном режиме исполнения встроенного языка - будут расширяться только клиентские методы и серверные обработчики форм. К остальным серверным процедурам / функциями расширение применяться не будет.
---
Я уже писал выше, что на предыдущем релизе все работало.
И то что я вынес мою процедуру из расширения в конфу, тоже не дало результатов.
---
на предыдущем релизе все работало.Ты режим совместимости 8.3.17 от режима совместимости 8.3.21 отличаешь, турист?
---
Почему тогда те же самые методы в типовой конфе работают, у типовых документов?
---
Почему Ну показывай, что именно там работает.
---
https://forum.infostart.ru/forum9/topic301639/#message3028977
---
Спасибо. Попробую.
---
Решение.

```1c
    // ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
    &НаКлиенте
    Процедура ПроверитьКонтрагентовФоновоеЗадание(ПараметрыФоновогоЗадания) Экспорт
    ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания);
    КонецПроцедуры

    &НаСервере
    Процедура ПроверитьКонтрагентовФоновоеЗаданиеНаСервере(ПараметрыФоновогоЗадания)
    ПроверкаКонтрагентов.ПроверитьКонтрагентовВДокументеФоновоеЗадание(ЭтотОбъект, ПараметрыФоновогоЗадания);
    КонецПроцедуры
    // Конец ИнтернетПоддержкаПользователей.РаботаСКонтрагентами
```
---
да... неожиданно :)
---
Все в шоке...