Главная » Файлы » Справка на Примерах 1С » Регистры Накопления |
Скачивать материалы с сайта, могут только зарегистрированные пользователи.
Для регистрации заполните два поля ниже!
Через минуту Вы получите "Гостевой доступ"
2012 Май 23, 21:06 | |
Регистры накопления предназначены для хранения информации, развернутой по комбинации измерений и поддающейся суммированию. Это является важным отличием от регистров сведений, рассмотренных в предыдущей главе. Другим принципиальным отличием регистров накопления от регистров сведений является то, что две полностью идентичные записи для регистра накопления — вполне нормальное явление. Их ресурсы будут просуммированны, т.е. накоплены, для чего, собственно, и предназначены регистры накопления. Предположим, что регистр Остатки должен содержать информацию о количестве и стоимости каждого товара на каждом складе. В идеологии системы 1С:Предприятие 8.0 итоги регистра такого вида представляют собой прямоугольную систему координат, на одной оси которой находятся склады, на другой — товары, а на пересечении конкретного склада и конкретного товара находятся цифры количества товара и стоимости товара:
Этот регистр будет хранить остатки товаров на каждом складе. При проведении документов ПриходнаяНакладная и Расходная накладная в этот регистр будут добавляться записи о приходе или расходе, что, естественно, повлияет на итоги регистра. Внимание! Тип записи (приход или расход) определяется свойством ВидДвижения. Но если сделать движение типа «приход» с отрицательными ресурсами, то итоги регистра, конечно, уменьшатся. Это может быть использовано для операций сторнирования. Под итогами понимается сводная информация, выдаваемая регистром накопления. Это могут быть ответы на следующие вопросы: • остаток конкретного товара на конкретном складе, • остаток конкретного товара на всех складах, • стоимость всех товаров на конкретном складе. Итоги регистра могут быть получены как на текущий момент времени, так и на любую другую дату или момент времени, а если это регистр оборотов, то за любой период. Как мы увидим ниже, это определяется параметрами методов Остатки и Обороты или параметрами виртуальных таблиц при использовании запросов. Список записей регистра накопления может выглядеть следующим образом:
При создании регистра накопления, кроме измерений и ресурсов, можно определить реквизиты регистра. Их можно представить как дополнительные колонки в таблице записей регистра. Реквизиты содержат сопроводительную информацию для каждой записи. Например, в регистр накопления Остатки можно добавить реквизит Комментарий, который будет сопровождать каждую запись о движении товара. Разработчик может использовать реквизиты для отбора нужных записей при обходе выборки или при использовании запроса. Следующий пример перебирает все записи регистра, у которых реквизит равен определенному значению:
Выборка = РегистрыНакопления.Остатки.ВыбратьО; Пока Выборка.Следующий() Цикл Если СокрЛЩВыборка.Комментарий) = ЗаданнаяСтрока Тогда КонецЕсли; КонецЦикла; Регистры остатки и регистры оборотовВ системе 1С:Предприятие 8.0 возможно использование регистров накопления двух типов: регистры остатков и регистры оборотов. Разница между ними понятна из их названия и заключается в характере хранимой информации: из регистров остатков можно быстро получить информацию о состоянии средств на момент времени, а из регистров оборотов — данные за период. Если из регистра нужно быстро получать остаток чего-либо на текущий момент, тогда нужно завести регистр остатков. Если из регистра нужно быстро получать обороты чего-либо за период, тогда нужно создать оборотный регистр. Регистры остатковРассмотрим в качестве примера отслеживание взаиморасчетов предприятия с покупателями ее продукции. Для того, чтобы оперативно получать информацию о взаимной задолженности предприятия и покупателя, можно завести регистр Взаиморасчеты, в котором для каждого покупателя будет храниться сумма задолженности. При совершении хозяйственной операции состояние регистра будет соответствующим образом изменяться, каждый раз отражая текущее состояние взаиморасчетов. Таким образом, регистр Взаиморасчеты — это регистр остатков. Регистры оборотовОднако из регистра Взаиморасчеты нельзя быстро получить информацию об объеме закупок, совершенных данным покупателем за какой-либо период времени. Можно проанализировать все движения, имеющие отношение к данному покупателю, и вычислить общую сумму закупок. Но когда необходимо получать эти сведения оперативно (например, по условиям договора при достижении определенного объема закупок покупателю должна предоставляться скидка), такой способ может не подойти. В этом случае решением проблемы может быть использование регистра оборотов. В таком регистре — назовем его ОбъемЗакупок — в разрезе покупателей будет храниться информация об объеме закупок (об обороте покупателя). При создании регистра оборотов можно указывать, с какой периодичностью будет накапливаться информация: день, месяц и т.д. Теперь, при совершении хозяйственных операций, необходимо будет добавлять запись не только в регистр Взаиморасчеты, но и в регистр ОбъемЗакупок. В этот регистр при совершении клиентом каждой покупки будет заноситься информация о сумме покупки. В результате в регистре будет постоянно накапливаться информация об общем объеме закупок клиента. Но оборотный регистр дает не только ускорение получения данных за период. При добавлении еще одного измерения Товар, он сможет предоставлять принципиально новую информацию — обороты в разрезе товаров и контрагентов. Например, можно будет легко узнать, сколько конкретный контрагент закупил за период данного товара. Без оборотного регистра получение такой информации было бы очень затруднительно. Активность записейАктивность записей регистра означает, что они будут использованы при подсчете итогов. Если записи сделать неактивными, то на итоги регистра накопления они влиять не будут. Позже можно включить активность записей, тогда они сразу повлияют на итоги регистра. При переборе записей регистра неактивные записи регистра также включаются в выборку.******************************************************************** простой пример записи в Регистр Накпления из Таб части Документа ******************************************************************** Процедура ОбработкаПроведения(Отказ, Режим) // регистр РегистрЦен Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл Движение = Движения.РегистрНакопЗак.ДобавитьПриход(); Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаТабличнаяЧасть1.Оборудование; Движение.Количество = ТекСтрокаТабличнаяЧасть1.Кол; Движение.Сотрудник = Сотрудник; КонецЦикла; Движения.РегистрНакопЗак.Записывать = Истина; КонецПроцедуры ********************************************************************
| |
Просмотров: 13615 | Загрузок: 0 | |
Выразить благодарность - Поделиться с друзьями!
Всего комментариев: 0 | |