Иллюстрированный самоучитель по языку системы 1С:Предприятие

Методы контекста Модуля документа

Описанные в данном разделе методы доступны только в контексте Модуля документа (см. "Виды программных модулей").

ИтогиАктуальны

Возвратить флаг актуальности итогов.

Синтаксис:

ИтогиАктуальны()

Англоязычный синоним:

AreTotalsActual

Возвращаемое значение:

Числовое значение: 1 – итоги актуальны, 0 – нет.

Описание:

Метод ИтогиАктуальны позволяет определить – выполняется ли проведение документа в реальном времени или задним числом (когда нельзя обращаться к текущим остаткам регистров).

Данный метод доступен только в контексте Модуля документа в предопределенной процедуре ОбработкаПроведения (см. Гл. "Системные предопределенные процедуры").

Пример:

Процедура ОбработкаПроведения()

// Для расходной накладной ВыбратьСтроки();

Пока ПолучитьСтроку() > 0 Цикл

Если ИтогиАктуальны() > 0 Тогда

// если итоги актуальны,

// то текущие стоимости берем из текущих остатков

Регистр.ОстаткиТоваров.Склад = Скпад;

Регистр.ОстаткиТоваров.Товар = Товар;

Регистр.ОстаткиТоваров.ОстаткиПолучить();

Регистр.ОстаткиТоваров.БазоваяСтоимость =

Регистр.ОстаткиТоваров.БазоваяСтоимость * Количество *

Коэффициент / Регистр.ОстаткиТоваров.ОстатокТовара;

Регистр.ОстаткиТоваров.ВалютнаяСтоимость =

Регистр.ОстаткиТоваров.ВалютнаяСтоимость * Количество *

Коэффициент / Регистр.ОстаткиТоваров.ОстатокТовара;

Регистр.ОстаткиТоваров.ОстатокТовара = Количество * Коэффициент;

Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();

Иначе

// если итоги не актуальны,

//то стоимости берем из врем. расчета Регистра

Рег = СоздатьОбъект("Регистр.ОстаткиТоваров");

Рег.ВременныйРасчет();

РассчитатьРегистрыНа(ТекущийДокумент());

Рег.Товар = Товар;

Рег.Склад = Склад;

Рег.ОстаткиПолучить();

Регистр.ОстаткиТоваров.БазоваяСтоимость =

Рег.БазоваяСтоимость * Количество * Коэффициент /

Рег.ОстатокТовара;

Регистр.ОстаткиТоваров.ВалютнаяСтоимость =

Рег.ВалютнаяСтоимость * Количество * Коэффициент /

Рег.ОстатокТовара;

Регистр.ОстаткиТоваров.ОстатокТовара = Количество * Коэффициент;

Регистр.ОстаткиТоваров.Склад = Склад;

Регистр.ОстаткиТоваров.Товар = Товар;

Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();

КонецЕсли;

КонецЦикла;

КонецПроцедуры
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.