Вконтакте Facebook Twitter Лента RSS

Создать новую запись в регистр сведений 1с. Внесение изменений в регистры

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

Очевидно, что такой подход к формированию отчетов, был бы неэффективен. Поэтому на практике и существует такое понятие как проведение документа . При проведении документа (в отличие от его простой записи в базу 1С) на основании заполненной пользователем формы 1С Бухгалтерия формирует так называемые проводки , то есть вносит одну или более записей в один или более регистров .

Регистры 1С — это просто таблицы, содержащие колонки и строки. Принцип тот же самый, что и у таблиц Excel или обычных "бумажных " таблиц.

Движение документа по регистрам — это записи, вносимые документом в регистры при проведении, называются.

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

Тут была важная часть статьи, но без JavaScript её не видно!

Виды регистров 1С Бухгалтерии

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

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

Последний тип регистра как раз и хранит бухгалтерские проводки документов. Чем отличаются все эти друг от друга и почему, я рассказываю в читаемом мной курсе Бухгалтерии Предприятия 8 . Здесь же приведу ещё раз список существующих регистров 1С, только в виде скриншота (на примере 1С Бухгалтерии 8.2).


А вот то же самое на примере 1С:Бухгалтерии 8.3:

сайт_

Просмотр регистров 1С Бухгалтерии

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

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

сайт_

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

Внесение изменений в регистры

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

Вопрос на засыпку: знаете ли вы, что в некоторые справочники также нельзя вносить данные через всеми любимую кнопку "Добавить". Как думаете, почему?

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

сайт_

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

Подведём итоги

В регистрах 1С Бухгалтерии хранятся данные, не менее важные, чем записаны в формах документов. Очень важно уметь правильно работать с различными регистрами — это помогает понимать, все ли правильно делает программа (в соответствии с вашими потребностями). Также все это помогает исправлять ошибки в учете.

Особенности разных регистров, внесение в них данных, типы регистраторов, различие между периодическими и непериодическими регистрами, а также многое другое, я рассматриваю в своём курсе 1С:Бухгалтерии 8 , представленному на данном сайте.

Существует несколько видов регистров в 1С:

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

На последних мы остановимся поподробнее, поскольку они позволяют компилировать данные из БД по разрезам измерений. Например, в «Ценыноменклатуры» хранятся данные для конкретной номенклатуры и характеристики по определенному виду цен.

Рис.1 Регистр «Ценыноменклатуры»

Характеристики

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


Рис.2 Периодичность и режим записи

Если попытаться создать две записи в пределах одного периода, программа выдаст ошибку «Запись с такими ключевыми полями существует!» и не даст произвести запись в базу данных.

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


Рис.3 Режимы записи

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

Запись в регистр сведений 1С

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

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

Пример записи при использовании объекта РегистрСведенийНаборЗаписей.

Использование менеджера записи:

НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); НоваяЗапись.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»); НоваяЗапись.Период = Дата(31,12,2016); НоваяЗапись.Курс = 100; НоваяЗапись.Кратность = 1; НоваяЗапись.Записать();

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

Если записать без отбора данные в подчиненны регистр, возникнет ошибка.

Пример записи с использованием набора записей в подчиненный регистратору регистр сведений ЦеныНоменклатуры:

НовыйНаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НовыйНаборЗаписей.Отбор.Регистратор.Установить(Ссылка); НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить(); НоваяЗаписьНабора.Период = Ссылка.Дата; НоваяЗаписьНабора.Номенклатура = Ссылка.Номенклатура; НоваяЗаписьНабора.Цена = Ссылка.Цена; НовыйНаборЗаписей.Записать();

Пример записи через менеджер записи:

Запись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Запись.Период = Дата; Запись.Курс = Курс; Запись.Валюта = Валюта; Запись.Записать();

Поиск и чтение в регистре сведений

Чтобы найти в регистре сведений запись и прочитать ее, нужна помощь запросов. Например, нам надо получить цены, внесенные определенным регистратором:

ВЫБРАТЬ ЦеныНоменклатуры.Номенклатура, ЦеныНоменклатуры.Цена ИЗ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ГДЕ ЦеныНоменклатуры.Регистратор = &Регистратор

Изменение и удаление записей

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

СтруктураОтбора = новый Структура("Валюта", Справочники.Валюты.НайтиПоНаименованию("EUR")); Выборка = РегистрыСведений.КурсыВалют.Выбрать(,СтруктураОтбора); Пока Выборка.Следующий() Цикл МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи(); Выборка.ПолучитьМенеджерЗаписи().Удалить(); КонецЦикла;

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

НоваяЗапись = РегистрыСведений.ТестовыйРегистр.СоздатьНаборЗаписей(); НоваяЗапись.Записать();

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

Документы – суть ведения учета в 1С. Каждый документ имеет результат, например пришло товаров +10 шт.

Отчеты – позволяют смотреть результаты. Суммируют эти результаты и показывают пользователю.

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

Документы записывают свои результаты (называют «движения») в специальные таблицы – регистры 1с, которые сами суммируют результаты, чтобы отчет просто отобразил заранее посчитанные итоги.

Сегодня мы поговорим про регистры 1С и их использование.

Регистр 1с – это таблица, такая же как и в Excel, каждый документ пишет в регистр 1с одну или несколько строк своих движений (результатов) с каким-либо знаком – плюс или минус. Это значит, что итого регистра 1С изменилось на соответствующую цифру.

Документ, который записал движения в регистр 1С, называют Регистратор. Дата и время движения равны (в 99% случаев) дате документа. Дату движения называют Период.

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

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

Как документ проводится по регистрам?

Движения документа по регистрам 1С

Посмотрим как работают регистры 1С. Вот у нас есть документ поступления товаров, в котором мы видим, что поступил товар Масло на склад Главный.

С точки зрения логики и математики этот документ имеет результат:

Масло кремлевское, Главный склад +10 (шт)

Проверим – так ли это?

Этот пункт меню покажет нам все движения документа, которые он сделал по регистрам. Как мы видим, документ сделал движения по целой куче регистров 1С, в каждый из которых он записал разную информацию (в соответствии с назначением регистра 1С). По регистру 1С Товары на складах он сделал ту проводку, которую мы с Вами рассчитали.

Как же это выглядит в регистре 1С? Откроем регистр 1С через меню Операции.

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

В результате мы видим движение нашего документа по регистру 1С. Оно ровно совпадает с тем, что мы рассчитали вручную:

  • Плюс – вид движения (приход/расход)
  • Регистратор – наш документ
  • Активность – эта строка движения действительна (то есть не отключена)
  • Номенклатура, основное измерение
  • Склад, дополнительное измерение
  • Количество, ресурс (то есть цифра, которую мы считаем).

Если мы поставим отбор не по документу, а по номенклатуре (точно таким же образом), то мы увидим движения всех документов, которые трогали эту номенклатуру. Один документ – мы купили товар. Другой – продали. Итого естественно сам регистр 1С не показывает – для этого нужно использовать отчет или запрос.

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

Зачем нужны регистры 1С

Регистры 1С бывают разных видов. Цель использования регистра 1С зависит от его вида.

  • Регистры сведений 1С
    Это обычная таблица, как в Excel. Она не имеет никаких движений (приходов/расходов). Регистр сведений 1С обычно используется для хранения дополнительных данных справочников. С помощью регистра сведений 1С можно организовать
  • Регистры бухгалтерии 1С
    С точки зрения пользователя учет ведется на бухгалтерском плане счетов. На самом деле учет ведется в таблице регистров бухгалтерии 1С, которые сделаны в разрезе плана счетов 1С.
  • Регистры накопления 1С (регистр остатков 1С)
    Таблица движения документов + и –, которая автоматически вычисляет итого на начало периода и итого на конец периода. Например движения товара Лопата было +10, а потом -8. Значит остаток на начало был 0, а остаток на конец стал 2.

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

    Регистр остатков 1С используют в том случае, когда у справочника логически может быть остаток. Например, когда мы учитываем движения товаров, то мы будем использовать регистр остатков 1С – ведь мы можем сказать, что товара Лопата осталось 3 штуки.

  • Регистры накопления 1С (регистр оборотов 1С)
    Таблица движения документов + и -, которая не считает итого.

    Регистр оборотов 1С ничем не отличается от регистра остатков, за исключением того, что у него не рассчитываются автоматически остатки.

    Регистр оборотов 1С используют в том случае, когда у справочника логически не может быть остатка. Если нам надо учитывать продажи товаров, то мы будем использовать регистр оборотов.

    Например, продажи товаров были +10 (мы продали) а потом -2 (нам вернули). Мы не можем сказать что остаток продаж стал 8, потому что логически понятия остатка продаж не существует, мы скажем что итого оборота (сумма каждой строки оборота) стала 8.

  • Регистры расчетов 1С

    Таблица движений в разрезе видов расчета и периодов. Используется в начислении заработной платы (называют Сложные периодические расчеты).

Где находятся регистры 1С

Проведение документа в коде (в программе) прописывается программистом. Для этого откройте . Найдите строку вида «Процедура ОбработкаПроведения(». Раскройте крестик и Вы видите программу проведения этого документа.

Настройка и разработка Регистров 1С

Основные особенности Регистров 1С, по закладкам:

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

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

Рассмотрим подробнее свойства и настройки регистра сведений.

Два главных свойства регистра сведения — Периодичность и Режим записи .

Это уникальные свойства регистра сведений, которых больше нет ни у одного объекта метаданных. Рассмотрим их подробнее.

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

Периодичность может принимать следующие значения:

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

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

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

А одна из главных особенностей периодического регистра сведений — возможность получать готовые значения «Среза первых» и «Среза последних». Эта информация позволяет очень быстро получить из базы данных информацию о последнем (первом) установленном значении на определенную дату.

Режим записи регистра сведений

В 1С 8.2 и 8.3 это свойство может быть либо в значении «Независимый», либо — «Подчинение регистратору». В первом случае записи можно будет произвести как программно, так и из формы списка регистра сведений. Во втором случае обязательно указание документа-регистратора записи. Это накладывает определенные ограничения, но в то же время открывает новые возможности.

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

Также следует обратить внимание на палитру свойств измерений регистра сведений 1С 8.3. Особенно на флаги Ведущее и Основной отбор:

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

Программная запись в регистр сведений 1С

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

Использование менеджера записи:

НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
НоваяЗапись.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»);
НоваяЗапись.Период = Дата(31,12,2016);
НоваяЗапись.Курс = 100;
НоваяЗапись.Кратность = 1;
НоваяЗапись.Записать();

Использование набора записей регистра сведений 1С:

НовыйНаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
//если вы не установите отбор — удалятся все записи регистра сведений
НовыйНаборЗаписей.Отбор.Валюта.Установить(Доллар, Истина);
НовыйНаборЗаписей.Отбор.Период.Установить(Дата(31,12,2016), Истина);
//формируем непосредственно запись набора
НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить();
НоваяЗаписьНабора.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»);
НоваяЗаписьНабора.Период = Дата(31,12,2016);
НоваяЗаписьНабора.Курс = 100;
НоваяЗаписьНабора.Кратность = 1;
НовыйНаборЗаписей.Записать();

Осуществляется в образе массива записываемых функций. Они должны соответствовать принятым в платформе параметрам (видам измерений). Где и как происходит их хранение, а также как добавить или удалить запись в регистре сведений 1С?

Что собой представляют сведения

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

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

К стандартным объектам конфигурации относится и регистр (register, англ.) сведений. Функция его состоит в хранении любых произвольных данных в разрезе измерений.

Например, курсы валют - в разрезе валют, цены - в разрезе видов цен или в соответствии с номенклатурной, пр.

Структура

Данные в 1С сохраняются в виде записей (registration, англ.). Каждая из них включает в себя вид измерений (разрезов) и соответствующие им значения ресурсов.

Например, регистр «Цены товаров» может включать в себя измерения (разрезы) «Товар» и «Вид Цен», а ресурсы включают в себя значение «Цена». Таким образом, складывается его структура:

А сами записи Цены товаров будут иметь вид:

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

Периодичность

Чтобы изменение статических данных можно было отслеживать во времени, registration обладает полем «Период». Это является и дополнительным разрезом для анализа. Значение периодичности можно выбирать:

Выбор значения Периодичности

Запись в регистр сведений в 1С (их изменения) можно вносить вручную. Также они изменяются автоматически при создании документов.

В последнем случае каждая registration обновляется спецполем для фиксации такого формирующего документа.

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

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

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

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

Для его создания берётся три значения - значение регистратора (подчинённый или не подчиненный), значение периода (периодический или непериодический) и значение измерения.

Редактирование

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

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

Для входа и работы с отдельной записью существует форма и для её представления:

Редактирование курса валюты в 1С

Возможности, делегируемые разработчику этими формами:

  • Удалить, изменить, добавить запись в регистр в 1С;
  • Многосторонняя разноплановая сортировка по измерениям во временных интервалах и по регистраторам.

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

© 2024 Бизнес. Регистрация. Документы. Заявления