Можно ли обращаться к переменным, процедурам и функциям модуля объекта «снаружи» объекта?

Почему дата отображается со временем?

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

Также как и число не хранит информации о том, может ли поле, где оно хранится, содержать дробные числа. Оно может быть только фактически целым или дробным. Точно так же и дата может фактически содержать время отличное от 00:00:00 или содержать время равное 00:00:00.

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

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


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

Процедура Печать(ТабличныйДокумент) Экспорт КонецПроцедуры

После этого к таким переменным, процедурам и функциям можно обращаться так же, как и к системным свойствам и методам объектов:

ДокументОбъект.Записать(); //Записать документ ДокументОбъект.Печать(ТабличныйДокумент); //Сформировать печатную форму

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

ДокументОбъект.Печать(ТабличныйДокумент); //правильно ДокументСсылка.Печать(ТабличныйДокумент); //ошибка!

Более подробную информацию можно найти в главе «Манипулирование данными объектов» на странице 561.