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

23.01.19

База данных - Инструменты администратора БД

Как откатить версии множества документов (справочников, планов видов характеристик) назад на одну? Все просто. Бывает иногда необходимость вернуть все как было. А если документов много...? Накосячить могут все. Но если у вас включено версионирование, не торопитесь поднимать бэкап. Обработка поможет Вам вернуться к предыдущей версии большого количества документов.

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

Наименование Файл Версия Размер
Откат версий документов и справочников:
.epf 11,02Kb
164
.epf 11,02Kb 164 Скачать
  1. выбираем тип объекта (справочник, документ, план видов характеристик)
  2. Выбираем вид документа
  3. Указываем период в котором были созданы кривые версии.
  4. Начало периода можно уточнить до секунды. Например: документы за сегодня (начиная с 11:00)
  5. Указать автора откатываемых версий
  6. Можно дополнительно отобрать версии по их комментарию (не путать с комментарием документа)

Можно откатывать.

  1. для начала нажмем Показать. Обработка отобразит список документов и номера текущих версий.
  2. В список попадают только последние версии. Если кто-то другой успел поправить документ и появилась новая версия, такой документ в список не попадет. Если и их надо обработать, то ставим флажок Исправленные
  3. допустим надо откатить не все документы, а только определенные. Лишние надо удалить из списка. Способ обработки =  "Из данных обработки" .
  4. Не всегда документы проводятся со старой версией, тогда можно поменять режим записи документа на запись. В этом случае при откате версии документ снимется с проведения.

 

Работает только с версиями БСП (созданные новыми средствами платформы не обработать) 

Тестировалось в последний раз на БП 3.0.65.80

Версия библиотеки стандартных подсистем 3.0.1.268

Всегда делайте архивную копию. И да пребудет с вами сила...

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

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    3520    19    1    

38

Infostart УДиФ: Управление данными и формами

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

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

10000 руб.

10.11.2023    4222    12    2    

36

SALE! %

PowerTools

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

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

3600 2880 руб.

14.01.2013    178550    1083    0    

861

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27815    82    146    

60

Система хранения присоединенных файлов в томах на диске

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

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61503    89    59    

74

"Менеджер потоков 2.1": УПП: "Восстановление партий"

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

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11847    5    9    

7

Хранилище файлов на SQL

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

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    11146    5    8    

9

Конфигурация Session Monitor

Мониторинг Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

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

1500 руб.

01.12.2020    14365    33    0    

48
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. seevkik 8 30.10.18 08:07 Сейчас в теме
интересно как вы накосячили перед тем как написали эту обработку)
dimkakopylow001; +1 Ответить
2. kwazi 622 30.10.18 11:16 Сейчас в теме
(1) помню только что это были Заказы клиентов в КА 2.2.
3. rbaoi 21.01.19 16:24 Сейчас в теме
При попытке откатить документ запланированное взаимодействие в УТ 11.2 выходит сообщение "Транзакция не активна". В чём может быть проблема?
4. kwazi 622 21.01.19 17:00 Сейчас в теме
(3)
взаимодействие

нет такого действия Откатить. Что вы делаете? Опишите подробно
5. rbaoi 21.01.19 17:38 Сейчас в теме
(4)
Я отобрал нужный мне документ и пытаюсь откатить его на предыдущую версию. Документ появился в списке, отобразился номер версии. Следующим шагом я нажимаю кнопку "Откатить" сверху обработки. В результате выходит сообщение с ошибкой "Транзакция не активна".
Прикрепленные файлы:
6. kwazi 622 21.01.19 17:51 Сейчас в теме
Понедельник день тяжелый. Извините.
Какие данные вы хотите откатить?
7. rbaoi 21.01.19 17:56 Сейчас в теме
(6)
Ну ничего.
Я поменял ответственного в документе запланированное взаимодействие и хотел бы просто вернуться на предыдущую версию.
8. kwazi 622 21.01.19 17:57 Сейчас в теме
чтобы откатиться на предыдущую версию в отдельно взятом документе данная обработка не требуется.
9. rbaoi 21.01.19 17:58 Сейчас в теме
(8)
я понимаю, это я просто тестировал на одном. А так у меня их 10000
10. kwazi 622 21.01.19 17:59 Сейчас в теме
11. kwazi 622 21.01.19 18:04 Сейчас в теме
Посмотрите в окне Информация для техподдержки. Может там есть полный текст ошибки?
12. rbaoi 23.01.19 10:02 Сейчас в теме
Спасибо за обработку, проблема была с нашей стороны. Ещё один вопрос: почему нет возможности откатить справочник "Контактные лица" ?
13. kwazi 622 23.01.19 10:08 Сейчас в теме
Работа со справочниками не предусмотрена. Такой функционал не планировался. В принципе, потребуются минимальные доработки чтобы еще и справочники можно было бы откатывать.
14. rbaoi 23.01.19 11:07 Сейчас в теме
(13)
а что нужно чтобы вы доработали этот функционал? :)
16. kwazi 622 23.01.19 12:17 Сейчас в теме
15. kwazi 622 23.01.19 12:16 Сейчас в теме
Обновил публикацию :)
Rabin; 1cman_admin; +2 Ответить
17. rbaoi 23.01.19 16:43 Сейчас в теме
(15)
Спасибо! Одна проблема только: при выборе объекта справочник выходит ошибка
Прикрепленные файлы:
18. kwazi 622 23.01.19 17:10 Сейчас в теме
(17) а на какой версии вы работаете? у меня есть предположение что вы давно не обновлялись.
в коде есть строка
Если ВерсионированиеОбъектов.ВключеноВерсионированиеОбъекта(МетаданныеОб.ПолноеИмя()) Тогда
19. rbaoi 28.01.19 13:27 Сейчас в теме
(18) Закомментили 3 строчки с проверкой доступности версионирования и всё заработало. Спасибо за ваши труды, обработка будет очень полезна в работе.
20. kwazi 622 28.01.19 13:28 Сейчас в теме
21. user1384997 27.03.20 12:23 Сейчас в теме
Добрый день! Такая ситуация:
Программа 1С 7.7 была создана реализация 26.03.2020, в которую вносились продажи за весь день (было около 150 позиций), но не проведена. 27.03.2020 добавилась с утра одна позиция, а другие стерли для печати чека. По неопытности или в спешке продавец реализацию сохранил, а следовательно все проданные товары за 26.03.2020г. стёрлись, осталась только одна позиция, которую добавили 27.03.2020.
Вопрос таков:
Как откатить на 1 день назад и вообще реально ли это сделать с непроведённой реализации или может вообще всю базу откатить на один день назад?
22. 1cman_admin 05.06.20 15:59 Сейчас в теме
Обработка очень помогла при внедрении ERP.
Проведение ордеров изменило документы РТиУ в закрытых периодах.
Нашли и откатили. Спасибо!
23. Astarot 6 25.11.21 16:21 Сейчас в теме
Спасибо, обработка помогла
24. EMelihoff 02.11.23 15:40 Сейчас в теме
Классная штука, спасибо!
25. unknown181538 152 15.02.24 23:37 Сейчас в теме
Спасибо! У самого есть такой функционал, но не универсальный. Использовать и доработать вашу обработку оказалось быстрее.
26. kwazi 622 16.02.24 00:03 Сейчас в теме
27. fixin 4253 04.03.24 16:42 Сейчас в теме
Можно восстановить в консоли кода, вот пример:

З = Новый Запрос(
"ВЫБРАТЬ
|	Т.Ссылка КАК Ссылка
|ИЗ
|	Справочник.Номенклатура КАК Т
|ГДЕ
|	НЕ Т.ЭтоГруппа
|	И Т.КатегорияНоменклатуры.Наименование = ""Розетки""");
Выборка = З.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
	
	ТекСсылка = Выборка.Ссылка;
	Сообщить(ТекСсылка);
	ТекРодитель = ТекСсылка.Родитель;
	ТекКатегорияНоменклатуры = ТекСсылка.КатегорияНоменклатуры;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ВерсииОбъектов.НомерВерсии КАК НомерВерсии
	|ИЗ
	|	РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
	|ГДЕ
	|	ВерсииОбъектов.ДатаВерсии < ДАТАВРЕМЯ(2024, 3, 4)
	|	И ВерсииОбъектов.Объект = &Объект
	|
	|УПОРЯДОЧИТЬ ПО         
	|	ДатаВерсии УБЫВ";
	Запрос.УстановитьПараметр("Объект", ТекСсылка);
	ВыборкаВерсий = Запрос.Выполнить().Выбрать();                                                
	Если НЕ ВыборкаВерсий.Следующий() Тогда
		Сообщить("   Не найдена версия: " + ТекСсылка + " !");
		Продолжить;
	КонецЕсли;
	
	НачатьТранзакцию();                                                 
	Сообщить(ВыборкаВерсий.Количество());     
	//ТЗ = Запрос.Выполнить().Выгрузить();
	//Для Каждого Колонка ИЗ ТЗ.Колонки Цикл
	//	Сообщить(Колонка.имя);
	//КонецЦикла;
	НомерВерсии = ВыборкаВерсий.НомерВерсии; 
	Попытка
		ВерсионированиеОбъектов.ПерейтиНаВерсиюСервер(ТекСсылка, НомерВерсии, Ложь);
		НовРодитель = ТекСсылка.Родитель;
		НовКатегорияНоменклатуры = ТекСсылка.КатегорияНоменклатуры;
	Исключение
		Сообщить("  Не удалось перейти на версию: " + НомерВерсии + ": " + ОписаниеОшибки());
		ОтменитьТранзакцию();
		Прервать;                                                                                             
	КонецПопытки;
		
	ОтменитьТранзакцию();
	
	Сообщить("   Родитель: " + ТекРодитель + " -> " + НовРодитель + " Категория: " + ТекКатегорияНоменклатуры + " -> " + НовКатегорияНоменклатуры);
	
	ОбрабатываемыйОбъект = ТекСсылка.ПолучитьОбъект();
	
	Если НовРодитель <> ТекРодитель Тогда
		ОбрабатываемыйОбъект.Родитель =  НовРодитель;
	КонецЕсли;

	Если НовКатегорияНоменклатуры <> ТекКатегорияНоменклатуры Тогда
		ОбрабатываемыйОбъект.КатегорияНоменклатуры =  НовКатегорияНоменклатуры;
	КонецЕсли;
	
	Если ОбрабатываемыйОбъект.Модифицированность() Тогда
		Сообщить("   восстановлено");
		ОбрабатываемыйОбъект.Записать();                    
	КонецЕсли; 

	//Прервать; //Для отладки
	
КонецЦикла;
Показать
Оставьте свое сообщение