- •7.1. Назначение
- •Регистры остатки и регистры оборотов
- •Регистры остатков
- •Регистры оборотов
- •Активность записей
- •7.2. Приемы программирования
- •Менеджер регистров накопления
- •Менеджер регистра накопления
- •Набор записей регистра накопления
- •Модуль набора записей
- •Выборка из регистра накопления
- •7.3. Формы регистра накопления
Лекция 2_ИСБУ (V8). Регистры накопления
7.1. Назначение
Регистры накопления предназначены для хранения информации, развернутой по комбинации измерений и поддающейся суммированию. Это является важным отличием от регистров сведений, рассмотренных в предыдущей главе.
Другим принципиальным отличием регистров накопления от регистров сведений является то, что две полностью идентичные записи для регистра накопления - вполне нормальное явление. Их ресурсы будут просуммированны, т.е. накоплены, для чего, собственно, и предназначены регистры накопления.
Предположим, что регистр Остатки должен содержать информацию о количестве и стоимости каждого товара на каждом складе. В идеологии системы 1C:Предприятие 8 итоги регистра такого вида представляют собой прямоугольную систему координат, на одной оси которой находятся склады, на другой - товары, а на пересечении конкретного склада и конкретного товара находятся цифры количества товара и стоимости товара:
Этот регистр будет хранить остатки товаров на каждом складе. При проведении документов ПриходнаяНакладная и РасходнаяНакладная в этот регистр будут добавляться записи о приходе или расходе, что, естественно, повлияет на итоги регистра.
Замечание. Тип записи (приход или расход) определяется свойством ВидДвижения. Но если сделать движение типа «приход» с отрицательными ресурсами, то итоги регистра, конечно, уменьшатся. Это может быть использовано для операций сторнирования.
Под итогами понимается сводная информация, выдаваемая регистром накопления. Это могут быть ответы на следующие вопросы:
• остаток конкретного товара на конкретном складе,
• остаток конкретного товара на всех складах,
• стоимость всех товаров на конкретном складе.
Итоги регистра могут быть получены как на текущий момент времени, так и на любую другую дату или момент времени, а если это регистр оборотов, то за любой период. Как мы увидим ниже, это определяется параметрами методов Остатки и Обороты или параметрами виртуальных таблиц при использовании запросов.
При создании регистра накопления, кроме измерений и ресурсов, можно определить реквизиты регистра. Их можно представить как дополнительные колонки в таблице записей регистра. Реквизиты содержат сопроводительную информацию для каждой записи. Например, в регистр накопления Остатки можно добавить реквизит Комментарий, который будет сопровождать каждую запись о движении товара.
Разработчик может использовать реквизиты для отбора нужных записей при обходе выборки или при использовании запроса. Следующий пример перебирает все записи регистра, у которых реквизит равен определенному значению:
Выборка = РегистрыНакопления.Остатки.Выбрать();
Покa Выборка.Следующий() Цикл
Если СокрЛП(Выборка.Комментарий) = ЗаданнаяСтрока Тогда
…
КонецЕсли;
КонецЦикла;
Регистры остатки и регистры оборотов
В системе 1С:Предприятие 8 возможно использование регистров накопления двух типов: регистры остатков и регистры оборотов. Разница между ними понятна из их названия и заключается в характере хранимой информации: из регистров остатков можно быстро получить информацию о состоянии средств на момент времени, а из регистров оборотов - данные за период.
Если из регистра нужно быстро получать остаток чего-либо на текущий момент, тогда нужно завести регистр остатков. Если из регистра нужно быстро получать обороты чего-либо за период, тогда нужно создать оборотный регистр.
