ведущее измерение регистра что такое
Работа с регистрами сведений в 1С 8.3 и 8.2
Регистр сведений 1С 8 — объект метаданных, предназначенный для хранения справочной информации в разрезе определенных разработчиком измерений.
Типичный пример использования регистра сведений — хранение информации о курсе валют в разрезе валюты и периода.
Рассмотрим подробнее свойства и настройки регистра сведений.
Настройка и свойства регистра сведений 1С 8
Два главных свойства регистра сведения — Периодичность и Режим записи.
Это уникальные свойства регистра сведений, которых больше нет ни у одного объекта метаданных. Рассмотрим их подробнее.
Периодичность регистра сведений 1C
Данное свойство позволяет добавить к списку измерений дополнительное измерение — Период. С его помощью можно решить большое количество задач: хранение информации в базе данных, учитывая актуальность на определенную дату. Прикладных примеров использования периодов множество: хранение значение валюты на каждый день, хранение цены номенклатуры и т.д.
Периодичность может принимать следующие значения:
При выборе периодичности, отличной от варианта Непериодический, система будет контролировать уникальность записей в пределах заданного промежутка времени. Если запись не уникальна, система 1C выдаст сообщение Запись с такими ключевыми полями существует! и не даст произвести запись в базу данных.
А одна из главных особенностей периодического регистра сведений — возможность получать готовые значения «Среза первых» и «Среза последних». Эта информация позволяет очень быстро получить из базы данных информацию о последнем (первом) установленном значении на определенную дату.
Режим записи регистра сведений
В 1С 8.2 и 8.3 это свойство может быть либо в значении «Независимый», либо — «Подчинение регистратору». В первом случае записи можно будет произвести как программно, так и из формы списка регистра сведений. Во втором случае обязательно указание документа-регистратора записи. Это накладывает определенные ограничения, но в то же время открывает новые возможности.
Свойства измерения регистра сведений
Также следует обратить внимание на палитру свойств измерений регистра сведений 1С 8.3. Особенно на флаги Ведущее и Основной отбор:
О других объектах системы 1С можно прочитать в разделе конфигурирование 1С.
Программная запись в регистр сведений 1С
Добавить новые записи в регистр сведений можно двумя способами — с помощью менеджера записи и с помощью набора записей. Первый случай подойдет для одиночной записи, второй — для двух и и более записей.
Использование менеджера записи:
НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
НоваяЗапись.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»);
НоваяЗапись.Период = Дата(31,12,2016);
НоваяЗапись.Курс = 100;
НоваяЗапись.Кратность = 1;
НоваяЗапись.Записать();
Использование набора записей регистра сведений 1С:
НовыйНаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
//если вы не установите отбор — удалятся все записи регистра сведений
НовыйНаборЗаписей.Отбор.Валюта.Установить(Доллар, Истина);
НовыйНаборЗаписей.Отбор.Период.Установить(Дата(31,12,2016), Истина);
//формируем непосредственно запись набора
НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить();
НоваяЗаписьНабора.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»);
НоваяЗаписьНабора.Период = Дата(31,12,2016);
НоваяЗаписьНабора.Курс = 100;
НоваяЗаписьНабора.Кратность = 1;
НовыйНаборЗаписей.Записать();
Для полной программной очистки всех записей регистра сведений можно использовать нашу обработку.
Видеолекция по регистрам сведений в 1С для начинающих:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Вирус скуки
понедельник, 10 июня 2013 г.
Заметки быдло-одинэсника, занятие 9-10
Продолжаю мучать книжку Радченко.
суббота, 8 июня 2013 г.
1сное же!
Чот я редко пишу, ну и ладно. Продолжаю сражаться, глава 7 и 8.
Для чего предназначен объект конфигурации Отчет?
Объект конфигурации отчет служит для описания алгоритмов, при помощи которых пользователь может получать необходимые ему выходные данные.
На самом деле, скажу я честно, эта «система компоновки данных» мне совсем не нравится. Гораздо проще работать с кодом, проще и понятнее, чесслово.
Как создать макет с помощью конструктора печати?
Выбираем объект конфигурации, которому нужен макет (это может быть документ, отчет, внешняя обработка), правый клик по нему, команда «Изменить», вкладка «Макеты», кнопка «Конструктор Печати».
Так же будет возможность заполнить подвал печатной формы.
Как с помощью встроенного языка вывести в табличный документ новую область?
С помощью следующей конструкции:
ОбластьИмяОбласти = Макет.ПолучитьОбласть(«ИмяОбласти»);
Перед этим надо создать на макете данную область. Выделяем колонку или строку, правый клик, команда «Свойства» и именуем нужную область.
Как отобразить сумму по колонке таблицы?
Вводим в форму подвал, в окошке формы выбираем колонку, прописываем путь к данным подвала
Регистр сведений в 1С 8.3
Независимый регистр сведений
Регистр сведений позволяет хранить некую информацию в разрезе измерений. Можно сказать, что это некий многомерный массив, где на пересечении каждого измерения хранится какое-то значение. Например, можно хранить цены на товары в разрезе товаров и типов цен:
Товар | Тип цен | Цена |
---|---|---|
Шкаф | Оптовая | 1000 |
Шкаф | Розничная | 2000 |
Тумбочка | Оптовая | 500 |
Тумбочка | Розничная | 1200 |
На закладке Данные можно настроить состав измерений и ресурсов регистра сведений. Ресурсы — это как раз та самая информация, которая хранится в разрезе измерений:
При сохранении конфигурации базы данных будет создана таблица с тремя колонками: Товар, ТипЦен и Цена.
В пользовательском режиме можно добавлять в регистр новые записи:
При этом нельзя добавить две записи с одинаковым значением измерений. Если попытаться добавить еще одну цену на шкаф для оптовой цены, то при записи будет выброшено исключение: «Запись с такими ключевыми полями существует!»:
Контроль уникальности записей выполняется при записи и при изменении состава измерений в конфигураторе. Если удалить у регистра сведений измерение Тип цен и попытаться обновить конфигурацию базы данных, то при реструктуризации базы данных будет выдана ошибка «Имеются записи с одинаковыми измерениями», потому что после удаления измерения Тип цен стало по две записи с товарами Шкаф и Тумбочка:
В свойствах измерений можно установить флаг Запрет незаполненных значений, тогда перед записью будет выполняться контроль заполнения данного измерения:
Если попытаться добавить запись с пустым товаром, то будет выброшено исключение «Запись не верна! Значение поля «Товар» не может быть пустым!»:
Флаг Ведущее у измерения регистра сведений означает, то данная запись имеет смысл пока существует элемент базы данных, ссылка на который хранится в данном измерении. Если удалить из базы данных товар Шкаф, то автоматически из регистр сведений будут удалены все записи, где в измерении Товар был указан Шкаф. Если бы данный флаг не был установлен, то записи остались бы в регистре с битой ссылкой.
А также в карточке товара появляется гиперссылка для быстрого перехода к регистру сведений с отбором по текущему товару:
Флаг Основной отбор используется при регистрации записей в плане обмена и будет рассмотрен в соответствующей главе.
Помимо измерений и ресурсов у регистра сведений могут быть реквизиты. Реквизиты используются для хранения дополнительных сведений. Они не входят в состав ключа записи регистра сведений. Для каждого реквизита в таблице базы данных будет создана отдельная колонка. По внутренней структуре реквизиты почти ничем не отличаются от ресурсов, кроме того, что реквизиты можно индексировать.
Регистр сведений, который был рассмотрен нами называется независимым, потому что в него можно добавлять и удалять записи вручную. У такого регистра на закладке Основные свойство режим записи равно Независимый:
Периодический регистр сведений
На закладке Основные есть свойство Периодичность. Если там выбрать значение отличное от Непериодический, то в таблицу регистра будет автоматически добавлено поле Период. Периодичность бывает:
Поле Период входит в ключ записи, поэтому теперь можно добавлять записи с одинаковым составом измерений, но с разным периодом. При этом период автоматически приводится к началу периода, указанного в свойстве Периодичность. То есть ли указать периодичность В пределах месяца и добавить запись с периодом 19 апреля 2021 года, то период будет автоматически преобразован в 1 апреля 2021 года. Поле период обязательно для заполнения, нельзя добавить запись с пустым периодом:
В первой и во второй строке совпадают значения измерений, но отличается период, поэтому такие записи были успешно добавлены в регистр сведений.
С помощью периодических регистров сведений можно хранить историю изменения ресурсов регистра.
Регистр сведений подчиненный регистратору
На закладке Основные в свойстве Режим записи можно установить значение Подчинение регистратору:
В этом случае в таблицу регистра будет добавлено еще три колонки:
В роли регистратора всегда выступает документ. Список возможных документов-регистраторов указывается на закладке Регистраторы. Если не указать ни один документ, то при сохранении конфигурации базы данных будет ошибка: «РегистрСведений.ЦеныНаТовары: Ни один из документов не является регистратором для регистра».
Создадим новый документ УстановкаЦенНаТовары и отметим его как регистратор:
Теперь нельзя вручную добавлять новые записи в регистр. Записи должны формироваться документами-регистраторами при проведении. Добавим в обработку проведения документа УстановкаЦенНаТовары следующий код:
Объект 1С «Регистры сведений»
Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен.
Функциональные возможности регистра сведений
Основными функциональными возможностями, которые предоставляет регистр сведений разработчику, являются:
Структура объекта 1С «Регистры сведений»
Информация в регистре сведений хранится в виде записей, каждая из которых содержит:
Например, регистр сведений цены товаров может иметь следующую структуру:
где » Вид цен» может иметь значения «Оптовая», «Розничная», и т.д.
Вместе с каждой записью, находящейся в регистре сведений, в его реквизитах можно хранить дополнительную произвольную информацию.
Периодичность регистра сведений 1С
Одной из возможностей регистра сведений является хранение данных не только в разрезе указанных измерений, но и в разрезе времени.
Данное свойство позволяет добавить к списку измерений регистра дополнительное измерение — «Период».
Использование периодичности регистра сведений позволяет не просто хранить статические данные, но и отслеживать их актуальность на определенную дату или изменение во времени.
Разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр:
Периодичность может принимать следующие значения:
В этом случае к каждой записи регистра будет добавляться поле «Период», хранящее дату, которой были внесены записи в регистр.
Например, периодический регистр сведений «Цены товаров» может не только хранить информацию о том, какова цена на определенную номенклатуру сейчас, но и о том, как она изменялась в прошлом (или будет изменяться в будущем).
Особенность периодического регистра сведений:
Подчинение регистратору
Внесение изменений в регистр сведений может выполняться:
Какой именно режим записи будет использоваться данным регистром сведений указывается разработчиком в процессе создания прикладного решения:
Свойство «Режим записи»может быть в значении:
Использование режима записи «Подчинение регистратору» необходимо в случае, когда логика работы прикладного решения требует того, чтобы изменения, выполняемые в регистре сведений, были жестко связаны с документами, фиксирующими факты хозяйственной деятельности.
Уникальность записей регистра сведений
Система обеспечивает контроль уникальности записей, хранящихся в регистре сведений. Таким образом, в регистре сведений не может находиться двух одинаковых записей (с одинаковым ключом записи). Ключ записи формируется системой автоматически, на основании значений, содержащихся в полях записи, и зависит от вида регистра сведений.
В общем случае в формировании ключа записи будут участвовать значения регистратора, периода и значения измерений.
Таким образом, например, в непериодическом регистре сведений «Цены товаров» с независимым режимом записи не может существовать двух записей о розничной цене конфет ассорти. Точно так же, как в периодическом регистре сведений «Цены товаров», подчиненном регистратору, не может существовать двух записей о розничной цене конфет ассорти, внесенных одной и той же датой, одним и тем же документом «Изменение цен товаров».
Свойства измерения регистра сведений
Особое внимание следует обратить на флаги «Ведущее» и «Основной отбор» палитры свойств измерений регистра сведений.
Программная запись в регистр сведений 1С
Добавить новые записи в регистр сведений можно двумя способами:
Программирование в 1С для всех
В этой статье мы познакомимся с очень интересным объектом метаданных конфигурации 1С – регистром сведений. Регистры сведений применяются для хранения различной информации, которая может использоваться в прикладной задаче. Информация в регистре сведений хранится в определенных разрезах, которые называются измерениями, а еще она может изменяться во времени.
Регистры сведений, информация которых изменяется во времени, называются Периодическими, а иначе эти регистры называют Непериодическими. Периодичность может быть разной, может быть периодичность в секунду, минуту, час и т.д. максимум — год.
Непериодический регистр сведений 1С
Основное предназначение регистров сведений в том, что в них должны храниться показатели аналитики. Например, у нас есть задача хранить виды топлива (АИ-92, АИ-95 и т.д.), но также и цену на этот вид топлива. Как это удобное всего организовать. Однозначно сами виды топлива необходимо хранить в каком-то справочнике. Так его и назовем – вид топлива. Но где же хранить цену на этот вид топлива? Самое первое решение в реквизите справочника.
Очевидно, такое решение имеет место, если цена у нас ни когда не изменяется. Но в жизни такое редко случается, поэтому если мы так сделаем, то возникнет необходимость каждый раз изменять элемент справочника при изменении цены. В принципе, почему бы и нет. Но, если мы еще добавим новый разрез цены – поставщик топлива: у одного и того же вида топлива может быть разная цена для разных поставщиков, то хранение цены в реквизите справочника станет принципиально не возможной: мы не будем знать, к какому поставщику относиться эта цена.
Для решения этих задач служит специальный объект конфигурации — регистр сведений. В этом регистре сведений можно создавать записи, в которых будет указано, что для такого-то вида топлива, для такого-то поставщика устанавливается такая-то цена.
Сейчас мы и решим эту маленькую прикладную задачу: в нашей конфигурации есть два справочника «Виды топлива» и «Поставщики топлива»
Необходимо организовать возможность хранения цены для каждого вида топлива с учетом поставщиков. Для этого в конфигураторе 1С создадим новый регистр сведений ЦеныНаТопливо.
На закладке Основные установим имя и синоним. Все остальное оставим как есть.
Теперь на закладке данные создадим два измерения – ВидТоплива и ПоставщикТоплива, типы которых ссылки на соответствующие справочники.
У обоих измерений поставим флаг – Ведущее. Это значит, что если мы удалим элемент справочника, который указан в какой-то записи регистра сведений, то эта запись удалиться автоматически. Так же есть одно интерфейсное следствие этого флага: если флаг установлен, то в форме элемента справочника мы сможем посмотреть на записи этого регистра для этого элемента.
Установим для каждого измерения этот флаг.
У нас непериодический регистр, и в нем два измерения ВидТоплива и ПоставщикТоплива это значит, что мы не сможем создать две записи с одинаковыми значениями полей ВидТоплива и ПоставщикТоплива. Программа выдаст ошибку. Что и разумно – не может быть две разных цены на один и тот же вид топлива у одного и того же поставщика. А если может, то это значит, что необходимо добавить еще один разрез (например, база поставщика).
Кроме измерений у регистра сведений существуют Ресурсы и Реквизиты. Ресурс должен хранить основную информацию регистра сведений, т.е. те данные, ради которых он создан, а Реквизит содержит дополнительную второстепенную информацию о записи.
Мы создадим ресурс – Цена (тип число 10,2).
И всё. Сохраним конфигурацию и откроем этот регистр сведений и заведем какую-нибудь запись.
Если мы сейчас попробуем создать запись с точно таким же набором измерений, то возникнет ошибка: «Запись с такими ключевыми полями существует».
И последний момент: поскольку мы у измерения ВидТоплива установили флаг «Ведущее», то у элемента справочника ВидыТоплива появилась команда на открытие регистра сведений «Цена на топливо»
Если мы в управляемом приложении 1С перейдем по этой команде, то увидим все цены для нашего вида топлива.
Продолжение темы регистров сведений читайте в следующих статьях:
Периодический регистр сведений 1С
Подчиненный регистр сведений 1С
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655