История хранения данных. Теперь в составе платформы

14.11.17

Разработка - Механизмы платформы 1С

Описание нового механизма хранения данных в составе платформы на примере каркасной конфигурации. Прилагается выгрузка базы данных обработками и примерами кода.

Скачать исходный код

Наименование Файл Версия Размер
История хранения данных. Теперь в составе платформы.:
.dt 180,34Kb
71
.dt 180,34Kb 71 Скачать

За свою практику работы 1C программистом я видел два варианта хранения истории изменения данных: в основной базе регистр сведений с полем типа  хранилище значений, заполняется по подписке на событие записи и в отдельной базе, доступ к которой происходит по OLE. Стандартное решение - БСП, подсистема "Версионирование объектов". Возможность хранения истории данных очень полезна, когда нужно найти причину ошибки в данных или просто найти крайнего ответственного.  И вот наконец такую возможность включили в платформу, по информации сайта Заметки из Зазеркалья.

Конечно, платформа версии 8.3.11 еще пока находится в тестировании, в типовых конфигурациях это решение появится еще не скоро, но любопытство побеждает.

Посмотрим, что за механизм такой. Устанавливаем на компьютер платформу версии 8.3.11.2831 Для тестирования подойдет каркасная конфигурация с сайта подготовки к экзаменам http://1c.ru/spec/questions.htm. Берем ведерко с попкорном, устраиваемся удобнее. Режим совместимости конфигурации - не использовать. Забегая вперед, заметим, что при сохранении базы обратно в режиме совместимости 8.3.10 выйдет сообщение: "Из базы будут удалены версии данных".

В синтакс-помощнике появился менеджер истории данных, видно его методы.

История данных поддерживается для объектов: общие реквизиты, справочники, документы, бизнес-процессы, задачи, регистры сведений. В свойствах полей появилась настройка "История данных" (внизу рисунка).

Для некоторых стандартных реквизитов настройка пока не появилась (например, Пометка удаления). Возможно, это глюк особенность тестовой версии. Для простоты будем считать, что в конфигураторе новой версии у всех объектов (документы, справочники) установлено История данных = НеИспользовать, у реквизитов История данных = Использовать. Для табличных частей это свойство не имеет смысла, поскольку задается отдельно для каждого реквизита табличной части.

Причем, настройки конфигуратора используются как значения "по умолчанию". Настройки в режиме предприятия могут отличаться от настроек в конфигураторе. Регистрация изменений учитывает приоритет настроек предприятия.

Откроем обработку "НастройкаХраненияДанных", которая позволяет изменять настройки в режиме предприятие и находить отличия.

  • Кнопка "Заполнить метаданные" выводит дерево метаданных по конфигурации. Пока настройки предприятия не заданы, колонка "История данных" показывает настройки из конфигуратора. Содержимое колонки можно изменять.
  • Кнопка "Установить настройки" применяет одноименный метод к каждому объекту метаданных из дерева.
  • Кнопка "Обновить историю" записывает изменения данных из временного хранения на постоянное. В документации рекомендуют метод ИсторияДанных.ОбновитьИсторию() вызывать раз в сутки, регламентным заданием, желательно НЕ в транзакции.

После установки свойства "История данных" документа "Приходная накладная" изменения начинаются фиксироваться. Создаем документ "Приходная накладная" № 3, сохраняем, затем изменяем реквизит Сумма по документу: вместо 3 пишем 0, сохраняем.

Переходим в обработку "Восстановить данные", в качестве текущего объекта выбираем документ "Приходная накладная" № 3.

Метод "ВыбратьВерсии" пока не показывает ни одной версии. Нажимаем "Обновить историю" из первой обработки. Теперь метод "ВыбратьВерсии" возвращает нам таблицу значений. Две версии - две строки. Вид изменения имеет два значения по версиям: сначала мы создали документ, потом изменили. В таблице значений несколько колонок скрыты.

Выбираем в таблице нужную строку, нажимаем "Получить данные версии". Метод считывает данные версии в структуру. Для наглядности выведем сообщение об различающихся реквизитах. Что и требовалось доказать.

Вывод: механизм интересный, заявленные функции выполняет. Примеры кода, обработки внутри прикрепленого файла.

После первых 10 скачиваний - планирую повышение цены.

P.S. В комментариях подсказали, что если для объекта ведется история данных, то в его системном меню есть отчет по истории данных.

И в завершение предлагаю помедитировать над кодом, обслуживающим объекты ИсторияДанных (DataHistory) из файла mngbase_root.res, который входит в состав платформы 8.3.11. Такого кода там много, хватит на всех желающих. Открывал в Notepad++.

&AtServer
Function GetPreviousVersionNumber(VersionNumber)
	Var PreviousVersionNumber;
	
	ExcludeDeleted = New Array();
	ExcludeDeleted.Add(DataChangeType.Create);
	ExcludeDeleted.Add(DataChangeType.Update);
	Result = DataHistory.SelectVersions(
		New Structure(
			""Data, DataChangeType"", 
			Parameters.Data,
			ExcludeDeleted), 
		""VersionNumber"", 
		""VersionNumber Asc"");
	For Each CheckVersionNumber In Result Do
		If CheckVersionNumber[0] = VersionNumber Then
			Return PreviousVersionNumber;
		EndIf;
		PreviousVersionNumber = CheckVersionNumber[0];
	EndDo;
	Return PreviousVersionNumber;
EndFunction

&AtServer
Function GetLastVersionNumber()

	ExcludeDeleted = New Array();
	ExcludeDeleted.Add(DataChangeType.Create);
	ExcludeDeleted.Add(DataChangeType.Update);
	// select 1 version, this is last
	Result = DataHistory.SelectVersions(
		New Structure(
			""Data, DataChangeType"", 
			Parameters.Data,
			ExcludeDeleted), 
		""VersionNumber"", 
		""VersionNumber Desc"",
		1);
			
	For Each CheckVersionNumber In Result Do
		Return CheckVersionNumber[0];
	EndDo;
	Return Undefined;
EndFunction

&AtClient
Procedure VersionsDiff(Command)
	If Items.Versions.CurrentData = Undefined Then
		Return;
	EndIf;
	VersionBeforeChange = Undefined;
	VersionAfterChange = Undefined;
	
	For Each SelectedRow In Items.Versions.SelectedRows Do
		Version = Items.Versions.RowData(SelectedRow);
		If VersionBeforeChange = Undefined Then
			VersionBeforeChange = Version;
		ElsIf VersionBeforeChange.VersionNumber > Version.VersionNumber Then
			VersionBeforeChange = Version;
		EndIf;
		
		If VersionAfterChange = Undefined Then
			VersionAfterChange = Version;
		ElsIf VersionAfterChange.VersionNumber < Version.VersionNumber Then
			VersionAfterChange = Version;
		EndIf;
	EndDo;
	// diff on deleted version not available
	If VersionAfterChange.DataChangeType = 2 Then
		ShowNotAllowedActionsOnDeletedVersion();
		Return;
	EndIf;
	// diff on deleted version not available
	If VersionBeforeChange.DataChangeType = 2 Then
		ShowNotAllowedActionsOnDeletedVersion();
		Return;
	EndIf;
	VersionNumberAfterChange = VersionAfterChange.VersionNumber;
	VersionNumberBeforeChange = VersionBeforeChange.VersionNumber;
	
	If  VersionNumberBeforeChange = VersionNumberAfterChange Then
		ShowMessageBox(,NStr(""en='Select two versions for comparison';SYS='DataHistory.SelectVersionsTwoVersions'"", ""en""));
		Return;
	EndIf;
	
	
	OpenForm(""sysForm:DataHistoryVersionsDiff"", 
		New Structure(
			""Data, VersionNumberAfterChange, VersionNumberBeforeChange"", 
			Parameters.Data, 
			VersionNumberAfterChange,
			VersionNumberBeforeChange));
EndProcedure

 

 

версионирование хранение истории данных обновление платформы обзор новые возможности обработки пример кода

См. также

Сервисы интеграции без Шины и интеграции

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    2525    dsdred    16    

57

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

Обмен между базами 1C Администрирование СУБД Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    5800    dsdred    53    

82

Как готовить и есть массивы

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    5786    YA_418728146    25    

67

Планы обмена VS История данных

Обмен между базами 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    6916    dsdred    36    

113

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    18993    SeiOkami    46    

118

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    12664    human_new    27    

76

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    9331    YA_418728146    6    

143

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    6509    sebekerga    54    

95
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. o.nikolaev 212 14.11.17 16:45 Сейчас в теме
После первых 10 скачиваний - при наличии позитивных отзывов планирую повышение цены.


Это вот прям, гениальный маркетинговый ход, если честно.
RodinMax; chrnv; dvv01; memb3r; mpeg1989; frkbvfnjh; acanta; товарищ Ын; romulanin; artfa; корум; ZLENKO; Tolpinski; TreeDogNight; baracuda; Dimasik2007; freezetron; gubanoff; jONES1979; +19
18. TuneSoft 248 22.11.17 18:44 Сейчас в теме
(1) что в файле для скачивания ?
Внутри платформы уже есть визуальные инструменты для просмотра, сравнения и восстановления версий.
+
21. vasilev2015 2696 23.11.17 08:58 Сейчас в теме
(18) файл - архив конфигурации с обработками, написанными специально для этой статьи. С примерами использования новых программных методов языка 1С.
Встроенных инструментов платформы не нашел. Если у Вас есть - подскажите, где.
+
22. TuneSoft 248 23.11.17 10:27 Сейчас в теме
(21) в форме элемента справочника нажать "Ещё - История изменений".
Откроется форма, в которой есть отборы, переход на версию, сравнение и тп
К сожалению стандартный язык запросов 1С не позволяет получать данные по изменениям, можно использовать только специальную функцию для выборки изменений.
Прикрепленные файлы:
acanta; Ziggurat; sansys; Tolpinski; +4
23. vasilev2015 2696 23.11.17 10:58 Сейчас в теме
(22) Увидел, спасибо )). Появляется только для тех объектов, у которых история включена.
+
35. Jokemas 192 05.02.19 12:17 Сейчас в теме
(22) Вот прямо зря. автор маркетинговый ход использует с повышением цены, чтобы быстрее накачали, а вы совет бесплатно даете. Рыночные отношения должны быть рыночными. Раз уж автор проявляет излишний интерес к sm, значит и сам должен за информацию платить =))). Коммерсанты блин. =)
vlasin; 1c_ssnik; memb3r; товарищ Ын; +4
2. vasilev2015 2696 14.11.17 17:15 Сейчас в теме
Спасибо. Но у меня остается слабая надежда, что программирую я лучше, чем продаю. С другой стороны, старт мани у меня не ассоциируются с деньгами. Только для развлечения.
Evg-Lylyk; Fox-trot; +2
3. vshish 151 15.11.17 05:19 Сейчас в теме
Да тоже скачивал эту платформу для посмотреть историю.
Но до подробных игр не дошло.
конечно. очень интересо в каком виде хранятся данные, и можно ли выбрать запросом например какие изменения были сделаны определенным пользователем. или кто изменял опе\ределенные реквизиты.
Минус. это надо устанавливать режим совместимости 8.3.11
Для старых конфигураций может быть неприменим.
+
4. vasilev2015 2696 15.11.17 09:06 Сейчас в теме
Здравствуйте !

(3)
можно ли выбрать запросом например какие изменения были сделаны определенным пользователем


Да, можно, только не запросом. В документации описаны возможные отборы перед получением таблицы версий. Их слишком много, я не стал их программировать. Отбор по пользователю есть.
+
5. Jockered 15.11.17 09:16 Сейчас в теме
"Для табличных частей это свойство не имеет смысла"

Почему? Ведь большинство изменений происходит именно в ТЧ. И данный механизм поддерживает отслеживание изменений в ТЧ.
+
6. vasilev2015 2696 15.11.17 09:22 Сейчас в теме
(5) я подразумевал, что для каждого реквизита табличной части это свойство задается отдельно, а в целом у табличной части нет такого свойства. Добавил фото экрана к статье.
+
7. script 128 15.11.17 13:41 Сейчас в теме
Интересно как создаются версии? Тупо при каждой записи объекта или происходит сравнение того что изменилось? И записываются только изменения - это было бы логично.
+
8. maikl007 91 16.11.17 05:11 Сейчас в теме
(7)Данные истории мы храним в отдельных таблицах информационной базы. Для повышения эффективности мы храним только разницу между версиями данных. Если у вас есть «тяжёлый» документ с большим количеством строк в табличной части, а вы меняете только один реквизит в самом документе, то в истории данных сохранится только одно это изменение. То есть у вас не будет храниться множество копий этого объекта, и занимать место на диске
+
11. Win98 16.11.17 16:55 Сейчас в теме
(8) Прошу прощения, а вы это кто? Таки мы тоже тестируем данный механизм. Получаем множество записей в истории немеющих различий между собой, такое ощущение что при каждом нажатии "Записать" (или вызове Записать()) не зависимо от того были изменения или нет создается запись в "истории данных". Это такая фича?
Прикрепленные файлы:
+
16. maikl007 91 20.11.17 04:18 Сейчас в теме
(11) Доброе время. Это выдержка из статьи 1с, по поводу данного механизма истории...
+
12. AnotherSide 16.11.17 21:46 Сейчас в теме
(8) это выдержка с Зазеркалья, т.е. текст от разрабов

(11) подтверждаем, версии создаются при любой перезаписи объекта, даже без изменений.

Шикарная экономия места на диске...
+
31. VasilVtoroy 16.03.18 16:21 Сейчас в теме
(12) Создается только запись о факте записи версии. Если не было изменений - то никакие больше данные в ней не храняться. Поэтому много места даже много таких версий не съедят
+
9. pnamik 16.11.17 07:38 Сейчас в теме
"Откроем обработку "НастройкаХраненияДанных", которая позволяет изменять настройки в режиме предприятие и находить отличия."

Где эта обработка? Как открыть эту обработку?
в 8.3.11.2831 и конфигурация Розница 2.2.7 другая картина
http://prntscr.com/hb2qm3
Светлый ум; +1
10. vasilev2015 2696 16.11.17 08:55 Сейчас в теме
(9) Обработку написал сам, для этой статьи. Находится в приложенном файле. Если нужна помощь - обращайтесь.
+
19. TuneSoft 248 22.11.17 18:47 Сейчас в теме
(9)обработки встроены в платформу 8.3.11
+
36. Светлый ум 406 26.06.19 05:07 Сейчас в теме
(9) Обработка интересную вещь содержит - настройки конфигуратора, но в общем чисто Интерфейсная
Чтобы добавить объект в версионироване БСП, должно выполниться три условия:

- Добавить в определяемый тип: «ВерсионируемыеДанные»
- Добавить в подписку на событие: «ЗаписатьВерсиюОбъекта»
- у реквизитов должно быть установлено свойство: «История данных» - использовать

Настройки версионирования (вкл/выкл) объектов делаются на стороне пользователя: в регистре «Настройки версионирования объектов».
+
13. poyson 16.11.17 21:54 Сейчас в теме
Надо брать, дайте две :)...
acanta; +1
14. Yashazz 4722 17.11.17 16:56 Сейчас в теме
И теперь ещё года три эта хрень будет косячить, терять данные, сбиваться и тд. Нетушки. Лучше уж проверенными способами, если на рабочих-то проектах. Как-то неохота объяснять клиентам, что это "новая фича глючит, все вопросы к 1С".
+
15. vasilev2015 2696 17.11.17 17:58 Сейчас в теме
(14) Здравствуйте, Яков ! Обычно Вы характеризуете мои статьи емким словом "боян". И поэтому мне пришлось написать первую на сайте (а может и вообще) статью про историю хранения данных. Налицо прогресс ))) Спасибо.
+
17. Yashazz 4722 21.11.17 17:40 Сейчас в теме
(15) Здравствуйте) Понимаете, Николай, я и свои поделки так характеризую в большинстве случаев, и чужие) Хорошо, что сподвиг Вас написать статью. Я вот несколько своих статей недавно посмотрел - хрень полная, для моих коллег сгодится, а на ИС уже было и было лучше, ну и не стал выкладывать мусор, естессно.

Так что натурально рад за Вас. Честно, рад.

Только вот описывать "свежак" от 1С - неблагодарное дело. Я, помнится, накатал статью об особенностях порядка выполнения обработчиков событий в расширениях форм, а они бац, и переделали всё. Так и с этой "историей изменений" стопицот раз ещё всё поменяется.
+
20. rusinfostart 23.11.17 02:24 Сейчас в теме
обработка "Восстановить данные", это что-то новенькое, попахивает увеличением места, но как идея очень хорошо.
+
24. Tolpinski 66 23.11.17 11:31 Сейчас в теме
Используем свою наработку для хранения истории, честно скачанную и переделанную. История пишется в табличную часть справочника.
Так пришлось вставить проверку на количество записей, больше 100к не пишет, а такое количество легко достигается в ЗУП, в расчетных документах.
Как тут с таким, изменение порядка строк будет считаться изменением?
+
25. bad_wag 48 27.12.17 12:01 Сейчас в теме
Выдержка из документации к платформе 8.3.11
Состояние объекта с точки зрения механизма истории данных можно условно разбить на две части:

1. настройки истории данных, сделанные в конфигураторе;

2. настройки истории данных, сделанные в режиме «1С:Предприятия».


Кто нибудь знает где искать эти настройки в режиме Предприятия?
+
26. vasilev2015 2696 27.12.17 16:11 Сейчас в теме
Здравствуйте ! я тоже долго искал. Сначала написал свой интерфейс, потом подсказали меню "ЕЩЕ", смотрите коммент 22.
+
27. bad_wag 48 28.12.17 15:17 Сейчас в теме
(26) В комментарии 22 написано как посмотреть история изменений, а мне не понятно как ВКЛЮЧИТЬ или выключить эту историю для объектов в режиме предприятия
+
28. vasilev2015 2696 28.12.17 21:18 Сейчас в теме
(27) Здравствуйте ! Включить или выключить историю изменений можно с помощью программного кода. К статье приложена конфигурация с утилитой, которая позволяет это сделать.
+
29. bad_wag 48 29.12.17 10:11 Сейчас в теме
(28) Да как это сделать с помощью программного кода это понятно и в документации очень подробно все расписано. Но как я писал (25) там так же упоминается возможность включения истории для объектов в режиме предприятия, но ГДЕ и КАК это делается почему-то ни слова не написано...
spenser123; +1
30. vasilev2015 2696 29.12.17 11:06 Сейчас в теме
(29) Здравствуйте ! Да, действительно. Мне было проще написать утилиту, чем искать. Как говорится: моя не читатель, моя - писатель. ))
Дайте пожалуйста обратную связь, когда разберетесь ))
+
32. sokir 2 30.05.18 19:34 Сейчас в теме
А если из 100 строк ТЧ документа удалена первая, то что за различия выдаст этот механизм?
Выдаст типа - изменено 99 строк и в каждой менялась номенклатура с количеством и ценой и суммой и т.д.?
+
33. VasilVtoroy 15.10.18 13:07 Сейчас в теме
(32) Нет, он покажет удаление одной строки
+
34. memb3r 21.12.18 16:42 Сейчас в теме
Под полными правами команда "История изменений" в форме элемента видна, а как её добавить пользователю с базовыми правами?
Дал пользователю права на роли "ЧтениеВерсийОбъектов" и "ЧтенииИнформацииОВерсияхОбъектов", но не помогло. Команда скрыта.
+
37. vova-1c 153 05.07.19 09:59 Сейчас в теме
Почему если изменить значение "История данных (Предприятие)"
и нажать кнопку "Установить настройки", после повторного заполнения метаданных внесенные изменения не сохраняются?

Почему у приходной в форме документа есть команда Еще - История изменений,
а у расходной нет, в то время когда у расходной через предприятие я устанавливаю флаг Изменение данных на самом документе и через обработку "Восстановить данные" историю изменений вижу?
Аналогично, если у приходной снять флаг Изменение данных, то команда Еще - История изменений не пропадает.
Как добавить или убрать эту команду?
+
38. vasilev2015 2696 05.07.19 13:15 Сейчас в теме
(37) Здравствуйте !

Посмотрите определяемый тип "ВерсионируемыеДанные.."
Более подробно сказать не могу - не знаю, какая у Вас конфигурация.
+
53. vasilev2015 2696 15.07.19 20:42 Сейчас в теме
(37) Здравствуйте ! постарался ответить. Добавил СМ, чтобы кто-то ответил лучше.
+
59. vasilev2015 2696 04.10.19 13:33 Сейчас в теме
(37) (58) Здравствуйте, уважаемые коллеги !

Это самый популярный вопрос по статье.

Сам ответить не могу, объявил вознаграждение 5 СМ тому, кто ответит.

Чувствую свою ответственность.
+
39. vova-1c 153 05.07.19 14:08 Сейчас в теме
40. vova-1c 153 05.07.19 14:11 Сейчас в теме
У Вас нет никакого определяемого типа "ВерсионируемыеДанные.."
+
42. vasilev2015 2696 05.07.19 14:31 Сейчас в теме
(40) тут посмотрите
Прикрепленные файлы:
+
43. clition 05.07.19 14:38 Сейчас в теме
В Вашей выложенной конфе нет такого определяемого типа
Прикрепленные файлы:
+
44. vasilev2015 2696 05.07.19 15:49 Сейчас в теме
(43) я думал, vova-1c задает вопрос по прикладной конфигурации, а не по приложенной к статье конфигурации. Постараюсь за выходные ответить.
+
47. clition 08.07.19 12:23 Сейчас в теме
(44) не появляется команда "История изменений" в форме объекта при включении истории данных через предприятие
+
48. vasilev2015 2696 08.07.19 15:00 Сейчас в теме
(47) Здравствуйте !
Это в приложенной конфигурации или в другой ?
+
49. clition 09.07.19 09:45 Сейчас в теме
50. vasilev2015 2696 09.07.19 10:13 Сейчас в теме
(49) Извините, что медленно отвечаю. Большая загрузка на работе.
+
51. clition 12.07.19 09:39 Сейчас в теме
(50) вопрос актуален
+
52. vasilev2015 2696 15.07.19 20:40 Сейчас в теме
(51) Здравствуйте !

посмотрел: действительно в меню документа Поступления есть история, в меню документа Реализация - отсутствует, хотя в конфигурации между этими документами нет различий. Это системное меню, определяется кодом 1С в файле mngbase_root.res. Разбираться с этим файлом смысла не вижу - его изменение может расцениваться как нарушение лицензионного соглашения. Чтобы меню было одинаково в обоих документах - следует добавить его программно на обе формы.

Возможно, Вас не удовлетворит мой ответ: в конфигураторе Вы видите то же, что и я. Поэтому я добавляю вознаграждение, чтобы кто-то мог предложить правильное решение и получить СМ. Если решения не будет, через один месяц вознаграждение сниму.
vova-1c; +1
54. clition 16.07.19 06:03 Сейчас в теме
(52) Если у вас нет ответа на этот вопрос, то об этом, наверное, следует сказать в статье, потому как, я, например, качал эту обработку только для того, чтобы разобраться с этой проблемой, но смысла в этом не оказалось.
+
55. vasilev2015 2696 16.07.19 07:48 Сейчас в теме
(54) Здравствуйте !

Проблема интерфейсная, при чем здесь обработка ?

В статью включать не буду: народ по комментариям поймет, что ему нужно.

Выставил аццкое вознаграждение. Кто-то ответит.
41. vova-1c 153 05.07.19 14:13 Сейчас в теме
может ли повлиять версия платформы ?
+
45. vova-1c 153 05.07.19 23:51 Сейчас в теме
46. acanta 06.07.19 00:36 Сейчас в теме
Спасибо за публикацию, очень хорошо обьясняет.
Поскольку хранение истории настраивается, разница между версиями храниться не может, только вся версия на момент записи.
И каким бы не был это механизм, реквизита в справочнике/документе он не заменяет.
+
56. user703966_martynyuknatalia 17.07.19 04:21 Сейчас в теме
а много места тратиться на запись инфи?
+
57. vasilev2015 2696 17.07.19 08:19 Сейчас в теме
(56) Здравствуйте !

История размещается в тех же таблицах, что и основные данные.
Две версии объекта занимают в два раза больше места, чем одна.
Место зависит от количества версий.
Если объект много-много раз изменяется, нужно ли хранить его историю ?
+
58. dtripleh 04.10.19 13:22 Сейчас в теме
Настроена история данных для двух справочников. Но почему-то на форме одного справочника в меню Ещё есть команда "История изменений", а на второй форме нет такой команды. С чем может быть связано?
+
74. lilac_carp 01.04.20 14:01 Сейчас в теме
60. dtripleh 04.10.19 13:34 Сейчас в теме
Все, я понял, почему команда "История изменений" не видна на форме.
Необходимо запустить базу в режиме обновления, как вариант с ключом "/C ЗапуститьОбновлениеИнформационнойБазы"
+
61. vasilev2015 2696 04.10.19 16:28 Сейчас в теме
(60) Вы попробовали и у Вас получилось, или это предположение ?
+
62. dtripleh 07.10.19 11:42 Сейчас в теме
(61) Я настроил историю для одного справочника, перезашел в базу и смотрю, что команда не появилась. Запустил базу в режиме обновления с ключом, и только после этого команда появилась.
Предлагаю всем попробовать, у кого была такая проблема (странно, что об этом в описании не написано).
+
63. vasilev2015 2696 18.10.19 08:33 Сейчас в теме
(62) Здравствуйте, коллега !

попробовал, у меня НЕ получилось.

На картинке нет пункта "История" в меню "Действия" документа Расходная накладная.

платформа 1С:Предприятие 8.3 (8.3.12.1714), серверная.

Моей сообразительности хватает только на то, чтобы предложить вознаграждение.

:)))
Прикрепленные файлы:
+
64. dtripleh 06.11.19 08:28 Сейчас в теме
(63) какая конфигурация?
+
65. vasilev2015 2696 06.11.19 08:30 Сейчас в теме
(64) Здравствуйте !

конфигурация, которая приложена к статье.

если есть желание разобраться, но лень скачать - могу прислать.

вознаграждение в силе.
+
72. vasilev2015 2696 28.01.20 21:34 Сейчас в теме +5 $m
(65) решение не было найдено за достаточно долгое время, поэтому отзываю вознаграждение.
+
73. lilac_carp 01.04.20 14:00 Сейчас в теме
(63) для документа Расходная накладная проверьте для используемых ролей настроенные права
Прикрепленные файлы:
+
66. frkbvfnjh 787 06.11.19 12:01 Сейчас в теме
А что за форма sysForm:DataHistoryVersions, это вообще законно? Что за названия форм такое, в документации где нибудь описано такое, или может есть русскоязычные аналоги?
+
67. vasilev2015 2696 06.11.19 12:15 Сейчас в теме
(66) Здравствуйте !

название формы спрятано в одном из служебных файлов.

смотреть туда - законно, изменять - нет.
+
68. frkbvfnjh 787 06.11.19 12:51 Сейчас в теме
(67) Как и кто вообще до этого додумался, есть предыстория? Может тут статейка есть где-то, которую я не видел, по этому поводу? Где или как можно получить полный перечень sysForm?
+
69. vasilev2015 2696 06.11.19 12:56 Сейчас в теме
(68) Ищите на ИС имя файла mngbase_root. Есть статья "Недокументированное использование..."
+
70. frkbvfnjh 787 06.11.19 13:17 Сейчас в теме
(69) Спасибо, ваще улёт! Но там ничего не сказано про непосредственное открытие этих форм через префикс sysForm:. Там в комментариях был прямой вопрос
А как программно открыть такую форму?
и ему ответили, что без выноса во внешнюю обработку - никак, а тут оказывается, что можно. Хочется понять как догадались использовать префикс sysForm:
+
71. Rans 6 26.12.19 17:20 Сейчас в теме
Подскажите плз как открыть sysForm:DataHistoryVersions с отбором не по конкретным данным, а по метаданным? Возникает ошибка преобразования XDTO.
И есть ли альтернативный вариант просмотра истории данных, не через системную форму?
COMPER; +1
75. rise 16.04.21 08:57 Сейчас в теме
(71) Можно открыть с интерактивной установкой отбора, как из "Все функции":
&AtClient
Procedure OpenDataHistory(Command)
    ConnectExternalDataProcessorOnServer();
    OpenForm("ExternalDataProcessor.StandardDataChangeHistory.Form");
EndProcedure

&AtServer
Procedure ConnectExternalDataProcessorOnServer()
    ExternalDataProcessors.Connect("v8res://mngbase/StandardDataChangeHistory.epf", "StandardDataChangeHistory", False);
EndProcedure
Показать


А можете сохранить себе эту обработку и допилить как вам нужно.
Rans; +1
76. vasilev2015 2696 16.04.21 09:52 Сейчас в теме
Внимание! Тема сдана в архив