Версии измененных справочников и документов.

17.09.26

Разработка - Механизмы типовых конфигураций

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

Файлы

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

Наименование Скачано Купить файл
Версии измененных справочников и документов. :
.epf 17,69Kb
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Всем доброго дня!

 

Предисловие.


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

Речь шла об олдскульной "1С:Комплексной автоматизации 1.1", свидетельнице первых крестовых походов, в которой можно увидеть информацию о версиях объекта через встроенную типовую обработку, но только отдельно по каждому документу.

С учетом того, что в каждом месяце надо проверять на изменения более 1.500+ документов, ручное выполнение такой задачи, кроме стресса и депрессии, у пользователя больше ничего не вызывает. 

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

Всё хорошо, но с одним существенным минусом - очень старой БСП: получение конкретной версии можно сделать только через создание временного файла на диске и последующего чтения XML - это сильно небыстро на объемах, что позволяет физически ощутить бренное течение времени...

В свежих БСП уже используется запись/чтение версий XML FastInfoSet, позволяющая быстро получать данные двоичных данных через метод "УстановитьДвоичныеДанные" (из ресурса "ВерсияОбъекта" с типом хранилище значений РС "ВерсииОбъектов"):

...

 

Реализация.

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

Плюс добавить возможность выбрать справочники, а также вкрутить настройки отборов СКД, чтобы дать пользователю настоящую гибкость для отборов объектов, убрав фиксированные параметры.

Получилось следующее:

 

1. Вид объекта - документы/справочники.

При конкретном выборе, заполняется список выбора "Тип объекта", но именно теми типами объектов, для которых в принципе возможно подключение версионирования:

(их можно посмотреть в "Настройки хранения истории изменений"):

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

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

4. Реквизиты объекта - это реквизиты основной таблицы для выбранного объекта (заполняем по метаданным объекта)

 Нам нужно обязательно выбрать конкретные реквизиты - именно по ним мы будем сравнивать изменения версий объекта, а также эти реквизиты при выполнении команды "Отобрать объекты" будут динамически выведены в итоговую таблицу (3):

Для выбора нажимаем на "Реквизиты объекта" (1):

В открывшемся списке выбираем нужные нам реквизиты (2) и еще раз нажимаем "Реквизиты объекта" для закрытия списка.

Пункты 1, 2 и 4 обязательны к заполнению.

Далее, нужно установить ограничение для выбираемых данных. Если это не сделать, например, для документа, то будут обработаны все документы выбранного типа, общее количество которых может измеряться сотнями тысяч. 

Для этого нажимаем команду "Установить отбор" - откроются настройки отборов СКД (реализован через КомпоновщикНастроек):

 со всеми доступными полями.

Например, добавим отбор по дате документа:

Далее можно закрыть настройки отборов, нажав команду "Скрыть отбор" или сразу выполнить команду "Отобрать объекты" (1), при этом настройки отборов автоматически закроются:

 В итоговой таблице выводятся 4 постоянных колонки:

- "Объект" - ссылка на документ/справочник

- "Номер версии" - порядковый номер версии

- "Дата версии" и "Автор версии" - дата/время создания и автор

Данные заполняются только по тем объектам, у которых есть изменения в выбранных реквизитах (п.4).

 2) Всего объектов - общее количество обработанных/попавших в выборку объектов (инфо)

 3) Изменено объектов - количество объектов, у которых были изменения в выбранных реквизитах объекта (инфо). В общем случае, количество "Всего объектов" и "Изменено объектов" будет разным.

 4) Время выполнения - время выполнения операции отбора объектов в секундах (инфо)

 5) Толстым шрифтом и бежевым цветом в таблице выделены основные/начальные версии объекта

 6) Розовым цветом подсвечены измененные версии объекта, по сравнению с предыдущей.

 7) Белым цветом обозначены не измененные версии, по сравнению с предыдущей.

 8) Динамически добавляемые колонки - соответствуют выбранным реквизитам объекта (чем больше выберем, тем больше колонок будет добавлено на форму)

 Чтобы оставить на форме только измененные версии, нужно нажать команду "Показать измененные":

Для сравнения версий, нужно выделить строки версий по одному объекту:

После этого будет выведен отчет о сравнении:

Если в списке версий будет выделена только одна строка, то откроется конкретная версия объекта:

*для работы подсистемы "ВерсионированиеОбъектов" должна быть включена константа "Использовать версионирование объектов"

 

Послесловие.

Основное, от чего начинает дёргаться глаз - не хватает данных изменений табличных частей.

Честно сказать, так и не получилось сложить в голове, как вывести информацию сразу и по реквизитам основной таблицы, и по реквизитам табличных частей, которых может быть много + они сильно разнородны так, чтобы это было хоть как-то было читаемо на объемах. Возможно у кого-то есть идеи.

Код весь открыт, может у кого-то возникнет желание что-то своё докинуть, использовав обработку как заготовку.

Проверялась на:

1. Платформа - 8.3.27.1936

2. Версия БСП - 3.1.5.385, 3.1.9.199, 3.1.11.448, 3.1.11.466

3. Конфигурации

    - 1С:ERP 2 (2.5.8.179)

    - 1С:УНФ 3.0 (3.0.6.100)

    - 1С:ЗУП КОРП 3.1 (3.1.34.295)

    - 1С:БП 3.0 (3.0.194.23)

 

С уважением, Тимур.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.26.110, 2.5.8.179
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.194.23
  • Управление нашей фирмой, редакция 3.0, релизы 3.0.6.100
  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.34.295

Вступайте в нашу телеграмм-группу Инфостарт

Обработка Версии Объектов Изменения

См. также

Механизмы типовых конфигураций Программист 1С:Предприятие 8 Абонемент ($m)

Использование переопределяемых процедур в 1С на управляемых формах.

1 стартмани

01.09.2026    3470    waider    3    

15

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С 8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данное расширение — это механизм, сделанный при помощи двух модулей из БСП (3.1.11.415), который позволяет динамически добавлять команды (кнопки и не только при желании) на формы управляемого приложения без изменения конфигурации. На примере данного механизма удобно рассмотреть некоторые возможности для расширения функционала объектов, которые подключены к механизму библиотеки стандартных подсистем.

1 стартмани

20.03.2026    4604    InFlach    0    

5

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Интервальные регистры в 1С:ЗУП 3.1 заменяют тяжелые срезы последних, ускоряя отчеты по кадровым данным через интервалы ДатаНачала–ДатаОкончания. Разбираем отличия, примеры кода, плюсы и способы синхронизации.

12.03.2026    6321    AlexeyPROSTO_1C    5    

21

Механизмы типовых конфигураций Программист Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Как в ЗУП работает механизм расстановки времени в регистрах сведений с помощью подписки на события?Рассматривается логика сдвигов для разных типов документов (прием, увольнение, отпуск) и дается инструкция по подключению нового регистра к этому механизму.

03.03.2026    4049    YA_1100893639    1    

9
Для отправки сообщения требуется регистрация/авторизация