Добрый день

Подскажите пожалуйста

Обработка из расширения вызывает процедуру, которая находится на форме документа в том же расширение

Форму документа получается как Владелецформы.прочитать()
Владецформы.процедура()

Ошибка в том, что процедура не находится
---
с клиента, в процедура серверная
Вот в этом проблема. В расширении невозможно вызвать извне серверную процедуру формы из клиента.
В модуле формы создайте клиентскую экспортную процедуру, которая и будет вызывать нужную серверную. А извне вызывайте созданную клиентскую процедуру модуля формы.
---
Вы же не с сервера пытаетесь к форме обратиться?
---
нет, с клиента, в процедура серверная
---
Экспортная процедура? Полностью код напишите как создаете форму и как вызываете процедуру.
---
экспорная

```1c
    ВладелецФормы.Прочитать();ВладелецФормы.Процедура();
```
---
Я думаю это не весь код. И вообще не тот. Процедуру с ключевым именем Процедура нельзя объявить.
---
код весь, процедура называется по-другому, но разве это важно?
---
Дорогуша, мнится мне что ты троллишь нас, а не пытаешься решить реальную проблему. Если бы хотела, то и расширение выложила бы и скрины накидала. Но нет, так нет.
---
с клиента, в процедура серверная
Вот в этом проблема. В расширении невозможно вызвать извне серверную процедуру формы из клиента.
В модуле формы создайте клиентскую экспортную процедуру, которая и будет вызывать нужную серверную. А извне вызывайте созданную клиентскую процедуру модуля формы.
---
спасибо, помогло
---
Ошибка в том, что процедура не находится Какой точно текст ошибки?
---
объект не найден, процедуру не находит
---
Нужную процедуру вынесите с формы в модуль менеджера документы, и вызывайте откуда захочется через Документы.<ВашДокумент>.ВашаПроцедура(<параметры>)
---
я думаю, там не просто вызвать процедуру надо. Эта процедура, скорее всего, работает с серверным контекстом формы.
---
Чтобы там ни было - в процедуру (или функцию, если надо что то вернуть) модуля менеджера это всё легко передается параметрами в виде структуры. Сдается мне, что серверная процедура в одной форме, которую надо "достать" из другой формы, не на форме что-то делает, а что-то вычисляет, хотя исходных данных ноль, тут остаётся только гадать...

А так, модуль менеджера прекрасный инструмент именно в плане доступности на сервере откуда вздумается (когда расширения только появились, и общих модулей там не было, модуль менеджера обработки прекрасно справлялся вместо общего серверного модуля).
---
Чтобы там ни было - в процедуру (или функцию, если надо что то вернуть) модуля менеджера это всё легко передается параметрами в виде структуры.
Далеко не все. На вскидку: Добавить новый реквизит формы и вывести на форму. Работа с реквизитами формы недоступными на клиенте. Т.е. все случаи, когда необходима серверная форма.
---
Далеко не все. На вскидку: Добавить новый реквизит формы и вывести на форму. в рамках озвученной задачи речь идёт о серверном вызове - модуль менеджера только там и работает...добавлять / выводить реквизиты одной формы из другой...мсье, да Вы ....
---
в рамках озвученной задачи речь идёт о серверном вызове - модуль менеджера только там и работает
Модуль менеджера не имеет своего контекста. Он будет таким, каким был вызван. Тонким клиентом просто невозможно вызвать

добавлять / выводить реквизиты одной формы из другой...
А там не делается это в рамках другой формы. Просто из другой формы можно вызвать внутреннюю процедуру, которая и может это сделать при необходимости.

А уж место изменения реквизитов и элементов в типовых... там многое вынесено в общие модули, в которых это делается с формой.
---
Разговор о чём? О том, как вызвать процедуру в одной форме на сервере из другой формы (вроде как формы обработки)?
Я предложил решение - эту процедуру вынести в модуль менеджера документа и вызвать из обеих форм эту процедуру оттуда. В параметры процедуры модуля менеджера можно передать всё, что нужно...просто просится само - две формы работают с одной процедурой - так процедура должны быть или в общем модуле, или в модуле менеджера одного из объектов. ИМХО - расшаривать процедуру для общего доступа в форме - моветон, но то моё мнение, не претендующее на истину в последней инстанции...

А там не делается это в рамках другой формы. Просто из другой формы можно вызвать внутреннюю процедуру, которая и может это сделать при необходимости. - так я и не предполагал что делает, это Ваше На вскидку: Добавить новый реквиз...
 А уж место изменения реквизитов и элементов в типовых... там многое вынесено в общие модули, в которых это делается с формой.
 - кто - то с этим спорит? Что общий модуль, что модуль менеджера в данном случае сработают, одинаково, только общий модуль надо добавлять в расширении, а модуль менеджера как бы уже есть в обоих объектах...
---
Разговор о чём? О том, как вызвать процедуру в одной форме на сервере из другой формы (вроде как формы обработки)?
Я предложил решение - эту процедуру вынести в модуль менеджера документа и вызвать из обеих форм эту процедуру оттуда. В параметры процедуры модуля менеджера можно передать всё, что нужно...
Я просто указал, что это не всегда возможно. Посмотрите типовую erp. Документы ВерсияСоглашения...
Там в реквизитах формы используется СправочникОбъект.ДоговорыКонтрагентов. Вот как собираетесь этот объект передавать в параметрах в модуль менеджера?
Вот именно про это. Что не всегда возможна работа без серверной формы. А модуль менеджера этого не предоставит.
Да и просто сложную логику работы в серверном контексте формы переписать только для того, чтобы иметь возможность перенести ее в модуль менеджера... такое себе, когда достаточно дописать клиентскую экспортную процедуру, которая вызывает серверную в самом модуле формы. Ну, понятны трудозатраты?
Там же еще нужна возможность на клиент передать коллекцию всех необходимых данных. Иметь возможность эти данные переносить на сервер вне контекста формы...
Вот если изначально это делать, тогда еще частично возможно.
---
Там в реквизитах формы используется СправочникОбъект.ДоговорыКонтрагентов. Вот как собираетесь этот объект передавать в параметрах в модуль менеджера? - легко - в параметрах передам ссылку, из которой в модуле получу объект...
(20) Да и просто сложную логику работы в серверном контексте формы переписать только для того, чтобы иметь возможность перенести ее в модуль менеджера... такое себе, когда достаточно дописать клиентскую экспортную процедуру, которая вызывает серверную в самом модуле формы. Ну, понятны трудозатраты? - мне совершенно непонятны, никто мне ту процедуру не показал...стесняюсь спросить, а Вам показали? Може там к 2 надо прибавить 34 и умножить на икс?
(20) Там же еще нужна возможность на клиент передать коллекцию всех необходимых данных. Иметь возможность эти данные переносить на сервер вне контекста формы... - есть такая мулька - ХранилищеЗначения - туда можно упихать что угодно, хоть картинку, хоть таблицу значений, которую нельзя передать между сервером и клиентом в форме...

Ещё рпаз - мне кажется, что экспортные процедуры в модуле формы - ересь страшное, сечь за такое на конюшне надо нещадно...но, опять таки, и ещё раз - то моё мнение, никому не навязываю, просто делюсь пытаюсь делиться опытом...не всегда удачно)))
---
- легко - в параметрах передам ссылку, из которой в модуле получу объект...
Не смешно. Это будет совершенно другой объект, никак не связанный с объектом в реквизитах формы.
(21) Ещё рпаз - мне кажется, что экспортные процедуры в модуле формы - ересь страшное, сечь за такое на конюшне надо нещадно...но, опять таки, и ещё раз - то моё мнение, никому не навязываю, просто делюсь пытаюсь делиться опытом...не всегда удачно)))
Вот сейчас не хочется проверять, но на сколько помню, в рознице так было точно. Из вне вызывались экспортные процедуры формы из других форм. Имена этих процедур передавались как строка для последующего вызова из вне.
Я уже не говорю про механизм БСП ПодключаемыеКоманды и т.д.
- мне совершенно непонятны, никто мне ту процедуру не показал...стесняюсь спросить, а Вам показали? Може там к 2 надо прибавить 34 и умножить на икс?
Я не видел. А Вы? Вот зачем спорить, что только в модуле менеджера нужно использовать процедуру? Я же не спорю, что так нельзя делать. Я просто указываю, что это не всегда возможно или не рентабельно.
---
Вот зачем спорить, что только в модуле менеджера нужн - и где это я сказал, что ТОЛЬКО в модуле итд?
(22) Вот сейчас не хочется проверять, но на сколько помню, в рознице так было точно. и что это значит? Есть стандарты разработки от 1С, в типовых нарушаются через строчку и чего?
(22) Я уже не говорю про механизм БСП ПодключаемыеКоманды и т - опять за рыбу гроши...

Ещё раз - я высказал СВОЁ мнение, не нравится - соболезную...