ОбъектМетаданных: ПланВидовРасчета.ИсторияДанных

Свойства · DataHistory

Тип: ИспользованиеИсторииДанных. Содержит признак использования данных этого объекта метаданных в истории данных.

Полное описание, параметры и ограничения

ОбъектМетаданных: ПланВидовРасчета.ИсторияДанных (MetadataObject: ChartOfCalculationTypes.DataHistory)

ОбъектМетаданных: ПланВидовРасчета (MetadataObject: ChartOfCalculationTypes)

ИсторияДанных (DataHistory)

Доступен, начиная с версии 8.3.13.

Использование:
Только чтение.
Описание:
Тип: ИспользованиеИсторииДанных.
Содержит признак использования данных этого объекта метаданных в истории данных.
Доступность:

Сервер, толстый клиент, внешнее соединение.

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

Доступен, начиная с версии 8.3.13.

Методическая информация

Практические примеры

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

История данных вида расчёта, изменения схемы расширением и движения расчётного регистра — разные вещи. Этот урок читает только настройки первых двух.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу, имя корня УчебныеРасчеты85. Не изменяйте рабочие ЗУП/КА2/УНФ/УТ/БП. Пример технический: зарплата, налоги и выплаты не рассчитываются.

  2. Планы видов расчёта → Добавить: УчебныеНачисления85. ТипКода Строка, ДлинаКода 10, ДлинаНаименования 100. ИспользованиеПериодаДействия включено; ЗависимостьОтВидовРасчета=ПоПериодуДействия.

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

  4. Модули объекта/менеджера оставьте пустыми, регистры расчёта и бизнес-алгоритмы не добавляйте. Обновите конфигурацию БД и создайте серверный ВыполнитьПример() Экспорт собственной обработки.

  5. Фрагмент вставляется внутрь процедуры. Все виды и строки зависимостей создаются только в памяти; Записать, блокировки, удаления объектов и привилегированный режим не вызываются.

  6. Случайные ссылки зависимостей — ПЛАНОВЫЕ идентификаторы, соответствующих сохранённых видов нет. Они нужны для разбора типизированных списков, а не для запуска расчёта.

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

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

Описание = Метаданные.ПланыВидовРасчета.Найти("УчебныеНачисления85");
Если Описание = Неопределено Тогда
    ВызватьИсключение "Создайте собственный план УчебныеНачисления85";
КонецЕсли;
Если Описание.ТипКода <> Метаданные.СвойстваОбъектов.ТипКодаПланаВидовРасчета.Строка
    Или Описание.ДлинаКода <> 10 Или Описание.ДлинаНаименования <> 100
    Или Не Описание.ИспользованиеПериодаДействия
    Или Описание.ЗависимостьОтВидовРасчета <> Метаданные.СвойстваОбъектов.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия Тогда
    ВызватьИсключение "Настройки учебного плана не соответствуют подготовке";
КонецЕсли;
Если Описание.БазовыеВидыРасчета.Количество() <> 1
    Или Не Описание.БазовыеВидыРасчета.Содержит(Описание) Тогда
    ВызватьИсключение "Выберите только собственный план как базовый";
КонецЕсли;
Сообщить(Не Описание.ОбновлятьИсториюДанныхСразуПослеЗаписи);
Сообщить(Не Описание.ВыполнятьОбработкуПослеЗаписиВерсииИсторииДанных);
Сообщить(Не Описание.ЕстьИзмененияРасширениямиКонфигурации());
Сообщить(Описание.РасширениеКонфигурации() = Неопределено);
Сообщить("История данных: " + Строка(Описание.ИсторияДанных));
Сообщить("Принадлежность схемы: " + Строка(Описание.ПринадлежностьОбъекта));
Сообщить("Тип идентификатора расширяемого объекта: " + Строка(ТипЗнч(Описание.ОбъектРасширяемойКонфигурации)));

Разбор по шагам

  1. Флаги немедленного обновления и обработки после версии выключены в собственной схеме до запуска.

  2. ЕстьИзмененияРасширениямиКонфигурации проверяет изменение схемы, не факт перерасчёта сотрудника.

  3. РасширениеКонфигурации по подготовке отсутствует; не читаем его Имя без проверки.

  4. Принадлежность и тип связанного идентификатора выводим фактически. Историю не включаем и версии не записываем.

Как проверить результат

  1. Четыре логических сообщения дают Истина.

  2. В выводе нет суммы, сотрудника, автора выплаты или регистра: такие данные не запрашивались.

Ожидаемый результат

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

На что обратить внимание

  1. Настройка истории определений не является журналом начислений.

  2. Расширение, изменившее план, не является автоматически автором всех его данных.

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

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

Отделить историю изменений от полнотекстового поиска

Для плана Начисления КА2 поиск включён, история данных выключена. Возможность найти название не доказывает наличие истории прежних значений.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

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

Варианты = Метаданные.СвойстваОбъектов;
Описание = Метаданные.ПланыВидовРасчета.Найти("Начисления");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ПланыВидовРасчета.Начисления";
КонецЕсли;
ЕстьИстория = Описание.ИсторияДанных = Варианты.ИспользованиеИсторииДанных.Использовать;
ЕстьПоиск = Описание.ПолнотекстовыйПоиск = Варианты.ИспользованиеПолнотекстовогоПоиска.Использовать;
Сообщить(Не ЕстьИстория);
Сообщить(ЕстьПоиск);
Если Не ЕстьИстория Тогда
    Сообщить("Не обещаем восстановление предыдущих значений по истории этого объекта");
КонецЕсли;
Если ЕстьПоиск Тогда
    Сообщить("Метаданные разрешают индексирование; актуальность индекса этим кодом не проверена");
КонецЕсли;
Сообщить(Описание.ИсторияДанных = Варианты.ИспользованиеИсторииДанных.НеИспользовать);
Сообщить(Описание.ПолнотекстовыйПоиск <> Варианты.ИспользованиеПолнотекстовогоПоиска.НеИспользовать);

Разбор по шагам

  1. Два одинаково названных значения Использовать относятся к разным системным перечислениям.

  2. Первая настройка относится к истории изменений, вторая — к полнотекстовому индексу.

  3. Выводим границу доказательства: настройка схемы не доказывает актуальность индекса или наличие версии.

  4. Код не обновляет индекс и не включает историю на рабочей базе.

Как проверить результат

  1. Четыре сравнения Истина по исходному XML; показано отсутствие гарантии восстановления.

  2. После запуска настройки не изменились и фоновое обновление индекса не запущено.

Ожидаемый результат

Разделены два механизма хранения/поиска без ложного обещания истории.

На что обратить внимание

  1. Полнотекстовый поиск не является журналом регистрации и не хранит прежние значения реквизитов.

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

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.