ПараметрыЗаписиИсторииДанных.ОбновлятьИсториюСразуПослеЗаписи

Свойства · UpdateHistoryImmediatelyAfterWrite

Тип: Булево. Если установлено значение Истина, то после завершения транзакции выполняется обновление истории данных по записанным данным, в фоновом задании без ожидания завершения фонового задания. Значение по умолчанию - Ложь. При записи данных значение, указанное в конфигураторе, записывается в свойство ОбновлятьИсториюСразуПослеЗаписи. Значение свойства может быть переопределено.

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

ПараметрыЗаписиИсторииДанных.ОбновлятьИсториюСразуПослеЗаписи (WriteDataHistoryParameters.UpdateHistoryImmediatelyAfterWrite)

ПараметрыЗаписиИсторииДанных (WriteDataHistoryParameters)

ОбновлятьИсториюСразуПослеЗаписи (UpdateHistoryImmediatelyAfterWrite)

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

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Если установлено значение Истина, то после завершения транзакции
выполняется обновление истории данных по записанным данным,
в фоновом задании без ожидания завершения фонового задания.
Значение по умолчанию - Ложь.
При записи данных значение, указанное в конфигураторе, записывается в свойство ОбновлятьИсториюСразуПослеЗаписи. Значение свойства может быть переопределено.
Доступность:

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

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

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

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

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

Подготовить дополнительные данные истории без создания версии

ПараметрыЗаписиИсторииДанных — настройки будущей записи, не уже созданная версия. Добавляем собственную цену и таблицу штрихкодов с подписями, оставляя объект незаписанным.

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

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

Подготовка

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

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

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


Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Учебная книга";
Товар.Артикул = "A-01";
Товар.Цена = 250;
СтрокаШтрихкода = Товар.Штрихкоды.Добавить();
СтрокаШтрихкода.Штрихкод = "TRAINING-A-01";
СтрокаШтрихкода.Основной = Истина;
История = Товар.ЗаписьИсторииДанных;
История.КомментарийВерсии = "Учебная подготовка цены и штрихкода";
История.Отказ = Ложь;
История.ОбновлятьИсториюСразуПослеЗаписи = Ложь;
История.ВыполнятьОбработкуПослеЗаписиВерсии = Ложь;
История.ДобавитьДополнительныеДанные("УчебнаяЦена", Товар.Цена, "Цена учебного товара");
История.ДобавитьДополнительныеДанные("УчебныеШтрихкоды", Товар.Штрихкоды.Выгрузить(), "Штрихкоды учебного товара");
История.ДобавитьПредставлениеПоляДополнительныхДанных("УчебнаяЦена", "ru", "Учебная цена");
История.ДобавитьПредставлениеПоляДополнительныхДанных("УчебнаяЦена", "Цена для упражнения");
Сообщить(История.КомментарийВерсии = "Учебная подготовка цены и штрихкода");
Сообщить(Не История.Отказ);
Сообщить(Не История.ОбновлятьИсториюСразуПослеЗаписи);
Сообщить(Не История.ВыполнятьОбработкуПослеЗаписиВерсии);
Сообщить(История.ДополнительныеДанные.УчебнаяЦена = 250);
Сообщить(История.ДополнительныеДанные.УчебныеШтрихкоды.Количество() = 1);
Сообщить(История.ПредставленияПолейДополнительныхДанных.Получить("УчебнаяЦена:ru") = "Учебная цена");
Сообщить(Товар.ЭтоНовый());

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

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

  2. Дополнительное поле УчебнаяЦена и таблица УчебныеШтрихкоды относятся к дополнительным данным версии, а не создают реквизиты метаданных.

  3. Первый метод добавляет данные вместе с подписью; второй задаёт подпись на ru и отдельным вариантом подпись по умолчанию.

  4. Флаги будущего обновления/обработки оставляем Ложь. Записать не вызывается: эти настройки не доказывают появления версии истории.

  5. Запись истории также зависит от её использования в конфигурации; Отказ=Ложь сам по себе историю не включает.

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

  1. Восемь сообщений Истина; цена дополнительных данных 250, в дополнительной таблице одна собственная строка.

  2. В объекте всё ещё ЭтоНовый=Истина и рабочие версии истории не изменились этим фрагментом.

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

Подготовлен понятный проект параметров истории с данными и подписями без записи объекта.

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

  1. Комментарий версии ограничен 1024 символами; длинные строки будут обрезаны.

  2. Если дополнительная таблица содержит НомерСтроки/LineNumber, действуют требования сортировки и последовательных номеров.

  3. Не используйте Отказ=Истина для обхода требований аудита рабочей системы.

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

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

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

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

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