Опубликовано: 17.06.2022

Системные процедуры и функции компоненты «Оперативный учет»

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

В данной статье рассматриваются системные встроенные процедуры и функции, используемые исключительно для работы с компонентой «Оперативный учет». Эти процедуры и функции главным образом предназначены для выполнения манипуляций с так называемой точкой актуальности (ТА) итогов.

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

Режим «Управление итогами» позволяет «вручную» сдвигать точку актуальности итогов во времени как вперёд, так и назад, при этом производится пересчёт итогов. Проведённые документы, оказавшиеся после точки актуальности итогов, при пересчёте итогов не учитываются.

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

Функции для получения ТА

Получить дату и время точки актуальности (ТА) итогов в текстовом виде позволяет системная функция ПолучитьТА() (англоязычный синоним — GetAP()). Функция не имеет параметров и используется только при наличии компоненты «Оперативный учет». Возвращаемым значением функции будет значение типа "Строка".

Пример использования:

ДатаИВремяТА = ПолучитьТА();

Получить значение даты точки актуальности итогов позволяет системная функция ПолучитьДатуТА() (англоязычный синоним — GetDateOfAP()). Эта функция не имеет параметров и используется только при наличии компоненты «Оперативный учет». Возвращаемым значением функции будет значение типа "Дата".

Пример использования:

ДатаТА = ПолучитьДатуТА();

Получить значение времени точки актуальности итогов позволяет функция ПолучитьВремяТА() (англоязычный синоним — GetTimeOfAP()). Функция может использоваться только при наличии компоненты «Оперативный учет». Возвращаемым значением функции является строковое значение времени точки актуальности итогов в формате "ЧЧ.MM.СС". Она также записывает значения отдельных компонент времени ТА в передаваемые при вызове параметры.

Синтаксис:

ПолучитьВремяТА(<Часы>, <Минуты>, <Секунды>);

где

  • <Часы> — идентификатор переменной, в которую функция возвращает строковое значение часа ТА;
  • <Минуты> — идентификатор переменной, в которую функция возвращает строковое значение минут ТА;
  • <Секунды> — идентификатор переменной, в которую функция возвращает строковое значение секунд ТА.

Пример использования:

Перем Час;
Перем Минута;
Перем Секунда;

ПолучитьВремяТА(Час, Минута, Секунда);

Получить документ, который стоит на точке актуальности, (если таковой есть) позволяет системная функция ПолучитьДокументТА() (англоязычный синоним — GetDocOfAP()). Она используется только при наличии компоненты «Оперативный учет». Параметры у функции отсутствуют. Возвращаемым значением функции будет значение типа "Документ".

Пример использования:

ПоследнийДок = ПолучитьДокументТА();

Получить позицию точки актуальности итогов позволяет системная функция ПолучитьПозициюТА() (англоязычный синоним — GetAPPosition()). Она не имеет параметров и используется только при наличии компоненты «Оперативный учет». Возвращаемым значением функции является 32-х символьное строковое значение позиции точки актуальности итогов.

Пример использования:

ПозицияТА = ПолучитьПозициюТА();

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

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

Процедуры для установки ТА

Изменить положение точки актуальности итогов на начало указанной даты или документа (то есть ТА при этом не будет включать саму эту дату или документ) позволяет системная процедура УстановитьТАна() (англоязычный синоним — SetAPToBeg()). Данная процедура используется только в монопольном режиме доступа.

Синтаксис:

УстановитьТАна(<ПоложениеТА>)

где <ПоложениеТА> — выражение типа "Дата", "Документ" или позиция документа, на начало которого устанавливается точка актуальности.

Пример использования:

Если МонопольныйРежим() > 0 Тогда
   УстановитьТАна(ВыбДокумент);
КонецЕсли;

Изменить положение точки актуальности итогов на конец указанной даты или документа (то есть ТА при этом будет включать саму эту дату или документ) позволяет системная процедура УстановитьТАпо() (англоязычный синоним — SetAPToEnd()). Процедура используется только в монопольном режиме доступа.

Синтаксис:

УстановитьТАпо(<ПоложениеТА>)

где <ПоложениеТА> — выражение типа "Дата", "Документ" или позиция документа, на конец которого устанавливается точка актуальности.

Пример использования:

Если МонопольныйРежим() > 0 Тогда
   УстановитьТАпо(ВыбДокумент);
КонецЕсли;

Другие статьи по схожей тематике