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

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

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

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

Структура

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

Измерения регистра описывают разрезы, в которых хранится информация, а в ресурсах регистра накапливаются нужные числовые данные. Например, для регистра ТоварныеЗапасы, который имеет следующую структуру:


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

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


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

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

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


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

Связь с регистратором

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


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

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

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


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

Конструктор движений

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

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

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

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

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

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


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

Поскольку регистр накопления оборотов не накапливает остатки ресурсов, для него не имеет смысла «направление» движения ресурсов (приход или расход); накапливается только величина изменения ресурсов. Поэтому все записи регистра накопления оборотов отмечены одинаковыми пиктограммами.

Агрегаты

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

Форма списка и форма набора записей

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

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

Функциональные возможности регистра накопления

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

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

Смотрите также:

Какое практическое применение реквизитов регистров накопления?

Я
   Birmingem

05.10.18 — 16:04

Хотелось бы использовать реквизит регистра накопления для получения оборотов в разрезе этого реквизита.

Но платформа не дает такой возможности.

Тогда зачем они вообще нужны?

В каких конкретно целях можно их использовать на практике? Можете привести примеры?

А вот в 7.7 по реквизитам регистра можно было получать обороты…

  

Партнерская программа EFSOL Oblako

   shuhard

1 — 05.10.18 — 16:05

(0) для физических движений

виртуальные таблицы в типовых покрывает не весь функционал

   shuhard

2 — 05.10.18 — 16:06

(0)[А вот в 7.7 по реквизитам регистра можно было получать обороты.]

а вот это форуму глубоко по кую

   Eastert

3 — 05.10.18 — 16:11

взносы какие-то, которые организация платит налоговой за всех работников сразу, но в реквизиты движений может записывать сотруднику, если взносы по одному кому-то платятся

   Eastert

4 — 05.10.18 — 16:12

(3) это был реальный пример

   Джинн

5 — 05.10.18 — 16:16

(0) Они созданы Нуралиевым для красоты. Абсолютно бесполезная штука :))

   Birmingem

6 — 05.10.18 — 16:18

(5)я тоже об этом подумывал, но все сомневался, может я просто тугодум и чего то не догоняю

   Фрэнки

7 — 05.10.18 — 16:19

// Но платформа не дает такой возможности.

как это не дает? А если запрос написать и там сделать с условием в параметрах — даже на уровне описания условия в параметрах сказано, что условие можно ставить по полям регистра и без уточнения какие именно поля допускается использовать.

   Фрэнки

8 — 05.10.18 — 16:20

вот выдержка из СП

\

Условие (необязательный)

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

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

   Волшебник

9 — 05.10.18 — 16:21

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

   Джинн

10 — 05.10.18 — 16:21

(6) Это Вы еще до регистров сведений, документов и справочников не дошли. Это вообще полная хрень. Абсолютно никому не нужная.

   hhhh

11 — 05.10.18 — 16:23

(6) для обменов очень полезно. Например, создать в ут 10.3 обмен по организациям. Не во всех регистрах там есть Измерение Организация. Поэтому создаем в регистре реквизит Организация и обмен готов.

   H A D G E H O G s

12 — 05.10.18 — 16:29

(0) Для денормализации иногда надо.

   Birmingem

13 — 05.10.18 — 16:35

(7)Если запрос к физ.таблице — то да. Но в основном то используются вирт.таблицы, там нельзя.

(12)Что такое денормализация?

   Asmody

14 — 05.10.18 — 16:39

Вы просто не умеете их готовить

   Фрэнки

15 — 05.10.18 — 16:39

(13) что значит «нельзя»? Все можно!

   Волшебник

16 — 05.10.18 — 16:40

(13) Денормализация — процесс, обратный нормализации. Ваш Кэп.

   shuhard

17 — 05.10.18 — 16:40

(13)[ Но в основном то используются вирт.таблицы, ]

открой 1C:ERP — посмотри на расчет себестоимости,

целиком на корреспонденции реквизитов и таких мест в типовых туча

   shuhard

18 — 05.10.18 — 16:40

(16) +1

во всех трех типовых формах

   Birmingem

19 — 05.10.18 — 16:45

(15)Например, есть регистр «ОстаткиТоваров». Хочу добавить реквизит «ВидДвижения» типа справочник  «ВидыДвижений».

В справочнике есть например: приход от поставщика, приход от филиала, перемещение, продажа и т.п.

Хотелось бы получить приход/расход за период в разрезе имерений и еще реквизита «ВидДвижения».

Как это сделать?

   Волшебник

20 — 05.10.18 — 16:45

(19) запрос к основной таблице движений регистра

   Birmingem

21 — 05.10.18 — 16:46

Это понятно, что можно по физ.таблице.

Разговор про виртуальную.

   Cool_Profi

22 — 05.10.18 — 16:47

(21) А виртуальная к реквизитам никаким боком…

   Волшебник

23 — 05.10.18 — 16:48

(21) Разговор про реквизиты

   azernot

24 — 05.10.18 — 16:48

Реквизиты регистра — это поля детализирующие каждую запись, но в разрезе которых не накапливаются и не хранятся данные.

Ваш КЭП.

Вы ещё спросите для чего нужно «Содержание проводки» к примеру…

   Birmingem

25 — 05.10.18 — 16:50

Но бесит главное — в 7.7 то была такая возможность!!!

   Волшебник

26 — 05.10.18 — 16:51

(25) Восьмёрка ещё сырая. Ещё не все фишки 7.7 реализованы. Ждите.

   azernot

27 — 05.10.18 — 16:52

(25) Зачем тебе виртульная таблица там, где запрос к ней ничем не будет отличаться от запроса к реальной?

   Birmingem

28 — 05.10.18 — 16:55

(27)Для увеличения скорости выполнения запроса. Или я не прав?

   Eastert

29 — 05.10.18 — 16:59

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

   azernot

30 — 05.10.18 — 17:13

(28) Для этого есть оборотные регистры и измерения в них.

Если ты хочешь именно из регистров остатков собирать обороты не в разрезе измерений — используй запрос к реальной таблице.

В принципе, наверное, можно было для регистра остатков предусмотреть «оборотное измерение», по которому рассчитываются оборотные итоги, но не накапливаются и не рассчитываются остатки… Но этого не сделано, и, я думаю, были на то причины. Вы такими темпами очень быстро регистры накопления превратите в регистры бухгалтерии.

А вообще, запрос к реальной таблице в ряде случаев работает быстрее, чем запрос к виртуальной.

   HardBall

31 — 05.10.18 — 17:20

(26) Это надо в перлы.

   Сияющий в темноте

32 — 05.10.18 — 18:23

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

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

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

   xXeNoNx

33 — 05.10.18 — 18:52

(13) не всегда использование вирт. таблиц оправдано, особенно оборотов

   Фрэнки

34 — 05.10.18 — 19:02

(19)

// Хочу добавить реквизит «ВидДвижения»

// Хотелось бы получить приход/расход за период в разрезе имерений и еще реквизита «ВидДвижения».

// Как это сделать?

Ты точно попробовал в Запросе использовать параметр с условием по полю «ВидДвижения» ?

Или тебя только рассуждения на форуме интересуют?

Например, со 100% достоверностью установлено, что похожие обращения к таблице СрезПоследних, для которых в синтакс-помощнике написана аналогичная инфа (см выше) возращает записи с этим наложенным условием. Хотя при использовании методов платформы, _не_ запросов, условия отбора применимы к измерениям, но не к реквизитам.

   xXeNoNx

35 — 05.10.18 — 19:02

(0) если бы можно было использовать реквизиты вместо измерений, то зачем тогда нужны бы были измерения и наоборот?

   Фрэнки

36 — 05.10.18 — 19:04

(35) ну если 8-ка еще сырая?! Когда в сырой 8-ке, то нужно и то, и другое!

   Сияющий в темноте

37 — 06.10.18 — 10:31

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

  

Cyberhawk

38 — 06.10.18 — 11:35

(37) Витиевато )

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

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

Только представьте себе, что при оформлении продажи какого-либо товара бухгалтер сидит и ждет, пока программа проверит ранее внесенные документы и рассчитает, хватает ли остатка на складе для списания.

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

список регистров в древе метаданных

Содержание

  • Вид регистра накопления
  • Данные регистров накопления
    • Измерения
      • Свойства измерений
    • Ресурсы
    • Реквизиты
    • Стандартные реквизиты
    • Агрегаты
  • Движения по регистрам накопления

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

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.

Связаться с нами можно по телефону +7 499 350 29 00.

Услуги и цены можно увидеть по ссылке.

Будем рады помочь Вам!

Как было сказано ранее, регистры накопления могут позволять быстро получать остатки и обороты. На этот функционал непосредственно вид регистра. Его можно изменить на вкладке «Основные» формы редактирования конкретного регистра.

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

  • Оборотные регистры накопления позволяют получить только обороты за какой-то определенный промежуток времени. Получение остатков в таком случае не представляется возможным. Регистр накопления с видом «Обороты» создает в системе только одну виртуальную таблицу – оборотов.
  • Регистры накопления с видом «Остатки» дают возможность разработчику получить и остатки и обороты. В данном случае будут создаваться уже три виртуальные таблицы: остатков, оборотов, остатков и оборотов. Примером такого регистра может выступать регистр остатков ТМЦ на складах, движения денежных средств по расчетным счетам организации.

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

Данные регистров накопления

Измерения

Под измерениями регистров накопления подразумеваются некие разрезы, в которых в дальнейшем вы сможете получить информацию. В нашем случае в качестве измерений регистра «ВыпускПродукции» являются: организация, заказ, спецификация, подразделение и другие.

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

измерения ресурсы и реквизиты

Свойства измерений

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

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

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

свойства измерения

Ресурсы

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

Еще один простой пример. Предположим, что все операции по кассе мы проводим по регистру накопления. В качестве ресурсов будет выступать сумма денежных средств, которая либо поступила (приход), либо выдана (расход) из кассы. В качестве измерения может быть, например, контрагент/подотчетное лицо. В итоге мы сможем получить данные по остаткам и оборотам как кассы в целом, так и по отдельным контрагентам.

Реквизиты

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

Стандартные реквизиты

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

стандартные реквизиты

список

Агрегаты

Агрегаты доступны только в регистрах накопления с видом «Обороты». Перейти к ним можно с вкладки «Данные». Агрегаты применяются в базах с большим количеством данных для ускорения формирования отчетов. Мы не будем рассматривать этот механизм подробно, так как это достаточно обширная тема.

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

Движения по регистрам накопления

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

Просмотреть список регистраторов накопления можно на одноименной вкладке формы самого регистра. В данном примере движения по регистру «ВыпускПродукции» могут формироваться при проведении четырех различных документов.

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

В самих документах, которые являются регистраторами, список регистров, по которым они совершают движения, расположен на вкладке «Движения». Здесь так же доступен конструктор движений, который поможет в создании таких процедур (проведения и отмены проведения). Сопоставление данных документа и регистра производятся на сравнении типов данных.

список регистров в документе

В предыдущей статье мы рассматривали структуру платформы 1С, чтобы понимать внутренние процессы всех систем, построенных на этой платформе. 

Вспомним основные тезисы предыдущей статьи.

Так как 1С – это некоторая база данных, то метаданные – структура этих данных. Некоторая сущность, которая описывает как мы будем хранить данные в системе.

Основные элементы метаданных в 1с:

  • справочники;

  • документы;

  • регистры;

  • константы;

  • перечисления и другие.

У нас есть структура данных верхнего уровня – конфигурация, которая описывает полностью базу данных: 

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

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

Например: физ.лица, сотрудники, перечень товаров. Для того чтобы хранить более подробную информацию, а не только, например, ФИО сотрудника, у справочника есть реквизиты и табличные части. Что это такое?

Документ — одно из основных понятий системы 1С:Предприятие. При помощи документов организуется ввод в систему,  просмотр и корректировка информации о совершаемых хозяйственных операциях или о событиях, связанных с деятельностью предприятия. 

Знаете ли вы что?

Help Image

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

Пожалуйста, обратите, внимание!

Help Image

Следует подчеркнуть, что документы в автоматизированной учетной системе  – это специальные метаданные, помогающие отразить суть операции.

Переходим к тому, чего нет у справочников – движения.

Документы отражают ФАКТ совершения операции, но чтобы эти действия отразились в системе, документы должны сделать манипуляции, то есть движения. Они должны быть не только статическим доказательством определенной операции, но и отразить ее в нашей учетной системе. В 1С есть такое понятие как “провести” документ и “распровести”. Проведение – это когда мы говорим документу: “Сделай движения, соверши эту операцию”, распровести – “Удали эти действия”.

Какие же движения (действия) и где делает документ? При проведении документ делает записи в таблицы, именуемые далее регистры, отражающие суть данной операции. Если мы говорим о документе «Приходная накладная», то данный документ должен делать записи в таблицу (регистр), например, «Остатки на складах». 

Таблицы, в которые документ делает записи (движения) называются регистры.

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

Существует 4 типа регистров: регистр бухгалтерии, регистр накопления, регистр сведений и регистр расчета.

В рамках данной статьи мы рассмотрим 2 первых: регистр бухгалтерии и регистр накопления.

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

Регистр накопления — это таблица данных, которая «накапливает» информацию из документов. Такие регистры составляют основу механизма учета движения средств (денег, товаров, материалов и т.д.).

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

  • измерения. Это аналитика, в разрезе которой накапливаются числовые значения;

  • ресурсов. Тех самых числовых значений, которые накапливаем;

  • реквизитов. Они хранят дополнительную информацию, связанную с записями регистра.

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

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

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

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

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

Знаете ли вы что?

Help Image

Поскольку регистр накопления оборотов не накапливает остатки ресурсов, для него не имеет смысла «направление» движения ресурсов (приход или расход); накапливается только величина изменения ресурсов. Поэтому все записи регистра накопления оборотов отмечены одинаковыми пиктограммами.

Регистры бухгалтерии

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

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

Субконто — термин, обозначающий аналитический признак («разрез») счета бухгалтерского учета.

Структура регистра бухгалтерии

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

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

Режимы работы регистра бухгалтерии

Измерения

Из-за тесной связки с планом счетов, измерения и ресурсы регистра бухгалтерии, помимо стандартных настроек (присущих и другим видам регистров), обладают свойствами, от заполнения которых зависит отображение записи(проводки) в регистре:

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

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

Например, счет 60.31 является валютным, поэтому мы устанавливаем там признак валютный. Данная концепция подходит и для измерений, и для ресурсов. Например, ресурс количество. Для признака Балансовый ярким примером является ресурс Сумма.

Субконто и свойства бухгалтерского счета 60.31

У ресурсов, помимо признака «Балансовый» и «Признака учета», есть еще свойство Признак учета субконто. Данный признак устанавливается в плане счетов, в табличной части «субконто». Это аналог признаков учета, но по более детальной аналитике — субконто. Параметр указывает на необходимость ведения данной аналитики на этом субконто. Та же валютная сумма (на картинке выше), учет по которой ведется по субконто, контрагенты и договоры, но пользователю предоставлена возможность убрать ведение учета по 3 субконто — документы расчетов с контрагентами. Это приведет к тому, что пользователь не сможет получить валютную сумму в разрезе этого субконто.

В результате мы имеем следующую схему взаимосвязи Регистра бухгалтерии и Плана счетов

Схема взаимосвязи регистра бухгалтерии и плана счетов

Пожалуйста, обратите, внимание!

Help Image

Следует отметить, что одному регистру бухгалтерии соответствует один план счетов. И, как мы видим, пользователь через настройки плана счетов может ограниченно влиять на записи в регистры. Все алгоритмы отражения документов в учете “жестко” прописаны в коде, влиять на эти алгоритмы можно, используя спец механизмы (Модификатор)  и сервисы (сервис Галочка) или пользоваться “Ручной корректировкой”, что крайне нежелательно и может привести к многочисленным ошибкам.

Что нам дает понимание принципов работы регистров и платформы 1С в целом? Научившись видеть регистры и понимать их влияние на те или иные данные при заполнении документов или отчетов, пользователь может избежать большинства возникающих в ходе работы ошибок. В случае крайней необходимости: если возникли недочеты в прошлых периодах или при переносе данных из других программ, можно произвести корректировку регистров и получить нужные вам цифры. Но делать это следует крайне осторожно.

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

/// Как прочитать записи регистра накопления в 1с 8.3, 8.2
 
&НаСервере
Процедура КакПрочитатьЗаписиРегистраНакопленияНаСервере()
 
    // Получим все записи регистра накопления ЗаказыКлиентов
    // по организации ООО "Ромашка" за 1 квартал 2014 года,
    // упорядочив их по возрастанию даты.
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗаказыКлиентов.Период,
        |   ЗаказыКлиентов.Регистратор,
        |   ЗаказыКлиентов.НомерСтроки,
        |   ЗаказыКлиентов.Активность,
        |   ЗаказыКлиентов.Контрагент,
        |   ЗаказыКлиентов.Номенклатура,
        |   ЗаказыКлиентов.Количество
        |ИЗ
        |   РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
        |ГДЕ
        |   ЗаказыКлиентов.Активность = Истина И
        |   ЗаказыКлиентов.Организация = &ВыбОрганизация И
        |   ЗаказыКлиентов.Период МЕЖДУ &НачДата И &КонДата
        |УПОРЯДОЧИТЬ ПО
        |   ЗаказыКлиентов.Период";
 
    Запрос.УстановитьПараметр("ВыбОрганизация",
        Справочники.Организации.НайтиПоНаименованию("ООО ""Ромашка""")
    );
    // начальная дата - 1 января 2014 года
    Запрос.УстановитьПараметр("НачДата", '20140101000000');
    // конечная дата - 31 марта 2014 года 23 часа 59 минут 59 секунд
    Запрос.УстановитьПараметр("КонДата", '20140331235959');
 
    РезультатЗапроса = Запрос.Выполнить();
 
    Записи = РезультатЗапроса.Выбрать();
 
    Пока Записи.Следующий() Цикл
        Сообщить(
            "[" + Записи.Период + "] " +
            Записи.Номенклатура + " " +
            Записи.Количество + " шт." +
            " (" + Записи.Регистратор + ")"
        );
    КонецЦикла;
 
КонецПроцедуры
 
/// Как получить обороты по регистру накопления в 1с 8.3, 8.2
 
&НаСервере
Процедура КакПолучитьОборотыПоРегиструНапопленияНаСервере()
 
    // За получение оборотов по регистру накопления за произвольный период
    // с заданной периодичностью в различных разрезах аналитики отвечает
    // виртуальная таблица Обороты,
    // у неё есть следующие параметры:
    // 1. Начало периода (включая)
    // 2. Конец периода (включая)
    // 3. Периодичность (например, Период, Запись, Год, Месяц...)
    // 4. Условие (например, Организация = &ВыбОрганизация)
 
    // Пример №1
    Сообщить("Пример №1");
 
    // Посчитаем сколько и каких продуктов было заказано за 1 квартал
    // 2014 года в организации ООО "Ромашка".
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗаказыКлиентовОбороты.Номенклатура,
        |   ЗаказыКлиентовОбороты.Организация,
        |   ЗаказыКлиентовОбороты.КоличествоОборот
        |ИЗ
        |   РегистрНакопления.ЗаказыКлиентов.Обороты(
        |       ДАТАВРЕМЯ(2014, 01, 01, 00, 00, 00),
        |       ДАТАВРЕМЯ(2014, 03, 31, 23, 59, 59),
        |       Период,
        |       Организация = &ВыбОрганизация
        |   ) КАК ЗаказыКлиентовОбороты
        |УПОРЯДОЧИТЬ ПО
        |   ЗаказыКлиентовОбороты.Номенклатура";
 
    Запрос.УстановитьПараметр("ВыбОрганизация",
        Справочники.Организации.НайтиПоНаименованию("ООО ""Ромашка""")
    );
 
    РезультатЗапроса = Запрос.Выполнить();
 
    Записи = РезультатЗапроса.Выбрать();
 
    Пока Записи.Следующий() Цикл
        Сообщить(
            "За 1 кв. 2014 года заказали " + 
            Записи.КоличествоОборот + " шт. " +
            Записи.Номенклатура
        );
    КонецЦикла;
 
    // Пример №2
    Сообщить("Пример №2");
 
    // Посчитаем сколько бананов было заказано за каждый месяц
    // в 1 квартале 2014 года в организации "Ромашка".
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗаказыКлиентовОбороты.Период,
        |   ЗаказыКлиентовОбороты.Номенклатура,
        |   ЗаказыКлиентовОбороты.Организация,
        |   ЗаказыКлиентовОбороты.КоличествоОборот
        |ИЗ
        |   РегистрНакопления.ЗаказыКлиентов.Обороты(
        |       &НачПериод,
        |       &КонПериод,
        |       Месяц,
        |       Организация = &ВыбОрганизация И
        |       Номенклатура = &ВыбНоменклатура
        |   ) КАК ЗаказыКлиентовОбороты
        |УПОРЯДОЧИТЬ ПО
        |   ЗаказыКлиентовОбороты.Период";
 
    Запрос.УстановитьПараметр("НачПериод", '20140101000000');
    Запрос.УстановитьПараметр("КонПериод", '20140331235959');
    Запрос.УстановитьПараметр("ВыбОрганизация",
        Справочники.Организации.НайтиПоНаименованию("ООО ""Ромашка""")
    );
    Запрос.УстановитьПараметр("ВыбНоменклатура",
        Справочники.Номенклатура.НайтиПоНаименованию("Банан")
    );
 
    РезультатЗапроса = Запрос.Выполнить();
 
    Записи = РезультатЗапроса.Выбрать();
 
    Пока Записи.Следующий() Цикл
        Сообщить(
            "За " + Формат(Записи.Период, "ДФ=ММММ") +
            " заказали " + Записи.КоличествоОборот + " шт. " +
            Записи.Номенклатура            
        );
    КонецЦикла;
 
КонецПроцедуры
 
/// Как получить остатки по регистру накопления в 1с 8.3, 8.2
 
&НаСервере
Процедура КакПолучитьОстаткиПоРегиструНакопленияНаСервере()    
 
    // За получение остатков по регистру накопления в разрезе
    // аналитики отвечает виртуальная таблица Остатки,
    // у неё есть следующие параметры:
    // 1. Период, на который считаем остатки, исключая саму дату.
    //    Если нужны остатки на дату включительно - используем
    //    тип Граница (см. пример ниже).
    // 2. Условие (например, Организация = &ВыбОрганизация)
 
    // Получим остатки бананов на основном складе в организации
    // ООО "Ромашка" на 31 марта 2014 года (включительно)
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗапасыЕдыОстатки.Склад,
        |   ЗапасыЕдыОстатки.Номенклатура,
        |   ЗапасыЕдыОстатки.Организация,
        |   ЗапасыЕдыОстатки.КоличествоОстаток
        |ИЗ
        |   РегистрНакопления.ЗапасыЕды.Остатки(
        |       &ВыбДата,
        |       Склад = &ВыбСклад И
        |       Номенклатура = &ВыбНоменклатура
        |   ) КАК ЗапасыЕдыОстатки";
 
    Запрос.УстановитьПараметр("ВыбДата", 
        Новый Граница('20140331235959', ВидГраницы.Включая)
    );
    Запрос.УстановитьПараметр("ВыбСклад",
        Справочники.Склады.НайтиПоНаименованию("Основной")
    );
    Запрос.УстановитьПараметр("ВыбНоменклатура",
        Справочники.Номенклатура.НайтиПоНаименованию("Банан")
    );    
 
    РезультатЗапроса = Запрос.Выполнить();
 
    Записи = РезультатЗапроса.Выбрать();
 
    Пока Записи.Следующий() Цикл
        Сообщить(
            "Остатки " + " " + Записи.Номенклатура +
            " на складе " + Записи.Склад + " на дату " +
            "31.03.2014 (включительно) " +
            " составляют " + Записи.КоличествоОстаток + " шт.");
    КонецЦикла;
 
КонецПроцедуры
 
/// Как получить сразу остатки и обороты по регистру
/// накопления в 1с 8.3, 8.2
 
&НаСервере
Процедура КакПолучитьСразуОстаткиИОборотыПоРегиструНакопленияНаСервере()
 
    // За получение остатков и оборотов за произвольный период
    // с заданной периодичностью в разрезе аналитики отвечает
    // виртуальная таблица ОстаткиИОбороты, у неё есть параметры:
    // 1. Начало периода (включая)
    // 2. Конец периода (включая)
    // 3. Периодичность (например, Период, Год, Месяц...)
    // 4. Метод дополнения периодов (Движение или ДвиженияИГраницыПериода)
    // 5. Условие (например, Организация = &ВыбОрганизация)
 
    // Для примера получим начальный остаток, приход, расход и конечный остаток
    // банана на всех складах за каждый месяц 2014 года для
    // организация ООО "Ромашка".
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗапасыЕдыОстаткиИОбороты.Период,
        |   ЗапасыЕдыОстаткиИОбороты.Номенклатура,
        |   ЗапасыЕдыОстаткиИОбороты.Организация,
        |   ЗапасыЕдыОстаткиИОбороты.КоличествоНачальныйОстаток,
        |   ЗапасыЕдыОстаткиИОбороты.КоличествоОборот,
        |   ЗапасыЕдыОстаткиИОбороты.КоличествоПриход,
        |   ЗапасыЕдыОстаткиИОбороты.КоличествоРасход,
        |   ЗапасыЕдыОстаткиИОбороты.КоличествоКонечныйОстаток
        |ИЗ
        |   РегистрНакопления.ЗапасыЕды.ОстаткиИОбороты(
        |       ДАТАВРЕМЯ(2014, 01, 01, 00, 00, 00),
        |       ДАТАВРЕМЯ(2014, 12, 31, 23, 59, 59),
        |       Месяц, ДвиженияИГраницыПериода,
        |       Организация = &ВыбОрганизация И
        |       Номенклатура = &ВыбНоменклатура
        |   ) КАК ЗапасыЕдыОстаткиИОбороты
        |УПОРЯДОЧИТЬ ПО
        |   ЗапасыЕдыОстаткиИОбороты.Период";
 
    Запрос.УстановитьПараметр("ВыбОрганизация",
        Справочники.Организации.НайтиПоНаименованию("ООО ""Ромашка""")
    );
    Запрос.УстановитьПараметр("ВыбНоменклатура",
        Справочники.Номенклатура.НайтиПоНаименованию("Банан")
    );
 
    РезультатЗапроса = Запрос.Выполнить();
 
    Записи = РезультатЗапроса.Выбрать();
 
    Пока Записи.Следующий() Цикл
      Сообщить(
        Формат(Записи.Период, "ДФ=ММММ") + " [" +
        Записи.Номенклатура + "] " + "нач. остаток " +
        Записи.КоличествоНачальныйОстаток + " приход " +
        Записи.КоличествоПриход + ", расход " +
        Записи.КоличествоРасход + " кон. остаток " +
        Записи.КоличествоКонечныйОстаток
      );
  КонецЦикла;
 
КонецПроцедуры
 
/// Как найти и изменить программно записи в регистр накопления
/// документа (регистратора) в 1с 8.3, 8.2
 
&НаСервере
Процедура КакНайтиИИзменитьЗаписиДокументаНаСервере()
 
    // Предположим у нас есть ссылка на проведенный документ
    // поступления еды № ВМБП-000002
 
    ПоступлениеСсылка =
        Документы.ПоступлениеЕды.НайтиПоНомеру(
            "ВМБП-000002", '20141231'
        );
 
    // Мы значем, что этот документ делает следующие записи
    // в регистр накопления "ЗапасыЕды":
    // Приход [Организация, Склад, Номенклатура]  [Количество]
 
    // Наша задача: найти эти записи и изменить
    // их (например, удвоим количество поступившего товара)
    // и записать вместо старых.
 
    // Используем объектную технику получения записей,
    // ведь мы будем их изменять.
 
    Поступление = ПоступлениеСсылка.ПолучитьОбъект();
 
    // Получим набор записей этого документа в регистр "ЗапасыЕды".
    НаборЗаписей = Поступление.Движения.ЗапасыЕды;
 
    // Прочитаем записи из базы данных.
    НаборЗаписей.Прочитать();
 
    Для Каждого Запись Из НаборЗаписей Цикл
 
        // Выведем старые значения.
        Сообщить(
            "[" + Запись.Организация + ", " +
            Запись.Склад + ", " +
            Запись.Номенклатура + "] " +
            "[" + Запись.Количество + "]"
        );
 
        // Удвоим количество.
        Запись.Количество = 2 * Запись.Количество;
 
    КонецЦикла;
 
    // Добавим новую запись в регистр накопления.
 
    НоваяЗапись = НаборЗаписей.Добавить();
    НоваяЗапись.Организация =
        Справочники.Организации.НайтиПоНаименованию("ООО ""Ромашка""");
    НоваяЗапись.Склад =
        Справочники.Склады.НайтиПоНаименованию("Основной");
    НоваяЗапись.Номенклатура =
        Справочники.Номенклатура.НайтиПоНаименованию("Банан");
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.Количество = 1000;
 
    // Разом запишем набор записей.
    НаборЗаписей.Записать(
        Истина // удалим старые записи и запишем вместо них новые
    );
 
    // Теперь записи регистра ЗапасыЕды по документу № ВМБП-000002,
    // отличаются от тех, что были записаны документом при проведении.
    // Чтобы вернуть их к начальному виду - нужно
    // перепровести документ.
 
КонецПроцедуры
 
/// Как прочитать записи документа в регистр накопления
/// запросом в 1с 8.3, 8.2
 
&НаСервере
Процедура КакПрочитатьЗаписиДокументаЗапросомНаСервере()
 
    // Этот приём используется, если не требуется изменять
    // найденные записи.
 
    // Предположим у нас есть ссылка на проведенный документ
    // поступления еды № ВМБП-000002
 
    ПоступлениеСсылка =
        Документы.ПоступлениеЕды.НайтиПоНомеру(
            "ВМБП-000002", '20141231'
        );
 
    // Мы значем, что этот документ делает записи
    // в регистр накопления "ЗапасыЕды".    
    // Прочитаем эти записи запросом.
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЗапасыЕды.Период,
        |   ЗапасыЕды.Регистратор,
        |   ЗапасыЕды.НомерСтроки,
        |   ЗапасыЕды.Активность,
        |   ЗапасыЕды.ВидДвижения,
        |   ЗапасыЕды.Склад,
        |   ЗапасыЕды.Номенклатура,
        |   ЗапасыЕды.Организация,
        |   ЗапасыЕды.Количество
        |ИЗ
        |   РегистрНакопления.ЗапасыЕды КАК ЗапасыЕды
        |ГДЕ
        |   ЗапасыЕды.Регистратор = &ВыбРегистратор
        |УПОРЯДОЧИТЬ ПО
        |   ЗапасыЕды.НомерСтроки";
 
    Запрос.УстановитьПараметр(
        "ВыбРегистратор",
        ПоступлениеСсылка
    );
 
    РезультатЗапроса = Запрос.Выполнить();
 
    Записи = РезультатЗапроса.Выбрать();
 
    Пока Записи.Следующий() Цикл        
        Сообщить(
            "[" + Записи.Организация + ", " +
            Записи.Склад + ", " +
            Записи.Номенклатура + "] " +
            "[" + Записи.Количество + "]"
        );
    КонецЦикла;
 
КонецПроцедуры
 
/// Как создать записи регистра накопления без привязки
/// к документу в 1с 8.3, 8.2
 
&НаСервере
Процедура КакСоздатьЗаписиБезДокументаНаСервере()
 
    // В нашей тестовой конфигурации нет документа
    // "ОперацияБух", который присутствует в бухгалтерской базе.
 
    Сообщить("Этот пример нельзя выполнить в этой базе.");
    Возврат;
 
    // Записи регистра накопления обязательно
    // должны быть привязаны к документу, в данном случае
    // этим документом будет документ "ОперацияБух",
    // задуманный как раз для ручных операций.
 
    Операция = Документы.ОперацияБух.СоздатьДокумент();
    Операция.Дата = ТекущаяДата();
    Операция.Организация =
        Справочники.Организации.НайтиПоНаименованию("Милькин В. В. ИП");
    Операция.СуммаОперации = 1000;	
    Операция.Содержание = "Ручная операция по регистру накопления ИПДоходы";	
    Операция.Записать(РежимЗаписиДокумента.Запись);
 
    // Затем получаем его набор записей для регистра ИПДоходы
    НаборЗаписей = Операция.Движения.ИПДоходы;
    Запись = НаборЗаписей.Добавить();
    Запись.Период = Операция.Дата;
    Запись.Организация = Операция.Организация;
    // и т.д. заполняем все нужные поля регистра
    Запись.Сумма = 1000;	
 
    НаборЗаписей.Записать(Истина);
 
КонецПроцедуры
 
/// Скачать и выполнить эти примеры на компьютере

Содержание

  1. Вкладка «Основные»
  2. Вкладка «Подсистемы»
  3. Вкладка «Данные»
  4. Вкладка «Регистраторы»
  5. Вкладка «Формы»
  6. Вкладка «Права»
  7. Вкладка «Прочее»
  8. Как оптимизировать работу с программой?
  9. Почему клиенты обращаются именно к нам?

В 1С:Предприятии 8 все регистры, кроме регистров сведений, всегда связаны с регистраторами. Регистры сведений могут быть независимыми или также подчиненными регистратору. В этом разделе мы опишем работу с регистрами, подчиненными регистраторам.

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

Однако в 1С:Предприятии 8 существует возможность изменять записи регистров без участия документа. При этом следует учитывать, что каждая запись регистра всегда подчинена одному и только одному регистратору (документу). Поэтому с точки зрения «времени жизни» записи всегда подчинены конкретным регистраторам. Однако, записи могут изменяться без участия самого документа. Главное, чтобы в них имелась ссылка на документ.

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

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

Таким образом, чтобы изменить записи регистра необходимо:

  • создать набор записей;
  • установить отбор по определенному регистратору;
  • прочитать набор;
  • изменить записи набора;
  • записать набор.

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

//Выберем всех регистраторов регистра
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ РАЗЛИЧНЫЕ
| УчетНоменклатуры.Регистратор
|ИЗ
| РегистрНакопления.УчетНоменклатуры КАК УчетНоменклатуры»;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
//Обойдем регистраторов
Пока Выборка.Следующий() Цикл
Сообщить(«Изменение записей по регистратору: » + Выборка.Регистратор);
//Для каждого регистратора выполним изменение набора записей
НаборЗаписей = РегистрыНакопления.УчетНоменклатуры.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Регистратор;
НаборЗаписей.Прочитать();
Для каждого Запись Из НаборЗаписей Цикл
Запись.Реквизит1 = «Тест»;
КонецЦикла;
НаборЗаписей.Записать();
КонецЦикла;

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

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

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

sashuly

21.08.2014 16:54

В регистре накопления есть запись, в которой не заполнено одно Измерение. Подскажите как программно заполнить с помощью внешней обработки.

Yandex

Возможно, вас также заинтересует

E_Migachev

21.08.2014 22:55

Примерно так, основа:

Код 1C v 8.х

E_Migachev

21.08.2014 23:45

+ нашел на компе обработку по редактированию регистров Pravka registrov (korrektirovka registrov).rar

Регистр накопления – это прикладной объект конфигурации, предназначенный для хранения информации об операциях документов-регистраторов. Он служит для оперативного получения информации по операция «Поступления», «Списание» и т. д. Предлагаем рассмотреть подробнее регистр накопления в 1С и узнать все необходимые для работы подробности.

Рассмотрим основные вкладки регистра накопления «Движение товаров»:

Вкладка «Основные»

Как и для регистров сведений, в поле «Имя» вносится уникальное имя регистра, в поле «Синоним» — название, которое будет видно пользователям. Особое внимание следует обратить на поле «Вид регистра». Регистры накопления бывают нескольких видов:

  • «Обороты» — регистр позволяет получить информацию о приходах и расходах за определенный период времени;
  • «Остатки» – регистр так же содержит информацию о приходах и расходах за определенный период времени, но кроме того он так же содержит таблицу итогов, благодаря которой мы можем точно сказать, количество остатков.

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

Вкладка «Подсистемы»

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

Вкладка «Данные»

Основная вкладка регистра, здесь добавляются измерения, ресурсы и реквизиты регистратора. Для корректной работы у регистра должен быть хотя бы один ресурс или измерение.

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

Ресурсы для регистра накопления всегда имеют только числовой тип данных. В нашем регистре это «Планируемые поступления», «Планируемые поступления под заказ» и т.д.

Реквизиты – дополняющая информация. Для регистра он не несёт никакой важно информации и никак не повлияет на его записи, но может быть полезен в качестве справочной информации. В нашем регистре это реквизиты «Корректировка» и «Дата распоряжения»

В нижней части окна расположена кнопка «Стандартные реквизиты», именно в ней мы можем увидеть «Период», «Регистратор», «Номер строки», «Активность».

Вкладка «Регистраторы»

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

После указания документа – регистратора так же необходимо будет указать правила по которым добавляется запись в регистр, для этого необходимо воспользоваться «Конструктором движений»

Вкладка «Формы»

На данной вкладке можно создать «Форму записи» и «Форму списка» регистра. Создавать формы не обязательно, т.к. если форма не указана, но в режиме 1С.Предприятие открыть регистр, то программа самостоятельно сформирует для него стандартную форму.

Вкладка «Права»

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

Вкладка «Прочее»

На данной вкладке стандартно располагаются кнопки доступа к «Модулям». Так же здесь расположен флаг «Разрешить разделение итогов» — механизм позволяющий включить более высокую параллельность при работе с регистром (чтение, запись).

Наш регистр в режиме 1С. Предприятие имеет следующий вид:

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

Как оптимизировать работу с программой?

У вас нет специалистов 1С в штате или вы не хотите отвлекать их от более стратегических задач? Тогда мы предлагаем оставить сопровождение или доработку 1С компании «ПРОГРАММЫ93»!

Почему клиенты обращаются именно к нам?

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

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

Среди наших сотрудников не только специалисты 1С, но и опытные бухгалтера и юристы, поэтому мы подходим всесторонне к вопросу документооборота и отчетности.

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

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

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

Ответ: Никак!
Или доступны итоги ресурсов по измерениям, или физические записи без итогов, но с реквизитами.
Если реквизиты нужны в таблице итогов, то это ошибка — реквизит нужно переделать в измерение.


Комментировать

Понравилась статья? Поделить с друзьями:

Другие крутые статьи на нашем сайте:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии