Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Модуль менеджера у внешней обработки (http://forums.kuban.ru/f1040/modul-_menedzhera_u_vneshnej_obrabotki-2559099.html)

vodoley_ol 02.05.2012 13:11

Модуль менеджера у внешней обработки
 
Есть типовая обработка где есть код в модуле менеджера
сохраняю как внешнюю
и теперь я не могу добраться до модуля менеджера у внешней обработки

подскажите как это сделать?

Lexusss 02.05.2012 15:20

Обращение к модулям менеджеров объектов конфигурации происходит через менеджеры соответствующих коллекций. К примеру, Справочник.Номенклатура.ПолучитьСтруктуруОбязательныхРеквизитов(Родитель).
У объекта ВнешняяОбработка отсутствует возможность вызова каких либо функций сверх описанных в платформе. Соответственно, говорить о существовании у него менеджера в принципе невозможно.

vodoley_ol 04.05.2012 12:47

тогда еще вопросик
(1) подскажите а как в модуле менеджера обработки обратиться к рекизитам или табличным частям этой же обработки?

vodoley_ol 04.05.2012 12:48

(2) + обработка находится внутри конфигурации

Lexusss 04.05.2012 13:31

(2) Зачем тогда вообще мучить модуль менеджера? Используй модуль объекта.
Смысл модуля менеджера - вызов некоторых серверных функций, концептуально связанных только с указанным объектом, без генерации полноценного объекта.
Причина их появления ИМХО - это засилье общих модулей. Перечень из 30-50 общих модулей очень сложно администрируема. При этом концепция управляемых форм строится, в значительной части, именно на внеформенное хранение модулей. Использование для этого модуля объекта - очень плохо. Приходится генерировать менеджер объекта из данных формы. При возврате из объекта в форму происходит полная передача объекта на клиент, что радикально снижает производительность. Найденный выход - модуль менеджера. В нем мы располагаем те процедуры, которые не обращаются к данным объекта, а возвращают лишь небольшие кванты. Например, какую форму открывать по указанному типу реализации или список обязательных реквизитов для пользователя.
Громадная дыра в этом построении - это недоступность модуля менеджера на клиенте. В результате опять же растет количество общих модулей с суффиксом Клиент. Обидно, досадно, но... ладно.

vodoley_ol 04.05.2012 13:50

(1)модуль менеджера мне нужен потому что в нем написан код (процедура) это типовая обработка а не собственная, и я хотел переделать в нем код, значит не получится?
и выхода нету?
а так бы я в своей обработке уже давно бы написал в модуле формы или модуле объекта

vodoley_ol 04.05.2012 13:58

(5) + просто изначально хотел типовую обработку доработать, сохранил как внешнюю, наткнулся на то что модуля менеджера нет, а во внутренней в менеджере есть нужный мне код, стал редактировать внутри конфы, и тоже засада
печально

Lexusss 04.05.2012 15:00

(5) Переделывать все равно придется. Вызов функции из ММ в другом месте кода выполняется методом Обработки.ЧтоТоТиповое.ТвояФункция(Золото). Т.к. обработка у тебя появится своя, вызов придется переделывать. Это ж тебе не ООП!
(6) Всегда можно передать ЭтотОбъект в качестве параметра функции в модуль менеджера. Тогда из ММ можно обратиться к параметрам имеющегося объекта отчета. Это не соответствует концепции использования объектов, но вполне приемлимо с точки зрения читаемости кода и производительности.

vodoley_ol 04.05.2012 15:41

(7)
а пример кода можешь привести?

vodoley_ol 04.05.2012 15:42

+(8) как передать ЭтотОбъект в качестве параметра функции в модуль менеджера

vodoley_ol 05.05.2012 09:35

(7) спасибо
нашел как передать объект в ММ


Текущее время: 11:19. Часовой пояс GMT +3.