МенеджерИсторииДанных.ВыбратьВерсии (DataHistoryManager.SelectVersions)
МенеджерИсторииДанных (DataHistoryManager)
ВыбратьВерсии (SelectVersions)
Доступен, начиная с версии 8.3.11.
Синтаксис:
ВыбратьВерсии(<Отбор>, <Колонки>, <Порядок>, <МаксимальноеКоличество>)Параметры:
<Отбор> (обязательный)
Структура, содержащая условия отбора версий. В качестве пары "Ключ" - "Значение" используются:
- Метаданные (Metadata) - значение типа ОбъектМетаданных: Справочник, ОбъектМетаданных: Документ, ОбъектМетаданных: РегистрСведений, ОбъектМетаданных: БизнесПроцесс, ОбъектМетаданных: Задача, ОбъектМетаданных: ПланСчетов, ОбъектМетаданных: ПланВидовХарактеристик, ОбъектМетаданных: ПланОбмена, ОбъектМетаданных: ПланВидовРасчета, ОбъектМетаданных: Константа.
- Используется для отбора версий по объекту метаданных. Если для объекта метаданных настроены ограничения прав доступа на уровне записей (RLS) или не установлено право "ЧтениеИсторииОтсутствующихДанных", то выполняется чтение данных. Если данные отсутствуют, то версия исключается из выборки.
- Данные (Data) - значение типа СправочникСсылка.<Имя справочника>, ДокументСсылка.<Имя документа>, РегистрСведенийКлючЗаписи.<Имя регистра сведений>, БизнесПроцессСсылка.<Имя бизнес-процесса>, ЗадачаСсылка.<Имя задачи>, ПланСчетовСсылка.<Имя плана счетов>, ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>, ПланОбменаСсылка.<Имя плана обмена>, ПланВидовРасчетаСсылка.<Имя плана видов расчета>, КонстантаКлючЗначения.<Имя константы>. Используется для отбора версий конкретного объекта данных или записи регистра сведений. Если для объекта метаданных настроено ограничение прав доступа на уровне записей (RLS) или нет права "ЧтениеИсторииОтсутствующихДанных", то выполняется чтение данных. Если данные отсутствуют, генерируется исключение.
- ПредставлениеДанных (DataPresentation) - значение типа Строка. Для поиска по вхождению переданного значения в представлении объекта.
- НомерВерсии (VersionNumber) - значение типа Число. Для отбора по номеру версии.
- ДатаНачала (StartDate) - значение типа Дата. Отбор версий с датой создания, большей или равной указанной дате.
- ДатаОкончания (EndDate) - значение типа Дата. Отбор версий с датой создания, меньшей или равной указанной дате.
- Пользователь (User) - значение типа УникальныйИдентификатор или массив таких объектов. Отбор версий по идентификатору пользователя, создавшего версию. Условия, созданные по значениям, переданным в массиве, объединяются по ИЛИ.
- ИмяПользователя (UserName) - значение типа Строка или массив таких объектов. Отбор версий по имени пользователя, создавшего версию, проверка на вхождение. Имена должны соответствовать именам, возвращаемым методом глобального контекста ИмяПользователя (UserName). Условия, созданные по значениям, переданным в массиве, объединяются по ИЛИ.
- ПолноеИмяПользователя (UserFullName) - значение типа Строка или массив таких объектов. Отбор версий по имени пользователя, создавшего версию, проверка на вхождение. Имена должны соответствовать именам, возвращаемым методом ПолноеИмяПользователя. Условия, созданные по значениям, переданным в массиве, объединяются по ИЛИ.
- ВидИзмененияДанных (DataChangeType) - значение из перечисления ВидИзмененияДанных или массив ВидИзмененияДанных. Отбор по виду изменения.
- Комментарий (Comment) - значение типа Строка. Отбор по комментарию, проверяется вхождение строки.
- Транзакция(Transaction) - значение типа Строка. Отбор по транзакции, проверка на равенство.
- Узел (Node) - ПланОбменаСсылка.<Имя плана обмена>. Отбор по узлу плана обмена.
- ЗначенияПолей (FieldValues) - значение типа Массив. Отбор по значению поля. Массив содержит элементы типа Структура, описывающие условия, накладываемые на данные версии. Отбираются версии, которые удовлетворяют всем условиям списка (условия объединяются по И):
- Поле (Field) - значение типа Строка. Обязательный. Предназначен для поиска версий, содержащих указанное поле. Если указана табличная часть, то выполняется поиск по всем дочерним полям.
- ЗначениеПослеИзменения (ValueAfterChange) - значение типа Произвольный. Выполняется поиск версий с данными, содержащими указанный объект метаданных, и значением, равным переданному значению. Отбираются все версии, в которых значение установлено. ЗначениеПослеИзменения должно быть заполнено, если не заполнено ЗначениеДоИзменения.
- ЗначениеДоИзменения (ValueBeforeChange) - значение типа Произвольный. Выполняется поиск версий с данными, содержащими указанный объект метаданных, и предыдущим значением, равным переданному значению. Отбираются все версии, в которых в предыдущей версии установлено значение, а не только версия, в которой изменено значение. ЗначениеДоИзменения должно быть заполнено, если не заполнено ЗначениеПослеИзменения.
- ИзменениеЗначенийПолей (FieldValuesChange) - значение типа Массив. Отбор по факту изменения значения поля версии. Массив содержит строки с именем поля. Строка содержит имя объекта метаданных, например, если необходимо выполнить отбор по реквизиту "Цена" объекта "Заказ", указывается "Цена", если по реквизиту "Цена" табличной части "ПозицииЗаказа", то указывается "ПозицииЗаказа.Цена". Позволяет выполнить поиск по удаленному объекту метаданных, или полученному по обмену. Версия, полученная по обмену, может содержать объекты метаданных, которых нет в конфигурации текущей информационной базы, поэтому такие реквизиты можно выбрать только по полному имени. Если по строке не найден объект метаданных, условие игнорируется.
<Колонки> (необязательный)
Массив имен колонок или строка, содержащая имена колонок, по которым производится выбор версий. В строке имена колонок должны быть разделены запятыми. Доступны колонки:
- Данные,
- ПредставлениеДанных,
- НомерВерсии,
- Дата,
- Пользователь,
- ИмяПользователя,
- ПолноеИмяПользователя,
- ВидИзмененияДанных,
- Комментарий,
- Транзакция,
- Узел.
Значение по умолчанию: Неопределено.
<Порядок> (необязательный)
Строка или массив, содержащий имена колонок, по которым требуется сортировать выбранные элементы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию.
Если задано значение Неопределено используются следующие настройки порядка:
- При отборе по "Метаданные" - "Дата Убыв", "НомерВерсии Убыв",
- При отборе по "Данные" - "НомерВерсии Убыв".
Значение по умолчанию: Неопределено.
<МаксимальноеКоличество> (необязательный)
Максимальное количество получаемых версий.
Если указано число, метод получает в указанном порядке версии с учетом установленного отбора в количестве, не превышающем значения параметра.
Неопределено - получаются все версии.
Значение по умолчанию: Неопределено.
Возвращаемое значение:
Тип: ТаблицаЗначений.Возвращает таблицу значений, в которую будут выбраны записи истории данных в соответствии с отбором.
Таблица значений содержит следующие колонки:
- Данные (Data) - тип СправочникСсылка.<Имя справочника>, ДокументСсылка.<Имя документа>, РегистрСведенийКлючЗаписи.<Имя регистра сведений>, БизнесПроцессСсылка.<Имя бизнес-процесса>, ЗадачаСсылка.<Имя задачи>, ПланСчетовСсылка.<Имя плана счетов>, ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>, ПланОбменаСсылка.<Имя плана обмена>, ПланВидовРасчетаСсылка.<Имя плана видов расчета>, КонстантаКлючЗначения.<Имя константы>. Ссылка на объект, по которому выполняется поиск записей истории;
- ПредставлениеДанных (DataPresentation) - тип Строка. Представление данных, ссылки на объект или ключа записи регистра сведений;
- НомерВерсии (VersionNumber) - тип Число. Номер версии объекта;
- Дата (Date) - тип Дата. Дата создания версии;
- Пользователь (User) - тип УникальныйИдентификатор. Идентификатор пользователя, создавшего запись истории данных;
- ИмяПользователя (UserName) - тип Строка. Имя пользователя, создавшего запись истории данных;
- ПолноеИмяПользователя (UserFullName) - тип Строка. Полное имя пользователя, создавшего запись истории данных;
- ВидИзмененияДанных (DataChangeType) - тип ВидИзмененияДанных. Вид изменения объекта, которое привело к созданию записи истории данных;
- Комментарий (Comment) - тип Строка. Комментарий к записи истории;
- Транзакция (Transaction) - тип Строка. Идентификатор транзакции, в рамках которой создана запись истории;
- Узел (Node) - тип ПланОбменаСсылка.<Имя плана обмена>. Ссылка на узел плана обмена, из которого получено изменение объекта.
Описание:
Выполняет поиск версий истории данных в соответствии с отбором.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Вызов метода выполняет обращение к серверу.
Пример:
| // Получение версий. Отбор = Новый Структура; Отбор.Вставить( "Данные", Справочники.Валюты.НайтиПоНаименованию("Рубль")); Версии = ИсторияДанных.ВыбратьВерсии( Отбор, "НомерВерсии, Дата, ТипИзменения, ИмяПользователя, Комментарий"); // Получение версий с отбором по комментарию. Отбор = Новый Структура; Отбор.Вставить( "Данные", Документы.Заказ.НайтиПоНомеру("0000001")); Отбор.Вставить("Комментарий", "Отказ"); Версии = ИсторияДанных.ВыбратьВерсии( Отбор, "НомерВерсии, Дата, ТипИзменения, ИмяПользователя, Комментарий"); // Получение версий // с отбором по изменению значения реквизита. Отбор = Новый Структура; Отбор.Вставить( "Данные", Документы.Заказ.НайтиПоНомеру("0000001")); ИзменениеЗначенийПолей = Новый Массив; ИзменениеЗначенийПолей.Вставить("ПозицииЗаказа.Количество"); Отбор.Вставить("ИзменениеЗначенийПолей", ИзменениеЗначенийПолей); Версии = ИсторияДанных.ВыбратьВерсии( Отбор, "НомерВерсии, Дата, ТипИзменения, ИмяПользователя, Комментарий"); // Получение версий с отбором по изменению // значения реквизита. Отбор = Новый Структура; Отбор.Вставить("Данные", Документы.Заказ.НайтиПоНомеру("0000001")); Количество1 = Новый Структура; Количество1.Вставить("Поле", "ПозицииЗаказа.Количество") Количество1.Вставить("ЗначениеПослеИзменения", 1); ЗначенияПолей = Новый Массив; ЗначенияПолей.Вставить(Количество1); Отбор.Добавить("ЗначенияПолей", ЗначенияПолей); Версии = ИсторияДанных.ВыбратьВерсии( Отбор, "НомерВерсии, Дата, ТипИзменения, ИмяПользователя, Комментарий"); // Получение версий с изменением порядка версий. // "Версии" содержит список всех версий объекта, // упорядоченный по возрастанию Дата. Отбор = Новый Структура; Отбор.Вставить( "Данные", Справочники.Валюты.НайтиПоНаименованию("Рубль")); Версии = ИсторияДанных.ВыбратьВерсии(Отбор, "НомерВерсии, Дата, ТипИзменения, ИмяПользователя, Комментарий", "Дата"); |
Использование в версии:
Доступен, начиная с версии 8.3.11.