Перейти к содержимому

Как обратиться к менеджеру документа в 1с

  • автор:

Как обратиться к менеджеру документа в 1с

(4) Ну ведь имя документа на этот момент ты же знаешь
Документы[ДокументСсылка.Метаданные().Имя].ПечатьТОРГ12();

(5) вот реальный код:

Объект = ДокументЭлемент.Регистратор.ПолучитьОбъект(); // тип Документ объект: Реализация товаров и услуг
ТабличныйДокумент = Объект.ПечатьТОРГ12();

! Метод объекта не обнаружен (ПечатьТОРГ12)

(7) Так метод ПечатьТОРГ12() где находится?
В модуле менеджера? или в модуле объекта?
(6) А ПечатьТОРГ12() экспортная?

(8) в модуле менеджера.
кажется я понял
Документы[ДокументСсылка.Метаданные().Имя].ПечатьТОРГ12(МассивОбъектов, ОбъектыПечати);

(11) Если она не экспортная, как ты к ней вообще обращаться собрался?
(5) читаем: модуль менеджера!
(12) блин. а как же тогда напечатать документ программно?
Точнее получить табличный документ.
(14) типовая7
(16)используй процедуру модуля менеджера печать().
там есть параметр КоллекцияПечатныхФорм

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

Посмотрите повнимательнее, может есть другая какая-нибудь процедура печати — экспортная.

да, все правильно. в модуле менеджера процедура Печать() экспортная 🙂
В общем я все понял, всем спасибо за помощь 🙂

Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший

Использование модуля объекта, модуля менеджера объекта и общих модулей

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

Методическая рекомендация (полезный совет)

1. Модуль объекта предназначен для реализации поведения отдельного экземпляра объекта ( СправочникОбъект , ДокументОбъект и т.п.). В модуле объекта размещаются процедуры и функции, которые работают с данными объекта ( ЭтотОбъект и переменные модуля объекта), в том числе когда он еще не записан в информационную базу.

Например, в модуле объекта могут размещаться:

  • обработчики событий объекта
  • процедуры заполнения экземпляра объекта.

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

2. Модуль менеджера объекта предназначен для размещения «статической» функциональности, которая логически неразрывно связана с объектом метаданных, но не зависит от состояния конкретного экземпляра объекта данных. Это могут быть процедуры и функции:

  • относящиеся не к одному, а сразу к некоторой совокупности объектов. Например, это функции для вывода на печать списка объектов; функции, возвращающие информацию, общую для всех экземпляров объекта метаданных; процедуры обновления данных информационной базы, которые связаны с объектом метаданных; и т.п.
  • которые работают с объектом, записанным в ИБ. В таких функциях входным параметром является ссылка на объект. Например, это функции для получения печатной формы по ссылке на объект, процедуры формирования движений по ссылке на объект и т.п.

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

3. Если функциональность невозможно однозначно отнести к тому или иному объекту метаданных, то она является логически общей для нескольких объектов. В этом случае ее следует размещать в общем модуле .

Менеджер 1С

Платформе 1С 8.3. менеджер 1С необходим для организации работы с объектами метаданных. Посредством менеджера 1С создаются новые экземпляры справочников, документов, осуществляется поиск и выборка объектов, получаются формы и макет, а также выполняется другая работа, не связанная с конкретным экземпляром объекта.

Менеджер объекта 1С

Для доступа к тому или иному объекту конфигурации 1С необходимо сначала обратиться к менеджеру этого объекта. Например, для управления документом, как объектом конфигурации, следует обратиться к менеджеру документа, а для управления справочником, как объектом конфигурации, нужно обратиться к менеджеру справочника.

Для обращения к менеджеру объекта, сначала необходимо воспользоваться свойством глобального контекста. Например, для обращения к документу нужно воспользоваться свойством Документы, а для обращения к справочнику — Справочники.

Узнать, какое свойство за какой объект отвечает, можно в синтакс-помощнике в разделе Глобальный контекст, подразделе Свойства.

Свойство глобального контекста 1С

Если в модуле написать название свойства глобального контекста, и поставить «.» (или Ctrl + Space), то появится контекстная подсказка в которой, будут отображены все объекты этого прототипа, существующие в конфигурации на данный момент. Например, справочники.

Свойство глобального контекста 1С

После выбора конкретного объекта, мы уже обратимся к менеджеру этого объекта. Например, к менеджеру справочника.

Справочники.Контрагенты

И нам будут доступны все свойства и методы менеджера объекта. Заметим, что менеджер объекта даёт доступ не к конкретному экземпляру объекта, а ко всему объекту в целом.

Все свойства и методы менеджера нужного объекта можно посмотреть в синтакс-помощнике. Например, для справочника будет следующий путь.

Менеджер объекта 1С

А для документа, следующий:

Менеджер объекта 1С

Так мы получаем доступ к менеджеру конкретного справочника Контрагенты.

Справочники.Контрагенты

А так, к менеджеру документа Счет.

Документы.Счет

Естественно, и справочник Контрагенты, и документ Счет уже созданы в конфигурации.

Если после получения доступа к менеджеру объекта, мы поставим точку или выполним комбинацию клавиш Ctrl + Space, то появится контекстная подсказка со свойствами и методами менеджера объекта.

Менеджер объекта 1С

Подробно об этих методах можно почитать в синтакс-помощнике. Например, о методах менеджера справочника.

Менеджер объекта 1С

Например, в случае справочника, при помощи этих методов можно найти элемент, создать элемент, получить выборку и т.д.
Создать экземпляр объекта справочника можно так:

НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент(); 

Где СоздатьЭлемент() – это функция менеджера справочника, которая возвращает новый экземпляр объекта.

А получить выборку элементов справочника можно так:

Выборка = Справочники.Контрагенты.Выбрать(); 

Где Выбрать() – это функция менеджера справочника, которая возвращает выборку элементов.

К примеру, получить выборку всех элементов и вывести в сообщение их наименование можно так:

Выборка = Справочники.Контрагенты.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Наименование); КонецЦикла; 

Модуль менеджера 1С

Помимо методов менеджеров объектов, которые предоставляет платформа 1С можно создать собственные методы того или иного объекта. Делается это в модуле менеджера 1С. Открыть модуль менеджера объекта 1С достаточно просто: необходимо в дереве конфигурации выделить нужный объект, вызвать контекстное меню, и выполнить команду «Открыть модуль менеджера» этого меню.

Модуль менеджера 1С

Если в этом модуле менеджера написать процедуру или функцию, которая будет экспортной, то потом к ней можно обращаться посредством менеджера этого объекта. Например, в модуле менеджера справочника Контрагенты написали процедуру, которая выводит в сообщении наименование всех контрагентов.

Модуль менеджера 1С

Теперь, мы можем обратиться к этому методу посредством менеджера конкретного справочника.

Справочники.Контрагенты.ВывестиСправочник(); 

Т.е. с помощью модуля менеджера мы можем создавать свойства и методы, которые будут применимы только к конкретному справочнику, документу и т.д.

Читайте также по теме:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Модуль менеджера и модуль объекта в 1С

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

Согласно теории объектно-ориентированного программирования, методы объектов делятся на две группы: статические и простые. Простые методы имеют доступ только к конкретному экземпляру класса. Статические методы не имеют доступа к данным объектов, а работают с классом в целом.

Если перевести все это в термины системы 1С:Предприятие, то Модуль объекта содержит простые методы. Для их использования необходимо сначала получить конкретный объект: элемент справочника, документа и т.п. Модуль менеджера содержит статические методы. Для его использования нет необходимости отдельно получать каждый конкретный объект, он позволяет работать со всей коллекцией сразу.

Модуль объекта может иметь процедуры и функции, которые можно использовать извне. Для этого такая процедура или функция обозначается словом Экспорт.

Функция Новая Функция ( ) Экспорт

Для того, чтобы использовать такую функцию из модуля объекта, нужно сначала, имея ссылку на необходимый объект, получить его с помощью функции ПолучитьОбъект().

ЭлементСправочника = Справочники . Номенклатура . НайтиПоКоду ( «000000001» ) ;
Объект = ЭлементСправочника . ПолучитьОбъект ( ) ;
Пер = Объект . НоваяФункция ( ) ;

Аналогично можно создавать новые переменные, которые могут быть использованы из различных объектов конфигурации.

Перем НоваяПеременная Экспорт

ЭлементСправочника = Справочники . Номенклатура . НайтиПоКоду ( «000000001» ) ;
Объект = ЭлементСправочника . ПолучитьОбъект ( ) ;
Объект . НоваяПеременная = ) ;

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

Модуль менеджера имеет все те же возможности, разница лишь в том, что для его использования не нужно получать конкретный объект, модуль менеджера позволяет работать со всей коллекцией объектов определенного типа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-na-domu-voronezh.ru/