Меню Закрыть

1С регистр накопления приход расход

Содержание

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

Предположим, что у нас есть 1000 разных документов: поступление товаров, списание, возврат, продажа и т.д. И каждый из документов изменяет количество определенного товара на складе. Чтобы получить информацию о текущем количестве на складе, необходимо перебрать все документы: какие-то увеличивают количество товара, какие-то уменьшают, какие-то могут и увеличивать, и уменьшать. А если необходимо учитывать еще и склад, организацию. Такая система очень ресурсоёмкая.

Для упрощения данного процесса разработчики 1С придумали особые объекты конфигурации. Используются они для удобства хранения и получения информации, в 1С 8.3 и 8.2 используются всевозможные регистры, в данной статье речь пойдет именно про Регистры накопления.

Что же такое регистр накопления в 1С 8?

Сам регистр накопления представляет собой таблицу с информацией, в которой собраны все движения (поступления/списания или обороты) определенных документов. Рассмотрим, как выглядит таблица движения, на примере типового регистра накопления «Товары на складах» в конфигурации «Управление торговлей 10.3»:

Здесь мы видим, что документы 1C «Реализации» уменьшают количество определенного товара в определенном месте хранения, а документы поступления, наоборот, увеличивают количество. В итоге мы получаем общую картину, в которой отчетливо видно, что, когда и в каком количестве поступило (было списано) по учету. По такой таблице уже гораздо удобнее строить отчет.

Регистр накопления в конфигураторе

Что же такое регистр накопления с точки зрения разработки конфигурации? Начнем, пожалуй, с рассмотрения полей регистра накопления в конфигураторе:

Получите 267 видеоуроков по 1С бесплатно:

У регистра накопления есть Измерения, Ресурсы, Реквизиты и Стандартные реквизиты.

Рассмотрим сначала стандартные реквизиты регистра накопления:

  • период — дата движения, не обязательно должна совпадать с датой документа;
  • регистратор — документ, который производит запись в регистре;
  • номер строки — порядковый номер строки в наборе записи, уникален в пределах регистратора;
  • активность — отвечает за попадание записи в виртуальные таблицы (о них ниже);
  • виддвижения — приход или расход.

Измерения регистра накопления

Измерение — это разрез, в котором ведется учёт. На вышеприведенном примере разрезом учета являются: склад, номенклатура, характеристика номенклатуры, серия номенклатуры, качество. Т.е задав интересующие нас измерения, мы можем в любой момент получить количество — ресурс. В разрезе разных измерений в дальнейшем, например, можно получать остатки на определенную дату.

Ресурс регистра накопления

Ресурс — это числовое поле, в котором хранится информация в разрезе измерений, о которых писали выше.

Иначе взаимодействия измерений/ресурсов можно схематично изобразить как систему координат:

Два измерения — абсцисса и ордината системы координат, т.е. на данном примере измерения это склад и номенклатура. На пересечении измерений мы можем получить количество — ресурс. Например, на «основном» складе товара «карандаш» в наличии 1 штука.

Реквизиты регистра накопления 1C

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

Читайте также:  Как открыть диспетчер дисков windows 10

Виды регистра накопления

Существует два вида регистра накопления — обороты и остатки.

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

Если же среди целей использования регистра накопления — получение остатков на определенный период, нам необходим регистр с видом остатки. Такой тип позволяет получать как остатки, так и обороты. Для такого регистра система автоматически рассчитывает остатки. Пример «остаточного» регистра — товары на складах, деньги в кассе.

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

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

Для регистра накопления это:

Для разработчика решения данные берутся из одной (виртуальной) таблицы, но на самом деле платформа 1С берёт из множества таблиц, преобразовывая их в нужных вид.

Правильное проектирование регистров накопления

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

Среди особенностей проектирования регистра следует отметить необходимость правильно расставлять по порядку измерения в регистре. Выше всего необходимо ставить измерения, которые будут чаще запрашиваться в системе.

Индексация измерений регистра накопления

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

Например, регистр «ТоварыНаСкладах», измерения — «Склад, Номенклатура», ресурс — «Количество».

Правильнее проиндексировать «Номенклатуру», а поле»Склад» индексировать не стоит, потому как количество складов в системе, как правило, не существенное.

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

И так немного вспомним что мы делали раньше. Мы создали регистр накопления и прописали в документе Приход товара движение на него. В итоге он у нас стал накапливать информация о поступаемом товаре (наименование и количество).

Читайте также:  Чем занимается курьер регистратор

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

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

Расход в регистре накоплений

И так первым делом создаем новый документ и пишем название Отпуск Товара

Добавляем его в подсистему Склад.

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

Теперь переходим на вкладку Движения и отмечаем наш регистр накопления после чего кликаем на Конструктор движений.

В открывшемся окне на пункте Тип движения регистра ставим Расход. Далее выбираем табличную часть Материалы. Ниже напротив наименование пишем ТекСтрокаМатериалы.Наименованеи а на против количество ТекСтрокаМатериалы.Количество и кликаем ОК.

Для того чтобы просмотреть движение в регистре его нужно сделать видимым. Делается это просто так же как и в предыдущей статья заходим на форму документа переходим в командный интерфейс и отмечаем наш регистр как видимый.

Теперь нам необходимо проверить правильно ли он будет работать. Для этого запускаем 1С открываем документ Отпуск Товара и заполняем его проводим далее справа переходим в регистр и смотрим что туда попало.

Если у вас все поля заполнены и в поле Период стоит минус значить вы все сделали правильно.

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

Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями программного продукта «1C:Предприятие», авторское право на который принадлежит ЗАО 1С.

Регистр накопления 1С это структурированный набор данных, в котором находится информация о всех движения (приход / расход или обороты) выбранных документов.

Оглавление

Виды регистра накопления

В 1С бывает только два вида регистра накопления:

  • Обороты
    Если планируется получать по регистру только обороты, обязательно устанавливайте вид обороты.
    Например, при регистрации продаж нам важно количество продаж и остатки здесь абсолютно не нужны. Следовательно, вид регистра нужно установить «Обороты».
  • Остатки
    Если планируется получать по регистру остатки и обороты, устанавливайте вид остатки. Например возьмем регистр накопления «ТоварыНаСкладах» в нем важной информацией будет как остатки, так и обороты. Следовательно, вид регистра нужно установить «Остатки».
Читайте также:  Nfs shift 2 вылетает при запуске карьеры

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

Измерения, Ресурсы, Реквизиты и Стандартные реквизиты

В любом регистре накопления присутствуют измерения, ресурсы, реквизиты и стандартные реквизиты.

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

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

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

Стандартные реквизиты бывают следующими:

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

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

Регистраторы это документы, которые могут делать движения в регистре накопления. Движения в регистр накопления 1С можно делать только по средство документов (регистраторов). Большинство алгоритмов, создания движения в регистре накопления, формируются при проведении документа в модуле объекта, процедура «ОбработкаПроведения».

Индексация измерений

Индексация требуется для увеличения производительности информационной базы.
Свойство «Индексировать» требуется указать у измерений, по которым планируется выполнять многократно отбор и у которых большое количество элементов.

Для примера: регистр накопления «ПартииТоваровНаСкладах». Есть измерение «Номенклатура» и «СтутусПартии». Целесообразней установить признак индексации у измерения «Номенклатура», чем у «СтутусПартии», так как количество вариантов номенклатуры гораздо выше, чем у статуса партии.

Уникальность записей

1С Предприятие контролирует уникальность записей в регистре накопления, и по этому, вы не встретите двух одинаковых записей.

Возможности регистра накопления

  • выборка записей за определенный период по заданным измерениям
  • выборка записей по регистратору
  • получение остатков и оборотов на выбранную дату с заданными измерениями
  • вычисление итогов на указанную дату

Примеры работы с регистром накопления

Пример получения остатков на текущую дату

Процедура ПолучитьОстатокНаДату()
НовЗапрос = Новый Запрос;
НовЗапрос.Текст =
"ВЫБРАТЬ
| ТовОстатки.Номенклатура,
| ТовОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТовОстатки";
НовЗапрос.УстановитьПараметр("ТекДата", ТекущаяДата());
ВыборкаЗапроса = НовЗапрос.Выполнить().Выбрать();
Пока ВыборкаЗапроса.Следующий() Цикл
КонецЦикла;
КонецПроцедуры

Пример получения оборотов за текущий год

НовЗапрос = Новый Запрос;
НовЗапрос.Текст =
"ВЫБРАТЬ
| ТовОбороты.Номенклатура,
| ТовОбороты.КоличествоОборот
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Обороты(&НачПериода, &КонПериода, , ) КАК ТовОбороты";

НовЗапрос.УстановитьПараметр(«НачПериода», НачалоГода(ТекущаяДата()));
НовЗапрос.УстановитьПараметр(«КонПериода», ТекущаяДата());

Пока ВыборкаЗапроса.Следующий() Цикл
КонецЦикла;

Пример как выбрать движения в регистре накопления

НовЗапрос = Новый Запрос;
НовЗапрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладах.Период,
| ТоварыНаСкладах.Регистратор,
| ТоварыНаСкладах.ВидДвижения,
| ТоварыНаСкладах.Номенклатура,
| ТоварыНаСкладах.Количество
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах";

Пока ВыборкаЗапроса.Следующий() Цикл
КонецЦикла;

Формы списка регистра накопления

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

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.