
1С:Торговля
- основные понятия,
объекты и механизмы технологической платформы
Часть 3. Регистры
Владимир Игнатов, Астро Софт
Мы продолжаем обзор основных механизмов системы 1С:Торговля. В предыдущих номерах (КИ/13,14) были рассмотрены такие объекты и механизмы, как Справочники, Документы и Расчеты, Журналы. Сегодня рассмотрим важнейший элемент системы - Регистры.
Регистр - это внутренний компонент, создаваемый в Конфигураторе настройки. В процессе работы конечного пользователя с готовой настройкой он уже не виден, нет стандартных средств его просмотра, доступных, например, в главном меню. Однако средствами встроенного языка можно записывать в регистры информацию и в последующем извлекать ее.
Проблема, которая обычно возникает при создании хранилища сводной информации - в каких разрезах накапливать сводные данные, чтобы затем можно было извлечь необходимую информацию без утомительной обработки? 1С:Торговля использует простые и в тоже время гибкие средства для создания Регистров. Можно задать, в каких разрезах и какие данные требуется хранить в Регистре, а система сама создаст базу данных необходимой структуры и обеспечит запись и получение нужных данных простыми языковыми средствами.
Для корректного конфигурирования системы необходимо четко представлять сущность Регистров. От того, как будет организована их структура, зависит не только быстродействие и удобство работы пользователя, но и, что более важно, полнота решения поставленной задачи и гибкость системы.
Физический смысл Регистра сформулировать достаточно сложно, и скорее всего, Регистр не имеет материального аналога. Можно сказать, что Регистр - это N-мерная система координат, в узлах которой хранятся совокупные данные. Проиллюстрировать это достаточно легко на следующем примере.
Предположим, что Вам необходимо накапливать информацию о количестве и стоимости нескольких товаров на нескольких складах фирмы. В дальнейшем, предполагается получать информацию такого вида: остаток конкретного товара на конкретном складе, остаток конкретного товара всего, стоимость всех товаров на конкретном складе. Для этого Вы в идеологии системы 1С:Торговля должны создать регистр (назовем его Товарные запасы), представляющий собой прямоугольную систему координат, на одной оси которой находятся склады, на другой - товары, а на пересечении конкретного склада и конкретного товара - цифры количества товара и стоимости товара. Для обозначения понятий типа склад, товар в приведенном примере, в системе 1С:Торговля используется термин измерения регистра. Для понятий типа количество, стоимость - термин ресурсы регистра.
РИСУНОК 1. Диалог создания регистра в системе "1С:Торговля"
Можно задавать любое количество измерений и ресурсов регистра. Если нам достаточно знать, сколько товара осталось на всех складах вообще - то нужно только одно измерение - Товар, и тогда для получения остатка, указав конкретный товар, мы получим его наличие и себестоимость. Но, если кроме этого необходимо видеть его наличие на каждом из складов, нужно создать еще одно измерение - склад, в этом случае мы получим информацию как в целом по фирме, так и по любому из складов. Для организации же списания товара методом LIFO и FIFO (требующий учета товара по партиям) нужно ввести измерение Документ, в котором будет фиксироваться приходная накладная.
Разберемся, как физически хранится информация в Регистрах. Как уже говорилось выше, можно выделить два требования к хранимой информации такого рода. Необходимо быстро получать данные по остаткам на любой момент времени (при выписке накладной как в реальном режиме времени, так и задним числом пользователь должен видеть остатки и резерв товара на момент ее заполнения) и отслеживать историю изменения их значений (для получения детальных отчетов, таких, как карточка учета товара, в которой должно быть указано: по каким документам, в каком количестве и по какой цене пришел или отпущен товар). В системе 1С:Торговля это решается следующим образом: регистр представлен в виде двух таблиц, в одной из них каждая строка хранит запись одного движения регистра (с ссылкой на значения элементов измерения и документ, вызвавший это движение), во второй хранятся остатки по всевозможным комбинациям измерений на начало каждого месяца и на т.н. Точку Актуальности Итогов (установленные пользователем в рабочей системе дата и время, на момент которых будут выдаваться итоги).
РИСУНОК 2. Из журнала документов пользователь может увидеть - какие именно движения регистров вызвал конкретный документ
Таким образом, мы вкратце рассмотрели ключевой элемент системы 1С:Торговля - Регистры, обеспечивающий хранение сводной информации о наличии и движении средств. Благодаря этому механизму мы можем отображать требуемую информацию как в оперативном режиме - показать состояние кредита клиенту и остаток требуемого товара на складе непосредственно в момент выписки счета, так и в сводных отчетах, необходимых для анализа деятельности предприятия.
В следующей статье мы расскажем о механизме формирования разнообразных отчетов в 1С:Торговле.