8.х Модуль объекта и модуль менеджера

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Алексей1989, 1 янв 2012.

  1. TopicStarter Overlay
    Алексей1989
    Offline

    Алексей1989 Опытный в 1С

    Регистрация:
    15 июл 2011
    Сообщения:
    613
    Симпатии:
    0
    Баллы:
    26
    С Новым 2012-м годом! Помогите внести ясность в такие понятия как модуль объекта и модуль менеджера. В чем между ними отличие? В книжке "Практическое руководство" Радченко сказано, что они используются при создании объектов, но в чем между ними принципиальное отличие?
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Модуль менеджера
    1) предназначен для переопределения данных выбора и переопределения выбора открываемой формы.
    2) В нем можно описывать процедуры и функции с ключевым словом Экспорт. И они будут доступны из других программных модулей.
    К примеру у справочника Test в модуле менеджера имеется всего 2 процедуры.
    Код:
    Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    КонецПроцедуры
    
    Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    КонецПроцедуры
    
    
    Как раз о чем я и говорил.
    Модуль объекта
    1) Предназначен для обработки событий объекта. Пример: Ввод нового объекта, запись, проведение и т.д.
    2) В нем также можно описывать процедуры и функции с ключевым словом Экспорт. И они будут доступны из других программных модулей.
    В модуле объекта к примеру можно изменить обработчик события ПриЗаписи() все того же справочника Test. И в этом случае событие будет вызываться в любом случае. Даже при программной записи объекта.
  3. x-a-d
    Offline

    x-a-d Опытный в 1С

    Регистрация:
    3 сен 2009
    Сообщения:
    184
    Симпатии:
    0
    Баллы:
    26
    Модуль объекта - ключевое слово тут "объект". Чтобы обратиться к какой-то процедуре данного модуля (например, какая-нибудь экспортная процедура печати), система создает объект.

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

    Код:
    Справочники.Контрагенты.ПечатьКарточкиКонтрагента(ПередаваемаяСсылка);
    
    
    
    процедуру ПечатьКарточкиКонтрагента() можно было бы разместить и в каком-то общем модуле и тогда обращение к процедуре было бы возможно так

    Код:
    НазваниеОбщегоМодуля.ПечатьКарточкиКонтрагента(ПередаваемаяСсылка);
    
    
    Но, согласитесь, что процедуры, связанные с обработкой конкретного справочника, например "контрагенты" естественнее разместить в каком-то модуле данного справочника. Для этого и существует модуль менеджера. Строчка кода

    Код:
    Справочники.Контрагенты.ПечатьКарточкиКонтрагента(ПередаваемаяСсылка);
    
    
    читается куда нагляднее, чем
    Код:
    НазваниеОбщегоМодуля.ПечатьКарточкиКонтрагента(ПередаваемаяСсылка);
    
    
    рекомендую к прочтению статью http://help1c.com/faq/view/927.html
  4. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    самое главное отличие в том, что модуль менеджера свойственен только объектам конфигурации, дополняя их функционал как объектов конфигурации; модуль объекта определяет функционал объекта как такового, без отношения к конфигурации; например, внешние отчеты и обработки не имеют модуля менеджера, поскольку не являются объектами конфигурации, но имеют модуль объекта; кроме этого модуль объекта поддерживает объевление переменных, а модуль менеджера нет, плюс некоторые отличия в работе с контекстом

Поделиться этой страницей