Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

Контекст работы с журналом расчета

Так же, как и при работе с другими данными системы 1С:Предприятие, дос­туп к атрибутам журнала расчетов и вызов его методов зависит от контекста выполнения модуля программы. В контексте выполнения расчета (см. «Виды программных модулей»), доступны атрибуты, методы журнала расчетов, т. е. они пишутся непосредственно, с указанием необходимых параметров.

Пример:

// Запись рассчитанного значения в атрибут Результат журнала расчетов

Результат = Объект.Оклад * Дни / ВсегоДней;

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

Англоязычный синоним ключевого слова ЖурналРасчетов — CalcJournal.

Пример:

// Рассчитаем все записи журнала расчетов Зарплата

ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");

ЖР.ВыбратьПериод(НачалоТекущегоПериода());

Пока ПолучитьЗапись() = 1 Цикл

ЖР.Рассчитать();

КонецЦикла;

Контекст работы с записями журнала расчетов

При работе с журналом расчетов приходится сталкиваться с понятием «за­писи журнала расчетов». Ссылкой на объект типа «запись журнала расчетов» является, например, атрибут ПервичнаяЗапись журнала расчетов. Метод журнала ТекущаяЗапись также возвращает объект такого типа.

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

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

Запись журнала расчетов как агрегатный объект не имеет методов.

Пример:

Процедура ПриРасчете(Объект)

// определим, что считаем?

Если ТипЗначения(Объект) = 12 Тогда

// имеем дело с документом

Если Объект.Автор <> Расчетчик Тогда

// если автор данного документа не есть текущий расчетчик

// запретим расчет чужого документа!

СтатусВозврата(0);

КонецЕсли;

ИначеЕсли ТипЗначения(Объект) = 11 Тогда

// а это — элемент справочника

Если Объект.Владелец <> Расчетчик Тогда

// если рассчитываемый объект лежит в папке текущего

// расчетчика — считать можно, иначе — нет

СтатусВозврата(0);

КонецЕсли;

Иначе

// иначе — считаем одну запись

Если (Объект.Документ.Автор <> Расчетчик) ИЛИ

(Объект.Объект.Владелец <> Расчетчик) Тогда

// не дадим считать запись чужого документа или объекта

СтатусВозврата(0);

КонецЕсли;

КонецЕсли;

КонецПроцедуры

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

При работе с журналом расчетов приходится сталкиваться с понятием «пе­риод журнала расчетов». Ссылкой на такого рода объект являются, например, атрибуты ПериодРегистрации и ПериодДействия журнала расчетов. Кроме того, объект этого типа передается в качестве одного из параметров предопре­деленной процедуре глобального модуля ПриСменеРасчетногоПериода. С точки зрения встроенного языка, период журнала расчетов — агрегатный объ­ект, имеющий свои атрибуты (см. ниже) и методы. Атрибуты периода журнала расчетов предназначены только для чтения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]