Имя: Пароль:
1C
1С v8
История данных в 8.3.12
0 Birmingem
 
19.09.18
12:08
Решил пощупать новые технологии...
Установил последний релиз 8.3.12.1616.
Есть небольшая самописная конфигурация. В ней у одного документа в свойствах "История данных" поставил - Использовать. У всех реквизитов документа по умолчанию уже стоит История данных - Использовать.
В предприятиии у данного документа в меню "Еще" появился пункт "История изменений".
Вроде этого достаточно чтобы механизм заработал.
Под одним пользователем создал новый документ. Потом под другим пользователем в этом документе изменил реквизит и провел.
Захожу в История изменений, там пусто, вообще.
Доступны только кнопки Обновить и Отбор. Нажал Обновить, никаких изменений.
Что еще нужно сделать, чтобы заработал механизм "История данных"?
1 Вафель
 
19.09.18
12:15
может какое рег задание есть?
2 Вафель
 
19.09.18
12:16
Обработка изменения данных

Процесс создания версии данных состоит из двух этапов. Сначала, когда вы записываете объект (например, документ), формируется специальное сообщение, которое помещается в очередь. Этот этап выполняет платформа, разработчик в нём не участвует.

А вот второй этап инициируется разработчиком. Второй этап заключается в том, что при обработке очереди эти данные извлекаются, помещаются в хранилище версий, и становятся доступными для работы с ними.

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

Мы полагаем, что в результате такой асинхронной работы будет обеспечена как эффективная запись объектов, так и минимизация потерь производительности.
3 Birmingem
 
19.09.18
12:21
(3)А на русский кто нибудь может это перевести, про второй этап?
Что конкретно надо сделать? Написать какую-то обработку?

Здесь на форуме недавно кто-то говорил что "история данных" работает прям из коробки, без доп.кода...
4 dmt
 
19.09.18
12:31
не пробовал, но очевидно выполнить МенеджерИсторииДанных.ОбновитьИсторию()
5 zippygrill
 
19.09.18
12:31
Есть еще регистр ВерсииОбъектов
6 zippygrill
 
19.09.18
12:32
наверное :)
7 Birmingem
 
19.09.18
12:34
(5)Речь про платформенный механизм. А регистр это из БСП.
(4)По логике штатная кнопка Обновить как раз и должна это делать.
8 dmt
 
19.09.18
12:36
(7) по чьей логике?
попробуй уже, а то придется самому 8.3.12 ставить
9 Birmingem
 
19.09.18
12:40
Хотелось бы услышать тех, кто на практике применял платформенную историю данных.
10 shuhard
 
19.09.18
12:42
11 dmt
 
19.09.18
12:42
(9) а ты упорный
""Обновить историю" записывает изменения данных из временного хранения на постоянное. В документации рекомендуют метод ИсторияДанных.ОбновитьИсторию() вызывать раз в сутки, регламентным заданием, желательно НЕ в транзакции."
http://catalog.mista.ru/public/699109/
12 ptiz
 
19.09.18
12:44
(9) Всё работает согласно описанию.
13 Birmingem
 
19.09.18
14:08
Т.е. для сохранения, восстановления данных штатных механизмов нет?
Только программно?
14 PR
 
19.09.18
14:10
ИсторияДанных.ОбновитьИсторию();
Делай регламентное задание
И научись уже читать СП наконец
15 Birmingem
 
19.09.18
14:13
Я и спрашиваю, только программно можно это сделать?
Неужели нет чего нибудь вроде "Все функции-Стандартные-Управление историей данных"?
16 PR
 
19.09.18
14:13
+(14) В https://wonderland.v8.1c.ru/blog/istoriya-dannykh/ явно написано (для тех, кто умеет читать, правда):

"Обработка изменения данных

Процесс создания версии данных состоит из двух этапов. Сначала, когда вы записываете объект (например, документ), формируется специальное сообщение, которое помещается в очередь. Этот этап выполняет платформа, разработчик в нём не участвует.

А вот второй этап инициируется разработчиком. Второй этап заключается в том, что при обработке очереди эти данные извлекаются, помещаются в хранилище версий, и становятся доступными для работы с ними.

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

Мы полагаем, что в результате такой асинхронной работы будет обеспечена как эффективная запись объектов, так и минимизация потерь производительности."
17 Birmingem
 
19.09.18
15:25
Сделал обработку, в ней одна строчка: ИсторияДанных.ОбновитьИсторию().
История изменений появилась.

Но остается вопрос, почему нет штатной команды, чтобы обходиться без написания кода?
Например "для обновления индекса полнотекстового поиска" есть же штатная команда "Все функции - Стандартные - Управление полнотекстовым поиском".
Почему тогда нет аналогичной для "Истории данных"?
18 Вафель
 
19.09.18
15:32
(17) влом 1совцам было писать такую обработку
19 Cyberhawk
 
19.09.18
16:25
Много для чего платформенного нет "встроенных" (платформенных) обработок. Нет и для истории данных.
20 PR
 
19.09.18
16:28
(17) Потому что все когда-то появилось, а не было сразу же с самого начала
21 Birmingem
 
15.10.18
11:32
Появилось время продолжить изучение ...
Подскажите, как в форму списка документа вывести например такие колонки:
- Первый автор (создатель) документа,
- Автор последних изменений в документе,
- Дата последних изменений в документе
?
22 Cyberhawk
 
15.10.18
11:33
ПриПолученииДанных
23 Cyberhawk
 
15.10.18
11:34
(ПриПолученииДанныхНаСервере)
Ошибка? Это не ошибка, это системная функция.