Главная » Файлы » Справка на Примерах 1С » Регистры Накопления

Скачивать материалы с сайта, могут только зарегистрированные пользователи.
Для регистрации заполните два поля ниже!

Через минуту Вы получите "Гостевой доступ"




Регистры Накопления 1с v 8
2012 Май 23, 21:06

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

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

Предположим, что регистр Остатки должен содержать информацию о количестве и стоимости каждого товара на каждом складе.

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

Этот регистр будет хранить остатки товаров на каждом складе.

При проведении документов ПриходнаяНакладная и Расходная накладная в этот регистр будут добавляться записи о приходе или расходе, что, естественно, повлияет на итоги регистра.

Внимание! Тип записи (приход или расход) определяется свойством ВидДвижения. Но если сделать движение типа «приход» с отрицательными ресурсами, то итоги регистра, конечно, уменьшатся. Это может быть использовано для операций сторнирования.

Под итогами понимается сводная информация, выдаваемая регистром накопления. Это могут быть ответы на следующие вопросы:

• остаток конкретного товара на конкретном складе,

• остаток конкретного товара на всех складах,

• стоимость всех товаров на конкретном складе.

Итоги регистра могут быть получены как на текущий момент времени, так и на любую другую дату или момент времени, а если это регистр оборотов, то за любой период. Как мы увидим ниже, это определяется параметрами методов Остатки и Обороты или параметрами виртуальных таблиц при использовании запросов.

Список записей регистра накопления может выглядеть следующим образом:

 

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

Разработчик может использовать реквизиты для отбора нужных записей при обходе выборки или при использовании запроса.

Следующий пример перебирает все записи регистра, у которых реквизит равен определенному значению:

 

Выборка = РегистрыНакопления.Остатки.ВыбратьО;
Пока Выборка.Следующий() Цикл
Если СокрЛЩВыборка.Комментарий) = ЗаданнаяСтрока Тогда
КонецЕсли;
КонецЦикла;
 

Регистры остатки и регистры оборотов

В системе 1С:Предприятие 8.0 возможно использование регистров накопления двух типов: регистры остатков и регистры оборотов.

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

Если из регистра нужно быстро получать остаток чего-либо на текущий момент, тогда нужно завести регистр остатков. Если из регистра нужно быстро получать обороты чего-либо за период, тогда нужно создать оборотный регистр.

Регистры остатков

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

Регистры оборотов

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

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

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

Активность записей

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

********************************************************************
простой пример записи в Регистр Накпления из Таб части Документа
********************************************************************
Процедура ОбработкаПроведения(Отказ, Режим)
 



    // регистр РегистрЦен
   
    Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
           
        Движение = Движения.РегистрНакопЗак.ДобавитьПриход();
        Движение.Период = Дата;
        Движение.Номенклатура = ТекСтрокаТабличнаяЧасть1.Оборудование;
        Движение.Количество =  ТекСтрокаТабличнаяЧасть1.Кол;
        Движение.Сотрудник = Сотрудник;
       

    КонецЦикла;
   
              Движения.РегистрНакопЗак.Записывать = Истина;
             
             
                      
             

КонецПроцедуры
********************************************************************




Итак, регистры накопления- это просто таблицы базы данных, в которых хранятся наши данные.
Регистр накопления устроен просто: у него есть измерения и ресурсы.
В качестве ресурсов задаются числовые данные, например количество топлива, а измерения позволяют идентифицировать, к чему относиться это количество топлива, например, измерением может служить автомобиль.
Изменение регистра накопления происходит в момент проведения документа. Документ, который вызвал изменение состояния регистра накопления называется регистратор.
Каждая запись регистра накопления называется движением регистра.
Если, ресурс имеет тенденцию, как накопления, так и расхода, то используется регистр накопления вида остатки. Примером может служить движение топлива. Заправили машину– приход, прокатились –расход.
Если, ресурс имеет тенденцию, только накопления, то используется регистр вида обороты. Пример пробег автомобиля, если не скручивать одометр, то пробег только накапливается.
Нам интересно сохранять и получать сведения об одометре, приходе и расходе топлива и стоимости этого топлива.
Для этих целей создадим три регистра накопления:

  • ДвиженияТоплива
  • СтоимостьЗаправки
  • ПоказанияОдометра

Поехали.
В дереве конфигурации находим ветвь Регистры накопления и через контекстное меню добавляем первый регистр ДвижениеТоплива
На закладке Основные даем название регистру ДвижениеТоплива и указываем, что это регистр вида остатки. (pic 10.1)

На закладке подсистемы ничего не указываем, лишние сведения для пользователей только во вред.
На закладке данные устанавливаем
измерения:

  • Авто - СправочникСсылка.Автомобили
  • Водители- СправочникСсылка.Сотрудники
  • КарточкаЗаправки -СправочникСсылка.КарточкиЗаправки
  • ТипТоплива -ПеречислениеСсылка.Топливо

Ресурс:
  • Топливо – Число 15.3
(pic 10.2)

В качестве регистратора, указываем документ ПутевойЛист (pic 10.3)

Добавим второй регистр ДвижениеТоплива СтоимостьЗаправки, но вид его укажем Обороты.(pic 10.4)

На закладке данные устанавливаем
измерения:

  • Авто - СправочникСсылка.Автомобили
  • Водители- СправочникСсылка.Сотрудники
  • КарточкаЗаправки -СправочникСсылка.КарточкиЗаправки
  • ТипТоплива -ПеречислениеСсылка.Топливо

Ресурс:
  • СтоимостьЗаправки – Число 15.2
(pic 10.5)

В качестве регистратора, указываем документ ПутевойЛист (pic 10.6)

И, наконец, создадим третий регистр накопления ПоказанияОдометра вида обороты (pic 10.7)

На закладке данные устанавливаем
измерения:

  • Авто - СправочникСсылка.Автомобили
  • Водители- СправочникСсылка.Сотрудники

Ресурс:
  • КонечныйОдометр – Число 15.0
  • (pic 10.8)

В качестве регистратора, указываем документ ПутевойЛист (pic 10.9)

Внимание! Этот регистр я намеренно сделал не правильным. Ни в коем случае не пытайтесь провести такой эксперимент в домашних условиях :)
Не правильность регистра состоит в том, что я буду накапливать там, строго говоря, не обороты, а показания конечного одометра.
Технически это не обороты. Если бы я заносил данные о пробеге, тогда это были бы обороты. Но мне так удобней.


источник : http://1c-esse.buter.ru/8esse7.php?pg=10



Категория: Регистры Накопления | Добавил: c1
Просмотров: 13002 | Загрузок: 0 | Рейтинг: 5.0/1

Выразить благодарность - Поделиться с друзьями!

 

Здесь все о технической стороне 1С!

 

Узнай, как правильно администрировать 1С Предприятие
Регистрируйся на бесплатный 7-ми дневный курс сейчас:

Ваш E-Mail в безопасности



Всего комментариев: 0
avatar