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

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

 

 

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

См. также

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

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

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

11.03.2024    4509    dsdred    53    

71

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

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

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

24.01.2024    5287    YA_418728146    25    

63

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

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

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

11.12.2023    6408    dsdred    36    

111

1С-ная магия

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

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

06.10.2023    18471    SeiOkami    46    

118

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

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

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

14.09.2023    12087    human_new    27    

74

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

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

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

28.08.2023    8817    YA_418728146    6    

141

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

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

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

20.08.2023    6279    sebekerga    54    

94

Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)

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

Рассмотрим новую возможность 8.3.24 и как её можно эффективно использовать

27.06.2023    15983    SeiOkami    31    

103
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. o.nikolaev 211 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 247 22.11.17 18:44 Сейчас в теме
(1) что в файле для скачивания ?
Внутри платформы уже есть визуальные инструменты для просмотра, сравнения и восстановления версий.
21. vasilev2015 2686 23.11.17 08:58 Сейчас в теме
(18) файл - архив конфигурации с обработками, написанными специально для этой статьи. С примерами использования новых программных методов языка 1С.
Встроенных инструментов платформы не нашел. Если у Вас есть - подскажите, где.
22. TuneSoft 247 23.11.17 10:27 Сейчас в теме
(21) в форме элемента справочника нажать "Ещё - История изменений".
Откроется форма, в которой есть отборы, переход на версию, сравнение и тп
К сожалению стандартный язык запросов 1С не позволяет получать данные по изменениям, можно использовать только специальную функцию для выборки изменений.
Прикрепленные файлы:
acanta; Ziggurat; sansys; Tolpinski; +4 Ответить
23. vasilev2015 2686 23.11.17 10:58 Сейчас в теме
(22) Увидел, спасибо )). Появляется только для тех объектов, у которых история включена.
35. Jokemas 192 05.02.19 12:17 Сейчас в теме
(22) Вот прямо зря. автор маркетинговый ход использует с повышением цены, чтобы быстрее накачали, а вы совет бесплатно даете. Рыночные отношения должны быть рыночными. Раз уж автор проявляет излишний интерес к sm, значит и сам должен за информацию платить =))). Коммерсанты блин. =)
vlasin; 1c_ssnik; memb3r; товарищ Ын; +4 Ответить
2. vasilev2015 2686 14.11.17 17:15 Сейчас в теме
Спасибо. Но у меня остается слабая надежда, что программирую я лучше, чем продаю. С другой стороны, старт мани у меня не ассоциируются с деньгами. Только для развлечения.
Evg-Lylyk; Fox-trot; +2 Ответить
3. vshish 150 15.11.17 05:19 Сейчас в теме
Да тоже скачивал эту платформу для посмотреть историю.
Но до подробных игр не дошло.
конечно. очень интересо в каком виде хранятся данные, и можно ли выбрать запросом например какие изменения были сделаны определенным пользователем. или кто изменял опе\ределенные реквизиты.
Минус. это надо устанавливать режим совместимости 8.3.11
Для старых конфигураций может быть неприменим.
4. vasilev2015 2686 15.11.17 09:06 Сейчас в теме
Здравствуйте !

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


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

Почему? Ведь большинство изменений происходит именно в ТЧ. И данный механизм поддерживает отслеживание изменений в ТЧ.
6. vasilev2015 2686 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 2686 16.11.17 08:55 Сейчас в теме
(9) Обработку написал сам, для этой статьи. Находится в приложенном файле. Если нужна помощь - обращайтесь.
19. TuneSoft 247 22.11.17 18:47 Сейчас в теме
(9)обработки встроены в платформу 8.3.11
36. Светлый ум 406 26.06.19 05:07 Сейчас в теме
(9) Обработка интересную вещь содержит - настройки конфигуратора, но в общем чисто Интерфейсная
Чтобы добавить объект в версионироване БСП, должно выполниться три условия:

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

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

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

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

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

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


Кто нибудь знает где искать эти настройки в режиме Предприятия?
26. vasilev2015 2686 27.12.17 16:11 Сейчас в теме
Здравствуйте ! я тоже долго искал. Сначала написал свой интерфейс, потом подсказали меню "ЕЩЕ", смотрите коммент 22.
27. bad_wag 48 28.12.17 15:17 Сейчас в теме
(26) В комментарии 22 написано как посмотреть история изменений, а мне не понятно как ВКЛЮЧИТЬ или выключить эту историю для объектов в режиме предприятия
28. vasilev2015 2686 28.12.17 21:18 Сейчас в теме
(27) Здравствуйте ! Включить или выключить историю изменений можно с помощью программного кода. К статье приложена конфигурация с утилитой, которая позволяет это сделать.
29. bad_wag 48 29.12.17 10:11 Сейчас в теме
(28) Да как это сделать с помощью программного кода это понятно и в документации очень подробно все расписано. Но как я писал (25) там так же упоминается возможность включения истории для объектов в режиме предприятия, но ГДЕ и КАК это делается почему-то ни слова не написано...
spenser123; +1 Ответить
30. vasilev2015 2686 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 2686 05.07.19 13:15 Сейчас в теме
(37) Здравствуйте !

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

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

Возможно, Вас не удовлетворит мой ответ: в конфигураторе Вы видите то же, что и я. Поэтому я добавляю вознаграждение, чтобы кто-то мог предложить правильное решение и получить СМ. Если решения не будет, через один месяц вознаграждение сниму.
54. clition 16.07.19 06:03 Сейчас в теме
(52) Если у вас нет ответа на этот вопрос, то об этом, наверное, следует сказать в статье, потому как, я, например, качал эту обработку только для того, чтобы разобраться с этой проблемой, но смысла в этом не оказалось.
55. vasilev2015 2686 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 2686 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 2686 04.10.19 16:28 Сейчас в теме
(60) Вы попробовали и у Вас получилось, или это предположение ?
62. dtripleh 07.10.19 11:42 Сейчас в теме
(61) Я настроил историю для одного справочника, перезашел в базу и смотрю, что команда не появилась. Запустил базу в режиме обновления с ключом, и только после этого команда появилась.
Предлагаю всем попробовать, у кого была такая проблема (странно, что об этом в описании не написано).
63. vasilev2015 2686 18.10.19 08:33 Сейчас в теме
(62) Здравствуйте, коллега !

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

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

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

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

:)))
Прикрепленные файлы:
64. dtripleh 06.11.19 08:28 Сейчас в теме
65. vasilev2015 2686 06.11.19 08:30 Сейчас в теме
(64) Здравствуйте !

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

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

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

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

смотреть туда - законно, изменять - нет.
68. frkbvfnjh 785 06.11.19 12:51 Сейчас в теме
(67) Как и кто вообще до этого додумался, есть предыстория? Может тут статейка есть где-то, которую я не видел, по этому поводу? Где или как можно получить полный перечень sysForm?
69. vasilev2015 2686 06.11.19 12:56 Сейчас в теме
(68) Ищите на ИС имя файла mngbase_root. Есть статья "Недокументированное использование..."
70. frkbvfnjh 785 06.11.19 13:17 Сейчас в теме
(69) Спасибо, ваще улёт! Но там ничего не сказано про непосредственное открытие этих форм через префикс sysForm:. Там в комментариях был прямой вопрос
А как программно открыть такую форму?
и ему ответили, что без выноса во внешнюю обработку - никак, а тут оказывается, что можно. Хочется понять как догадались использовать префикс sysForm:
71. Rans 6 26.12.19 17:20 Сейчас в теме
Подскажите плз как открыть sysForm:DataHistoryVersions с отбором не по конкретным данным, а по метаданным? Возникает ошибка преобразования XDTO.
И есть ли альтернативный вариант просмотра истории данных, не через системную форму?
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
Показать


А можете сохранить себе эту обработку и допилить как вам нужно.
76. vasilev2015 2686 16.04.21 09:52 Сейчас в теме
Оставьте свое сообщение