Настройка состава "Истории данных"

25.08.24

Разработка - Инструментарий разработчика

Обработка позволяет настраивать состав платформенной "Истории данных".

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?]
Настройка состава "Истории данных" [0.9]
.epf 29,62Kb
235
235 Скачать бесплатно
Настройка состава "Истории данных" [0.9.1]
.epf 31,56Kb
69
69 Скачать бесплатно
Настройка состава "Истории данных" [0.9.2]
.epf 31,63Kb
414
414 Скачать бесплатно
Настройка состава "Истории данных" [2024.05.07]
.epf 32,03Kb
74
74 Скачать бесплатно
Настройка состава "Истории данных" [2024.08.25]
.epf 43,99Kb
120
120 Скачать бесплатно

Первый раз История данных упоминалась на зазеркалье в 2017 году -> https://wonderland.v8.1c.ru/blog/istoriya-dannykh/

Она появилась в конфигурации 8.3.11.2867 и менялась в последний раз в 8.3.15.

Историю данных можно настраивать как в конфигураторе, так и программно, но инструмента для программной настройки мне не попалось.

И тут фирма 1С пишет новость на зазеркалье Настройки истории изменений данных, где обещает подвести инструмент по точечной настройке в 8.3.24… Картинка ниже.

 

Меня сначала эта новость взбесила, так как мне этот инструмент оказался нужен «вчера», а потом я подумал «А что мешает мне его нарисовать самому и не ждать фирму 1С?»

Поэтому представляю вам инструмент «из Будущего». Выкладываю его безвозмездно, пользуйтесь. Если найдете ошибки, пишите в комментариях, я постараюсь поправить оперативно.

 

[Upd 19.06.2023] 16.06.2023 инструмент от 1С вышел. Статья по сравнению с обработкой из статьи. 

 

Особенности использованного функционала «Истории данных»:

В конфигураторе история включается по объектам:

  • общие реквизиты; (включено автоматически и программно менять нельзя)
  • константы;
  • планы обмена;
  • справочники;
  • документы;
  • планы видов характеристик;
  • планы счетов;
  • планы видов расчета;
  • бизнес-процессы;
  • задачи;
  • регистры сведений (Измерения включены по умолчанию и программно выключать их нельзя).

 

Включается в свойстве «история данных»:

 

Также в конфигураторе можно включать и выключать историю данных по реквизитам, табличных частей, стандартным реквизитам и прочим полям.

 

 

Такая настройка задается при программировании в конфигураторе.

Но подобно расширению такие настройки можно включать и выключать программно.

Программная настройка имеет приоритет над конфигурационной.

Функционал в примерах:

Примечание по картинкам:

 История данных включена в конфигураторе

 История данных выключена / включена программно

Примечание по кнопкам:

Кнопки в шапке:

«Записать» - пробегает по всем метаданным и записывает изменения только по тем пунктам, в которых были изменения.

«Настройки по умолчанию» - сбрасываем все программные настройки и возвращаемся к настройкам из конфигуратора.

«Прочитать настройки заново» - сбрасывает все то, что вы включили не записав. По сути тоже самое происходит при запуске обработки.

Кнопки в дереве метаданных:

 

 

               «Настройки по умолчанию» - в выделенной строке сбрасываем все программные настройки и возвращаемся к настройкам из конфигуратора.

               «Записать изменения» - записывает изменения только по выделенной строке если были изменения.

 

 
 Пример 1: Выключение настроек точечное.

 

 
 Пример 2: Выключение настроек точечное и полное у объекта, включенного в конфигураторе.

 

 
 Пример 3: Нехватка прав и что делать.

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

 
 Пример 4: Сброс не сохраненных изменений (кнопка «Прочитать настройки заново»).

 

 
 Пример 5: Массовое включение истории данных (кнопка «Записать»).

 

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

 

 

Тут показана особенность моей реализации. Если все галочки установлены так, как в конфигураторе, тогда при записи программная настройка удаляется, так как не имеет смысла.

 

 

Обновления:

 
 UPD 2023/04/13 0.9.1

 +Проверка на минимальную версию

Если режим совместимости или платформы меньше версии 8.3.11.2867, тогда открыв обработку вы увидите сообщение:

+Проверка режима совместимости и версии платформы

При версии 8.3.11.2867 доступны:

  • Справочники
  • Документы
  • РегистрыСведений
  • БизнесПроцессы
  • Задачи

При версии 8.3.12 добавляются:

  • ПланыВидовХарактеристик
  • ПланыСчетов

При версии 8.3.13 добавляются:

  • Константы
  • ПланыОбмена
  • ПланыВидовРасчета

 
 UPD 2023/06/19 Ночной релиз 0.9.2

 +В регистры сведений вернул измерения

Ранее их убирал, так как они по умолчанию включены и на ИТС написано что их нельзя отключить. У меня на какой-то версии выпадала ошибка.

Проверил на 8.3.23 и 8.3.24 все работает:

Прошу проверить и отписаться в комментариях работает новый функционал или есть ошибки.

 
UPD 2024/05/08 релиз V2024.05.07
  • Добавил закомментированную функцию СведенияОВнешнейОбработке()
  • Были проведены санитарные работы. Поправлен нейминг, исправлены мелкие баги и прочее.
 
UPD 2024/07/22 Ночной релиз V2024.07.22 -> V2024.08.25

 

  •  Изменена функция для подключения БСП: "Дополнительные обработки и отчеты", обработка теперь работает нормально с БСП и без new
  •  Переименована команда "Прочитать настройки заново" в "Перечитать" new
  •  Добавлена строка поиска по дереву метаданных new
  •  Добавлена строка поиска по дереву полей и табличных частей new
  •  Добавлен расширенный поиск по дереву метаданных new
  •  Добавлен расширенный поиск дереву полей и табличных частей new
  •  Добавлена полная очистка истории данных на выбранную дату new
  •  Добавлена чистка истории данных по выбранному объекту метаданных new

Настройка состава истории данных V2024.08.25

  • Исправлены орфографические ошибки
  • Убран Экспорт из процедур и функций формы

 

На этом все, всем удачи в работе и новых свершений!

П.С. Все предложения и пожелания пишите в комментариях.

 

PAPI-tools на GitHub

Истории изменений данных версионирование обработка версии зазеркалье 8.3.24 8.3.15 8.3.11 PAPI-tools GitHub

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    152600    836    398    

846

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    4370    29    14    

39

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    14262    12    27    

36

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    20804    59    43    

106

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    14156    36    7    

69

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    9428    35    10    

57

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3240 руб.

14.01.2013    185815    1127    0    

899

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16815    6    30    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Brawler 458 14.02.23 18:22 Сейчас в теме
Когда руки не для скуки)) даже с точки зрения прокачки скилов полезное дело!
METAL; RealSurfer; fatman78; zqzq; dsdred; +5 Ответить
2. Caliban 137 07.03.23 09:15 Сейчас в теме
Недопустимое значение параметра (параметр номер '1') (В истории данных нельзя использовать объект Константа.АвтоматическиНастраиватьРазрешенияВПрофиляхБезопасности)
{ВнешняяОбработка.НастройкаСоставаИсторииДанных.Форма.Форма.Форма(62)}: НастройкиИД = ИсторияДанных.ПолучитьНастройки(ОбъектМетаданных);
{ВнешняяОбработка.НастройкаСоставаИсторииДанных.Форма.Форма.Форма(10)}: ЗагрузитьМетаданныеВДеревоМетаданных();

Ругается на все константы, планы обмена и планы видов расчета
3. dsdred 3535 07.03.23 22:54 Сейчас в теме
(2)подскажите версию платформы, режим совместимости и конфигурацию
4. Caliban 137 16.03.23 11:59 Сейчас в теме
Платформа 8.3.18.1289, совместимость 8.3.12, конфигурация - 1С:Комплексная автоматизация 2 (2.4.10.75)
5. dsdred 3535 16.03.23 12:03 Сейчас в теме
(4)ок. Я понял вас. По приезду с отпуска сделаю чтобы при младших режимах совместимости скрывались объекты по которым нельзя включить ИС.
Если горит могу подсказать где закомментить объекты на которые ругается.
6. Caliban 137 17.03.23 06:49 Сейчас в теме
(5) Да спасибо, это то я и сам смог ) Просто фидбек кинул
9. dsdred 3535 13.04.23 08:17 Сейчас в теме
(6)Доработал по вашей ошибке. Выложил версию 0.9.1, если будет возможность протестируйте.
Заранее спасибо.
10. Caliban 137 13.04.23 09:09 Сейчас в теме
(9) Теперь все нормально
7. tormozit 7221 11.04.23 18:32 Сейчас в теме
В 8.3.24 (бета летом выйдет) появится аналог в платформе https://wonderland.v8.1c.ru/blog/nastroyki-istorii-izmeneniy-dannykh/
8. dsdred 3535 11.04.23 20:54 Сейчас в теме
(7) Знаю. Я когда прочитал упомянутую статью на зазеркалье психанул и нарисовал обработку сам, так как мне она нужна была раньше чем выйдет платформа 8.3.24.
Я на сколько понимаю ее включат в обработки конфигуратора и скорее всего ее придётся сохранять во внешнюю через хитрость описанную в статье https://infostart.ru/1c/articles/369487/
11. zurg 25.04.23 10:48 Сейчас в теме
Отличная обработка, спасибо!
12. dsdred 3535 26.04.23 07:17 Сейчас в теме
13. zurg 27.04.23 09:38 Сейчас в теме
dsdred Все таки что-то не работает. Включаю историю данных по спр. номенклатура и реквизиту группа, изменения регистрируются, но через некоторое время настройки слетают(
14. dsdred 3535 28.04.23 20:08 Сейчас в теме
15. zurg 02.05.23 10:05 Сейчас в теме
(14) Пока действуют настройки, версии создаются и остаются после того как слетает настройка. Может в платформе дело (8.3.21.1622)?
16. dsdred 3535 02.05.23 11:35 Сейчас в теме
(15)по большему счету настройки хранятся в таблице DataHistorySettings, соответственно надо понять из-за чего у вас в ней пропадают данные. Это может быть например восстановление бекапа, может кто-то чистит и т.д. Я не думаю что в платформе дело.
17. SvetaBr 15.07.24 17:19 Сейчас в теме
Подскажите пожалуйста в чем может быть причина

Есть администратор, он видит стандартную-штатную историю изменений
и видит добавленную с помощью этой чудесной обработки. см рисунок 2

Есть пользователь , у которого включены Роли

ЧтениеВерсийОбъектов
ЧтениеИнформацииОВерсияхОбъектов

При этом пользователь видит штатную историю изменений объектов , но не видит добавленную с помощью вашей обработки. см рис1

Что необходимо проделать что бы обычный пользователь мог видеть форму, которая работает от этой обработки.
Иными словами , что бы у него возникло два пункта меню а не одно.
Прикрепленные файлы:
18. dsdred 3535 15.07.24 22:11 Сейчас в теме
(17) Добрый вечер. Спасибо за вопрос.
Дело в том что есть два механизма Истории данных.
1 БСП Версионирование объектов (роли которые вы дали, как раз от этой подсистемы)
2 Платформенная история данных.
Об этом я писал в статье https://infostart.ru/1c/articles/1803149/

Подлянки от фирмы 1с:
1) 1С команды вызывающие форму с версиями для этих подсистем назвали одинаково.
Поэтому непонятно что есть что.
2) Фирма 1С до сих пор не добавила ролей в типовые конфигурации по работе с платформенным механизмом. Конкретно для просмотра нужна роль -> «Просмотр истории данных» и «Чтение истории данных»

Вариантов решения проблемы несколько.
1 Добавить роль с правами на документы (это можно сделать в основной конфигурации или в расширении)
2 Создать подключаемую команду. Посмотрите в формах, там при создании на сервере вызывается:
// СтандартныеПодсистемы.ВерсионированиеОбъектов
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
Можно в расширении добавить модуль и добавить команду программно.
Либо вариант с подключаемой командой через БСП дополнительные обработки и отчеты
Ну и другие варианты с небольшой доработкой.
Код примерно в таком стиле, но я не пробовал:
&НаКлиенте
Процедура Команда_ПоказатьИсториюДанных(Команда)
ОткрытьФорму("ВнешняяОбработка." + ПодключитьВнешнююОбработку_НаСервереБезКонтекста() + ".Форма", , ЭтотОбъект, Новый УникальныйИдентификатор);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПодключитьВнешнююОбработку_НаСервереБезКонтекста()
Возврат ВнешниеОбработки.Подключить("v8res://mngbase/StandardDataChangeHistory.epf", "_StandardDataChangeHistory", Ложь);
КонецФункции


3 Использовать типовую форму с отбором, не очень удобно, но жить можно.

В любом случае нужно написать в 1С по данной проблеме и ждать когда они обновят типовые конфигурации. Чем больше людей напишут тем быстрее они добавят роли.
Я кстати завтра напишу по этой теме им, забыл про данную проблему.
19. SvetaBr 17.07.24 16:31 Сейчас в теме
Спасибо!
получилось , теперь пользователи видят Историю Изменения данных.

Сделала роль ПросмотрИсторииДанных
и включила для каждого нужного объекта только одну галочку √ просмотр истории данных
Роль добавила в группу группу раздала нужным пользователям, у всех появилось второе меню.

Стоит ли выключить штатную "Версионирование объектов" ?
Сейчас получается некоторая избыточность.
20. dsdred 3535 17.07.24 21:21 Сейчас в теме
(19) Рад, что все получилось.

Стоит ли выключить штатную "Версионирование объектов" ?
Сейчас получается некоторая избыточность.


Конечно стоит. БСП Версионирование после включения Истории данных становится не нужной.
21. SvetaBr 29.07.24 22:49 Сейчас в теме
Попросили решить задачу

Вывести все объекты, которые изменил , удалил , добавил конкретный пользователь за выбранный диапазон времени.

Меня попросили включить ВСЕ объекты под Историю Данных.
Получается необходимо перебирать ВСЕ объекты и искать пользователя, который менял какой либо объект,
выводить имя объекта, а так же дату и время изменений.

Пока не понятно как искать в диапазоне дат , как искать в регистрах , константах

ПользователеьИзменившийОбъект = Справочники.Пользователи.НайтиПоНаименованию("Иванов Иван Иванович");  
ДатаНачала = ДАТА(2024,7,3);

/// тут цикл по всем объектам - который включены в ИД
стрМояТаблица = "тут имя очередной таблицы - документ справочник регистр константа"

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|   тОбъект.*
|ИЗ "+стрМояТаблица+" КАК тОбъект";			
РезультатЗапроса = Запрос.Выполнить(); 
Выборка = РезультатЗапроса.Выбрать();
УстановитьПривилегированныйРежим(Истина);
Пока Выборка.Следующий() Цикл
	СсылкаНаОбъект = Выборка.Ссылка; 
	Отбор = Новый Структура;
	Отбор.Вставить("Данные", СсылкаНаОбъект);
	СписокПолей = Новый Массив;
	Версии = ИсторияДанных.ВыбратьВерсии(Отбор);
	Для Каждого Данные  Из Версии Цикл	
		Если Данные.Пользователь = ПользователеьИзменившийОбъект.ИдентификаторПользователяИБ Тогда
			Сообщить( Данные.ПредставлениеДанных +" "+Данные.Транзакция);
		КонецЕсли;	
	КонецЦикла;	
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
...

Показать
22. SvetaBr 29.07.24 23:13 Сейчас в теме
чуть чуть поправила
Процедура Команда1НаСервере()

	ПользователеьКоторыйИзменилОбъект = Справочники.Пользователи.НайтиПоНаименованию("Администратор");  

	ДатаBEG = ДАТА(2024,7,17);
	ДатаEND = ДАТА(2024,7,29);

	УстановитьПривилегированныйРежим(Истина);
	Для Каждого ОбъектМетаданных   Из Метаданные.Справочники Цикл	
		ИскатьПользователя( ПользователеьКоторыйИзменилОбъект , "Справочник", ОбъектМетаданных.Имя , ДатаBEG , ДатаEND )
	КонецЦикла;
	Для Каждого ОбъектМетаданных   Из Метаданные.Документы Цикл	
		ИскатьПользователя( ПользователеьКоторыйИзменилОбъект  , "Документ" , ОбъектМетаданных.Имя , ДатаBEG , ДатаEND)
	КонецЦикла;
	УстановитьПривилегированныйРежим(Ложь);
	ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Ложь);
КонецПроцедуры


&НаСервере
Процедура ИскатьПользователя( ПользователеьКоторыйИзменилОбъект , ВидОбъекта, стрОббъект , ДатаBEG, ДатаEND)
	Запрос = Новый Запрос;

	Если ВидОбъекта = "Документ" ТОГДА
		Запрос.Текст = "ВЫБРАТЬ
		|   тОбъект.*
		|ИЗ "+ВидОбъекта+"."+стрОббъект+" КАК тОбъект ГДЕ тОбъект.ДАТА >= &ДатаBEG и тОбъект.ДАТА <= &ДатаEND";			
		Запрос.УстановитьПараметр("ДатаBEG",ДатаBEG);  		 
                Запрос.УстановитьПараметр("ДатаEND",ДатаEND); 
	Иначе
		Запрос.Текст = "ВЫБРАТЬ
		|   тОбъект.*
		|ИЗ "+ВидОбъекта+"."+стрОббъект+" КАК тОбъект";			
	КонецЕсли;	
	
	РезультатЗапроса = Запрос.Выполнить(); 
	Выборка = РезультатЗапроса.Выбрать();
	ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
	Пока Выборка.Следующий() Цикл
		СсылкаНаОбъект = Выборка.Ссылка; 
		Отбор = Новый Структура;
		Отбор.Вставить("Данные", СсылкаНаОбъект);
		СписокПолей = Новый Массив;
		Версии = ИсторияДанных.ВыбратьВерсии(Отбор);
		Для Каждого Данные  Из Версии Цикл	
			Если Данные.Пользователь = ПользователеьКоторыйИзменилОбъект.ИдентификаторПользователяИБ Тогда 
				Сообщить( Данные.ПредставлениеДанных +" "+Данные.Транзакция);
			КонецЕсли;	
		КонецЦикла;	
	КонецЦикла;
КонецПроцедуры

Показать
23. SvetaBr 29.07.24 23:15 Сейчас в теме
очень долго работает :(
24. dsdred 3535 30.07.24 08:09 Сейчас в теме
(23) У вас странная выборка. Если я все правильно понимаю вы выбираете все ссылки, а потом в разрезе ссылки ищите изменения...
Во первых вы не сможете выбрать удаленные таким образом
Во вторых это будет очень долго


Что можно сделать:
1 В отборе можно выбрать прямо метаданные.
Метаданные (Metadata) - значение типа ОбъектМетаданных: Справочник, ОбъектМетаданных: Документ, ОбъектМетаданных: РегистрСведений, ОбъектМетаданных: БизнесПроцесс, ОбъектМетаданных: Задача, ОбъектМетаданных: ПланСчетов, ОбъектМетаданных: ПланВидовХарактеристик, ОбъектМетаданных: ПланОбмена, ОбъектМетаданных: ПланВидовРасчета, ОбъектМетаданных: Константа.

2 В отборе можно выбирать Дату изменения (ДатаНачала и ДатаОкончания)
3 В отборе можно указать пользователя (Пользователь, ИмяПользователя, ПолноеИмяПользователя)
Пользователь (User) - значение типа УникальныйИдентификатор или массив таких объектов. Отбор версий по идентификатору пользователя, создавшего версию. Условия, созданные по значениям, переданным в массиве, объединяются по ИЛИ.
ИмяПользователя (UserName) - значение типа Строка или массив таких объектов. Отбор версий по имени пользователя, создавшего версию, проверка на вхождение. Имена должны соответствовать именам, возвращаемым методом глобального контекста ИмяПользователя (UserName). Условия, созданные по значениям, переданным в массиве, объединяются по ИЛИ.
ПолноеИмяПользователя (UserFullName) - значение типа Строка или массив таких объектов. Отбор версий по имени пользователя, создавшего версию, проверка на вхождение. Имена должны соответствовать именам, возвращаемым методом ПолноеИмяПользователя. Условия, созданные по значениям, переданным в массиве, объединяются по ИЛИ.


Пример отбора:
	ДатаНачала 		= ДАТА(2024,5,01);
    ДатаОкончания 	= ДАТА(2024,7,29);
	
	Отбор = Новый Структура; 
	Отбор.Вставить("Метаданные", 	Метаданные.Документы.ОтчетОРозничныхПродажах);
	
	Отбор.Вставить("ДатаНачала", 	ДатаНачала);
	Отбор.Вставить("ДатаОкончания",	ДатаОкончания);    
	
	// 1 Вариант по ИД пользователя
	ПользовательКоторыйИзменилОбъект = Справочники.Пользователи.НайтиПоНаименованию("Сидоренко Дмитрий Викторович"); 
	Отбор.Вставить("Пользователь", 	ПользовательКоторыйИзменилОбъект.ИдентификаторПользователяИБ); 
	
	// 2 Вариант по имени пользователя
	//Отбор.Вставить("ИмяПользователя", 	"СидоренкоДВ"); 
	
	Версии = ИсторияДанных.ВыбратьВерсии(Отбор); 
	

Показать


4 Можно разбить на потоки (использовать фоновые задания или БСП.ДлительныеОперации)
25. SvetaBr 30.07.24 18:00 Сейчас в теме
(24)

..

Большое спасибо!
так быстрее
26. SvetaBr 10.08.24 18:33 Сейчас в теме
Одна интересная задача из серии ПЕРЕПРОВЕСТИ измененные документы
Обычно бухгалтера перепроводят все документы в периоде - что бы выстроить правильную последовательность.
За основу беру Историю Данных
Сделать регламентное задание , запускать по ночам от имении технического пользователя

1) Есть открытый период в нем найти все измененные документы
поместить в массив для перепроведения

далее построить от каждого документа зависимые цепочки

т е допустим кто то изменил реализацию , значит надо найти
1 счет покупателю
2 поступление на расчетный счет

их тоже включить в массив для перепроведения

в конце запоминаем сохраняем дату и время, от которой будем искать изменений при следующем запуске

2) на другой день смотрим сохраненную дату и от нее в Истории данных ищем измененные документы
строим массив и зависимые цепочки и перепроводим


это избавит от ненужного перепроведения документов которые не менялись.
Скорость операции значительно вырастет.
27. dsdred 3535 10.08.24 22:35 Сейчас в теме
28. SvetaBr 29.08.24 17:27 Сейчас в теме
(27) Сделала , работает в разы быстрее чем полное перепроведение ВСЕХ документов за открытый период.

Правильно ли я понимаю , когда идет закрытие месяца , алгоритм 1С тупо перепроводит ВСЕ документы в открытом периоде ?

А ведь перепроводить нужно только цепочки измененных документов.
29. dsdred 3535 30.08.24 07:40 Сейчас в теме
(28) Закрытие происходит по разному в зависимости от настроек.
Может быть перепроведение, а может быть обработка документов за даты где что-то менялось в разрезе операций.

Приложил картинку на которой перечень регистров отвечающих за механизм различных заданий. Там и закрытие месяца есть в том числе.
Прикрепленные файлы:
Оставьте свое сообщение