Бэкапирование внешних обработок на этапе разработки

03.06.21

База данных - Архивирование (backup)

Бэкапирование файлов внешних обработок 1С, и не только, с помощью самой 1С.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Текст программы
.txt 3,68Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.

Немного бекапирования никогда не повредит. А уж если сделать этом методами самой 1С, то можно будет допиливать как угодно.

Когда может быть полезным? 

Один из сценариев: разработка внешних отчетов и обработок. Что-то правим, 1С упала - обработка пустая. Бывает редко, но бывает. Что-то правим, вспоминаем что в предыдущем варианте что-то было лучше реализовано.

Как организовать:

1. Посмотреть какие данные в последний раз заливались в каталог хранения резервных данных.

2. Посмотреть какие данные с тех пор появились в каталоге данных.

3. Скопировать новые данные.

4. Сделать эти действия повторяемыми. С помощью регламентного задания или планировщика (если использовать oscript).

5. Профит.

Нам понадобятся: 
    методы: "ПолучитьВремяИзменения", "ИмяБезРасширения", "Расширение";
    команды: НайтиФайлы, КопироватьФайл;
 

Процесс:  
    
Шаг 1 - получаем дату последнего изменения в каталоге хранения резервных данных:

	ДатаПредыдущегоИзменения = Дата(1, 1, 1);
	
	НайденныеФайлы = НайтиФайлы(ПолучитьКаталогРезервированияКуда(), "*.*");
	Для каждого ТекФайл Из НайденныеФайлы Цикл
		ДатаИзменения =  ТекФайл.ПолучитьВремяИзменения();
		Если ДатаИзменения > ДатаПредыдущегоИзменения Тогда
			ДатаПредыдущегоИзменения = ДатаИзменения;
		КонецЕсли; 
	КонецЦикла; 
	
	Возврат ДатаПредыдущегоИзменения;

Шаг 2 - находим новые \ измененные файлы в каталоге данных.

	МассивФайлов = Новый Массив;
	
	НайденныеФайлы = НайтиФайлы(ПолучитьКаталогРезервированияОткуда(), "*.*");
	Для каждого ТекФайл Из НайденныеФайлы Цикл
		Если ТекФайл.ЭтоФайл() Тогда
			ДатаИзменения = ТекФайл.ПолучитьВремяИзменения();
			Если ДатаИзменения > ДатаПредыдущегоИзменения Тогда
				МассивФайлов.Добавить(ТекФайл);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла; 

Шаг 3 - копируем найденныефайлы в в каталог хранения резервных данных.

	Процедура РезервироватьНовыеИзмененныеФайлы(МассивФайлов)
	
		Для каждого ТекФайл Из МассивФайлов Цикл
			ИмяФайла = ПолучитьИмяФайлаРезервирования(ТекФайл);
			КопироватьФайл(ТекФайл.ПолноеИмя, ИмяФайла);
		КонецЦикла; 
	
	КонецПроцедуры

Шаг 3,5 - именуем файлы бекапа, что было понятно что за файл и когда изменялся. Примерно тек:
    ИмяФайла 2021_06_02_15_48_07 .epf
    ИмяФайла 2021_06_02_17_58_35 .epf

	ДатаРезервированияСтрокой = Формат(ТекФайл.ПолучитьВремяИзменения(), "ДФ=yyyy-MM-dd-ЧЧ-мм-сс");
	ДатаРезервированияСтрокой = СтрЗаменить(ДатаРезервированияСтрокой, "-", "_");
	
	ИмяФайла = ТекФайл.ИмяБезРасширения + " " + ДатаРезервированияСтрокой + " " + ТекФайл.Расширение;
	ИмяФайла = ПолучитьКаталогРезервированияКуда() + "\" + ИмяФайла;

Шаг 4 - добавляем регламентное задание. Вставляем туда весь этот код. Устанавливаем необходимую частоту проверки и бэкапа.

Если нет желания изменять конфигурацию, то можно этот же скрипт использовать в планировщике с помощью oscript.

Шаг 5 Получаем бэкапы нужных нам файлов. 

 

P.S. В вложении ничего интересного нет. Просто методы из статьи в виде программы или скрипта. 

Бэкапы бэкапривание внешние обработки

См. также

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72787    625    45    

84

Архивирование (backup) Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Программа позволяет выполнять автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    15703    21    6    

27

Архивирование (backup) Администрирование СУБД Системный администратор Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    9422    n_mezentsev    15    

27

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

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    28590    sapervodichka    37    

147

Архивирование (backup) Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    5731    3    Gnom-Gluck    6    

7

Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4689    3    Giblarium    12    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1324 03.06.21 17:45 Сейчас в теме
По мне удобнее хранить в папке с git репозиторием и применить к нему precommit1c, и "бекап" есть и видны изменения.
pscorp; pavlov_dv; cprit; horsgroup; Lem0n; +5 Ответить
2. aximo 2100 04.06.21 04:24 Сейчас в теме
а по мне - на инфостарт
Оставьте свое сообщение