Содержание:
2. Точка актуальности в 1С 7.7
1. Понятие точки актуальности
Понятие о точке актуальности в 1С: Предприятии связано с организацией оперативного учёта. Под организацией оперативного учёта понимается такой учёт, который позволяет максимально быстро получить сведения о значениях различных учитываемых в 1С: Предприятии показателях, а под показателями понимаются данные, которые свидетельствуют о состоянии какого-то процесса – например, достигнутых объёмах продаж, количестве накопленного товара и т.п.
В общем случае точка актуальности – это дата и время, на которые в системе уже имеются рассчитанные итоги по некоему интересующему нас ресурсу. Иначе говоря, при запросе итогов на эту самую точку, результат мы получим быстрее, нежели при запросе на произвольную дату и время – ведь в системе (в таблице регистра накопления) уже хранится нужная нам информация, тогда как во втором случае системе придётся выполнить некоторые вычисления, прежде чем выдать результат (берётся остаток из таблицы остатков, потом досчитывает из таблицы движений). Точка актуальности, таким образом, помогает получить итоги по нужному ресурсу за минимальное время.
2. Точка актуальности в 1С 7.7
В Платформе 7.7 точка актуальности при ведении учёта постоянно смещалась по оси времени в будущее – при проведении нового документа точкой актуальности становилось время проведения документа. Действительно, поскольку учёт призван отражать хозяйственную жизнь, то такой механизм сдвига точки актуальности от документа к документу стало неким отражением понятий «сейчас» из реальной жизни. То есть Платформа 1С 7.7 точку актуальности сдвигала дискретно, по мере проведения документов.
При этом, однако, имелся ряд нюансов: так, при удалении последнего проведённого документа (соответствующего точке актуальности), точка актуальности не изменялась. Также имелась возможность переноса точки актуальности вручную. В общем же смысле, точка актуальности отмечала ту точку на оси времени в хронологии документов, по которую включительно документы соответствуют уже отраженным событиям учёта. При сдвиге точки актуальности итогов вперёд либо назад производился пересчёт итогов, а документы, дата проведения которых оказалась новее точки актуальности не учитывались.
Заметим, что в Платформе 7.x не предполагалось работы и проведения документов будущим периодом, ни писать, ни считывать данные «из будущего» было нельзя.
3. Точка актуальности в 1С 8
Однако Платформа 8.x подходит к этому вопросу несколько иначе. Было решено, что такой дискретный сдвиг точки актуальности не всегда удобен, ведь иногда, в исключительных ситуациях допустимо работать с документами будущего периода, например, в задачах планирования с оприходованием товара в будущем, при котором движение к выполнению поставленной задачи уменьшает количество такого товара, а при достижении точки в будущем становится ясно, выполнен ли план. Поэтому в Платформе 8.x подход к точке актуальности изменили, представив более универсальное решение.
Если даже предположить, что пользователь работает с документами в будущем периоде, работа всё же происходит не на всей временной оси, а на некотором отрезке времени. Таким образом, если взять некоторую достаточно отдалённую точку будущего, можно будет хранить остатки на эту точку и быстро получать их.
В качестве такой точки актуальности в Платформе 8.x используется 01 ноября 3999 года 00:00:00. Иными словами, текущие итоги регистров остатков периода имеют именно такую дату. Если принять во внимание, что платформа предоставляет пользователю (и программисту) некоторый набор удобных для работы абстракций, скрывающих происходящие уровнем ниже технические подробности, то становится понятно, что точка актуальности как раз и есть такая техническая деталь, скрываемая от пользователя.
Так, от пользователя скрыты технические детали устройства регистров и используемая в них дата 01 ноября 3999 года, и, в самом деле, при повседневном учёте он не будет работать с такой датой, хотя, теоретически, учёт может вестись и до этой даты. Для пользователя же Платформа предоставляет более удобную абстракцию, называемую актуальные остатки (АО), отражающую остатки именно на текущий момент.
При обращении к системе с запросом остатков Платформе 8.x производит действия, подобные описанным выше для Платформе 7.x. Рассчитываются остатки, при этом происходит поиск итога - ближайшего равного или большего (из таблицы итогов регистра накопления), после чего, при необходимости происходят дополнительные расчёты по таблице движений на требуемый момент времени.
Специалист компании «Кодерлайн»
Колесников Дмитрий