Войти
Идеи для бизнеса. Займы. Дополнительный заработок
  • Боремся с пухопероедами у курочек Как обработать кур керосином и нашатырным спиртом
  • История создания старуха изергиль максима горького презентация
  • Конвенции Международной организации труда (МОТ) в регулировании трудовых отношений Конвенция мот трудовые отношения
  • Как керосин стал лекарством и стоит ли его применять
  • Что такое оперативное время при нормировании
  • Закупка продуктов питания: пошаговая инструкция
  • Что такое регистр сведений в 1с 8.3. Хранение данных в регистрах

    Что такое регистр сведений в 1с 8.3. Хранение данных в регистрах

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

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

    • Наименование
    • Производитель
    • Упаковка
    • Цена закупки

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

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

    Настройка в 1С 8.3 регистров сведений

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

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

    Как в 1С 8.3 сделать запись в регистр сведений

    Записи в регистрах являются следствием проведения операций в различных частях программы. Но есть возможность сделать непосредственные изменения. Для этого предусмотрена возможность записи в регистр сведений 1С 8.3 программно (пусть примером служит аналитика колебаний валютных курсов):

    • Воспользуемся Менеджером Записи чтобы выполнить одно действие:

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

    НоваяЗапись.Валюта = Справочники.Валюты.НайтиПоНаименованию(«UA»);

    НоваяЗапись.Период = Дата(30,07,2018);

    НоваяЗапись.Курс = 50;

    НоваяЗапись.Кратность = 1;

    НоваяЗапись.Записать();

    • Возьмем Набор Записей для нескольких введений:

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

    //Внимание! Здесь важно указать критерии отбора. В противном случае все сделанные прежде записи исчезнут.

    НовыйНаборЗаписей.Отбор.Валюта.Установить(Гривна, Истина);

    НовыйНаборЗаписей.Отбор.Период.Установить(Дата(30,07,2018), Истина);

    //Теперь можно приступить к записыванию самого набора

    НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить();

    НоваяЗаписьНабора.Валюта = Справочники.Валюты.НайтиПоНаименованию(«UA»);

    НоваяЗаписьНабора.Период = Дата(30,07,2018);

    НоваяЗаписьНабора.Курс = 50;

    НоваяЗаписьНабора.Кратность = 1;

    НовыйНаборЗаписей.Записать();

    Как удалить регистр сведений в 1с 8.3

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

    Выполняем такие действия:

    • Код 1C v 8.х
    • НаборЗаписей = РегистрыСведений.ОбъектыСтроительстваОрганизаций.СоздатьНаборЗаписей();
    • НаборЗаписей.Отбор.Организация.Установить(УдаляемаяОрганизация);
    • НаборЗаписей.Записать();

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

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

    Регистр сведений 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С это таблицы документов, журналов документов, справочников и регистров. О типах регистров 1С, особенностях и тонкостях их использования и пойдет разговор в нашей статье.

    Формирование записей в регистрах

    Одним из первых вопросов, связанных с регистрами, является вопрос: для чего?

    Для чего вообще нужно создавать отдельные таблицы, зачастую дублирующие уже существующие записи?

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

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

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

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

    Общее для всех регистров

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

    Рис.2

    Рассмотрим её подробнее:

    • Измерения – свойства записи, определяющие, в каких разрезах хранится важная информация;
    • Ресурсы – они содержат информацию, которую необходимо систематизировать;
    • Реквизиты – поля записи, которые содержат дополнительную информацию;
    • Формы – свойство, которое содержит графическую информацию о внешнем виде списка, элемента и т.д. и их внутренних модулях;
    • Макеты – печатные формы регистров.

    Регистры сведений

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

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

    Список важных свойств регистра сведений небольшой (Рис.3), поговорим об основных:

    Рис.3

    1. Периодичность, она указывает на то, в каких пределах контролируется уникальность записи (в пределах минуты, часа, дня, года в соответствии с выбранным значением не могут существовать две записи с одинаковыми измерениями), также может принимать значение «По регистратору», но для этого необходимо выбрать соответствующий режим записи;
    2. Режим записи – фактически это выбор из двух значений: «Независимый» и «Подчинение регистратору».
      1. Важно понимать, что выбор независимого режима не означает, что запись не может быть сформирована документом, будет невозможен только отбор по регистратору и контроль уникальности записи по нему ;
    3. Разрешить итоги срез первых и Разрешить итоги срез последних: (объединим два пункта в один) – при выставлении соответствующих галочек, запрос к регистру сведений можно производить по дополнительным таблицам (Срез первых и Срез последних), которые содержат соответствующие наборы данных, в качестве одного из параметров этих таблиц выступает дата, на которую необходимо делать выбор данных.

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

    Структуру одного из них мы видели на Рис.2. Основным свойством, сильно влияющим на внешний вид регистра, а так же на его внутреннюю структуру является «Вид регистра» (Рис.4)

    В зависимости от требований к хранимой информации может принимать значения:

    • Остатки;
    • Обороты.

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

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

    Если требуются данные, включающие конец периода можно:

    • Использовать таблицу ОстаткиИОбороты;
    • Сделать выборку на дату на 1 секунду большую заданной (т.е. не на 31.12.16 23:59:59, а на 01.01.17 00:00:00);
    • Воспользоваться методом Граница, который помогает настроить вариант включения момента времени в рассматриваемый период (вариант использования: Граница(ДатаКонца,Включая).

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

    Достаточно специализированные регистры, по своей конструкции напоминают регистры накопления. Основным отличием от других типов регистров платформы 1С является присутствие в структуре свойств параметра «План счетов» (Рис.5).

    Рис.5

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

    1. Бюджетирование;
    2. Международный;
    3. Налоговый;
    4. Хозрасчетный.

    Второй параметр, характерный для бухгалтерских регистров – «Корреспонденция».

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

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

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

    Определяющим отличием регистра расчета от других регистров является наличие в его свойствах параметра «План вида расчета». К тому же, регистр расчета, также как и регистр сведений – периодический.

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

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

    Основное использование их в типовых конфигурациях 1С – регистрация и облегчение работы с начислениями работникам организации.

    6
    Прочитать записи регистра сведений можно двумя способами: Через Набор Записей или Менеджер Вот пример через набор записей: // Добавление новых данных в существующую запись регистра сведений НаборЗаписей = РегистрыСведений.ДокументоОборот.Соз 2
    НаКлиенте Процедура ТоварНоменклатураПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные; Номенклатура = СтрокаТабличнойЧасти.Номенклатура; ТипЦен = ЭтаФорма.ТипЦен; ТекДата = Объект.Дата; СтрокаТабличнойЧасти 2
    Разработка любой конфигурации потребует использования регистров сведений! Чтобы упростить запись и чтение данных в регистре сведений, Вы можете использовать универсальные функции: // Добавляет одну запись в регистр сведений по переданным значениям 1
    Событие ПередЗаписью возникает перед выполнением записи набора регистра сведений. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи набора регистра сведений. Пример проверки на условие и заполнение реквизита Цвет

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

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

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

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

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

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

    Терперь поговорим об особенностях каждого вида регистров:

    1. Регистры сведений

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

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

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

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

    2. Регистры накоплений

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

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

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

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

    Его основная особенность заключается в возможности учета данных методом двойной записи по принципу Дебет-Кредит. Для реализации возможности формирования проводок Регистр бухгалтерии должен быть связан со специальным объектом - План счетов.

    4. Регистры расчета

    Этот вид регистра предназначен не только для хранения, накопления и систематизации данных, но и для реализации сложных механизмов периодческих расчетов. Для этого в свойствах регистра расчета необходимо определить еще один объект 1с — план видов расчета. То есть работа регистра этого вида невозможна без определения для него конкретного плана видов расчета.

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

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