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

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

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

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

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

Синтаксис:

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

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

AreTotalsActual

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

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

Описание:

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

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

Пример:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Иначе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КонецЕсли;

КонецЦикла;

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

ГрупповаяОбработка

Возвратить флаг групповой обработки.

Синтаксис:

ГрупповаяОбработка()

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

IsGroupPrосеssing

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

Число: 1 — групповое обработка, 0 — проведение документа по одному.

Описание:

Метод ГрупповаяОбработка позволяет определить, выполняется ли про­ведение документа группой (при помощи режима «Управление итогами») или по одному (интерактивно).

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

Пример:

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

Если ГрупповаяОбработка() > 0 Тогда

// если групповая проводка документов, то вызываем процедуру

ПроводкаДокументаГруппой();

Иначе

// если не групповая проводка документов, то

ПроводкаДокументаОдиночного();

КонецЕсли;

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

См. также: ОбработкаПроведения, Провести

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