Регистры в системе 1С:Предприятие

В этом параграфе будет рассказано о понятии «регистр» и даны сведения об основных принципах использования

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

Проблема, которая обычно возникает при создании «хранилища» сводной информации: «В каких разрезах накапливать сводные дан­ные, чтобы затем можно было извлечь нужную информацию без утомительной обработки?». Система 1С:Предприятие использует простые и в то же время гибкие средства для создания регистров: достаточно просто задать, в каких разрезах и какие данные требуется хранить в регистре, а система сама обеспечит запись и получение нужных данных простыми языковыми средствами.

Физический смысл регистра сформулировать довольно сложно, и скорее всего, регистр не имеет материального аналога. Можно сказать, что регистр — это n-мерная система координат, в узлах которой хранятся совокупные данные. Проиллюстрировать это можно на та­ком примере.

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

В дальнейшем будем использовать термин «измерения» для обо­значения понятий типа использованных выше «товар», «склад», и термин «ресурсы» — для понятий типа «количество», «стоимость».

Изменение состояния регистров выполняется специальным модулем на встроенном языке — модулем документа. Такой модуль со­держит алгоритм формирования сведений об изменениях в регист­рах, которые необходимо выполнить при проведении документа. Эти сведения называются движениями регистров. Система подсчета итогов использует движения регистров для выполнения непосредствен­ных изменений в регистрах.

В процессе разработки конфигурации можно создать практически неограниченное количество регистров, однако, следует учитывать, что запись изменений в большом числе регистров при проведении документа может вызывать замедление скорости работы системы в целом.

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

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

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

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

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

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

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

Из всего сказанного выше можно сделать выводы о преимущест­вах использования регистров.

Прежде всего, регистры используются для хранения информации, к которой требуется получать оперативный доступ. «Уровень опера­тивности» и, соответственно, целесообразность использования реги­стра должен определять специалист, выполняющий конфигурирова­ние системы 1С:Преднриятие, в соответствии с требованиями поль­зователей системы.

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