Тип: ПериодичностьРегистраСведений. Указывает, с какой периодичностью регистр сохраняет значения ресурсов (например, Месяц, День, Секунда).
Полное описание, параметры и ограничения
ОбъектМетаданных: РегистрСведений.ПериодичностьРегистраСведений (MetadataObject: InformationRegister.InformationRegisterPeriodicity)
ОбъектМетаданных: РегистрСведений (MetadataObject: InformationRegister)
ПериодичностьРегистраСведений (InformationRegisterPeriodicity)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: ПериодичностьРегистраСведений.
Указывает, с какой периодичностью регистр сохраняет значения ресурсов (например, Месяц, День, Секунда).
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Проверить назначенные график, дату и числовое значение графика
График ссылается на регистр сведений ГрафикиРаботыПоВидамВремени. ДатаГрафика и ЗначениеГрафика — описания его измерения и ресурса, не отработанные часы конкретного сотрудника.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Описание = Метаданные.РегистрыРасчета.Найти("Начисления");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует РегистрыРасчета.Начисления";
КонецЕсли;
График = Метаданные.РегистрыСведений.Найти("ГрафикиРаботыПоВидамВремени");
Если График = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует РегистрыСведений.ГрафикиРаботыПоВидамВремени";
КонецЕсли;
ДатаГрафика = Описание.ДатаГрафика;
ЗначениеГрафика = Описание.ЗначениеГрафика;
Если ДатаГрафика = Неопределено Или ЗначениеГрафика = Неопределено Тогда
ВызватьИсключение "В учебных начислениях ожидались дата и значение графика";
КонецЕсли;
Сообщить(Описание.График = График);
Сообщить(ДатаГрафика.Имя = "Дата");
Сообщить(ДатаГрафика.Родитель() = График);
Сообщить(ДатаГрафика.Тип.СодержитТип(Тип("Дата")));
Сообщить(ЗначениеГрафика.Имя = "ОсновноеЗначение");
Сообщить(ЗначениеГрафика.Родитель() = График);
Сообщить(ЗначениеГрафика.Тип.СодержитТип(Тип("Число")));
Сообщить(График.ПериодичностьРегистраСведений = Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический);
Сообщить(ЗначениеГрафика.Тип.КвалификаторыЧисла.Разрядность = 5);
Сообщить(ЗначениеГрафика.Тип.КвалификаторыЧисла.РазрядностьДробнойЧасти = 2);Разбор по шагам
По XML в Начисления назначены все три описания; находим сам регистр сведений отдельно.
ДатаГрафика должна быть его измерением типа Дата, ЗначениеГрафика — его числовым ресурсом.
Периодичность самого графика непериодическая, а дата хранится измерением: не путайте это с месячной периодичностью регистра расчёта.
Квалификаторы 5,2 относятся к типу ресурса, не вычисляют рабочие часы или число дней.
Как проверить результат
Десять сравнений Истина по предоставленной схеме.
Не выбиралась ни одна дата/значение из записей графиков работы.
Ожидаемый результат
Проверены три связи схемы и типы даты/числового значения графика.
На что обратить внимание
ОсновноеЗначение не обещает универсальную единицу «часы»: смысл определяется видом времени и прикладной логикой.
Не назначайте такой же график другим регистрам автоматически, особенно если период действия не используется.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Не перепутать дату графика с периодом регистра сведений
ГрафикиРаботыПоВидамВремени — независимый непериодический регистр; его Дата является измерением. Наличие поля даты само по себе не позволяет планировать СрезПоследних.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Варианты = Метаданные.СвойстваОбъектов;
Описание = Метаданные.РегистрыСведений.Найти("ГрафикиРаботыПоВидамВремени");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует РегистрыСведений.ГрафикиРаботыПоВидамВремени";
КонецЕсли;
Сообщить(Описание.РежимЗаписи = Варианты.РежимЗаписиРегистра.Независимый);
Сообщить(Описание.ПериодичностьРегистраСведений = Варианты.ПериодичностьРегистраСведений.Непериодический);
ДатаГрафика = Описание.Измерения.Найти("Дата");
Если ДатаГрафика = Неопределено Тогда
ВызватьИсключение "В этой схеме нет измерения Дата";
КонецЕсли;
Сообщить(ДатаГрафика.Тип.СодержитТип(Тип("Дата")));
Если Описание.ПериодичностьРегистраСведений = Варианты.ПериодичностьРегистраСведений.Непериодический Тогда
Сообщить("Планируйте чтение по измерению Дата; временные срезы не предполагаем");
КонецЕсли;
Если Описание.РежимЗаписи = Варианты.РежимЗаписиРегистра.ПодчинениеРегистратору Тогда
Сообщить("Для записи нужен контракт регистратора этой другой схемы");
Иначе
Сообщить("Независимая схема не требует регистратора; доступ к записи здесь не проверяется");
КонецЕсли;Разбор по шагам
РежимЗаписи и периодичность сравниваем с разными контейнерами СвойстваОбъектов.
Находим измерение Дата до чтения Тип и проверяем включение типа Дата.
Для непериодической схемы выводим план чтения по измерению, а не ошибочный запрос СрезПоследних.
Ветка регистратора объясняет отличие подчинённой схемы. Запись не выполняется ни в одной ветке.
Как проверить результат
Три сравнения Истина: независимый, непериодический, измерение включает дату.
Показано пояснение о чтении по измерению и независимой записи. Ни одного запроса/набора записей.
Ожидаемый результат
Выбран корректный способ будущего обращения к графику по фактической структуре.
На что обратить внимание
Поле Дата не делает непериодический регистр периодическим.
Независимый не означает доступный всем и не разрешает незаметно менять рабочий график.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.