- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Резервирование Проектов (Backup) - Автоматически
Модератор: специалисты Eplan
-
- авторитет
- Сообщения: 803
- Зарегистрирован: 14 дек 2012, 18:53
- Имя: Александр
- Благодарил (а): 259 раз
- Поблагодарили: 11 раз
Резервирование Проектов (Backup) - Автоматически
Господа, подскажите, где можно настроить резервирование проекта?
На компьютере коллеги увидел что при закрытии Eplan вскакивает всплывающее окно с вопросом выполнить резервирование проекта?
Я не нашел такой настройки.
На компьютере коллеги увидел что при закрытии Eplan вскакивает всплывающее окно с вопросом выполнить резервирование проекта?
Я не нашел такой настройки.
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
Скрипт в блоге такой был у меня. Автор Джонни, на форуме возможно тоже есть - поищите.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Резервирование Проектов (Backup) - Автоматически
ИМХО, не должно быть сообщения "выполнить резервирование?". Должно быть сообщение "резервироание выполнено" )
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
Нет, там алгоритм другой - при наличии активных проектов в Навигаторе страниц и при закрытии Е, вылетает окно с приглашением выполнить резервирование, сколько проектов открыто, столько раз и будет оно активно (если не ошибаюсь).
Сейчас поищу данный скрипт.
Отправлено спустя 2 минуты 55 секунд:
Вот он, с переводом, взято с сайта Jonny Wire
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
keysansa писал(а): ↑21 фев 2022, 19:40
Если из скрипта убрать:
"DialogResult Result = MessageBox.Show(
"Хотите зарезервировать проект\n'"
+ strProjectname +
"'?",
"Сохранение данных",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
if (Result == DialogResult.Yes)
{"
И там внизу будет закрывающая скобка, то бэкап будет выполняться каждый раз при сохранении, без вопросов.
Спасибо большое за скрипт!
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- авторитет
- Сообщения: 803
- Зарегистрирован: 14 дек 2012, 18:53
- Имя: Александр
- Благодарил (а): 259 раз
- Поблагодарили: 11 раз
Резервирование Проектов (Backup) - Автоматически
Cпасибо, а как вставить этот скрипт? просто пока никогда не имел дело со скриптами в Eplan.
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
"....уууу....как всё запущено" (С) Рекомендую почитать книжку Гишеля
Отправлено спустя 2 минуты 5 секунд:
Просто Загрузите, при закрытии проекта будет предложение с резервированием. Однако, при закрытии всего Е - я не увидел это сообщение. Надо код смотреть.
Отправлено спустя 22 минуты 51 секунду:
Еще, что лично мне не нравилось в скрипте, но так и не поправил. Каталог по умолчанию куда "сваливается" архив, это та же папка с проектом. По мне так было бы логичнее некий каталог Backup, туда все резервы "сливаются", благо формат архива НАЗВАНИЕ_ПРОЕКТА_22.02.2022_10.10..zw1
Просто Загрузите, при закрытии проекта будет предложение с резервированием. Однако, при закрытии всего Е - я не увидел это сообщение. Надо код смотреть.
Отправлено спустя 22 минуты 51 секунду:
Еще, что лично мне не нравилось в скрипте, но так и не поправил. Каталог по умолчанию куда "сваливается" архив, это та же папка с проектом. По мне так было бы логичнее некий каталог Backup, туда все резервы "сливаются", благо формат архива НАЗВАНИЕ_ПРОЕКТА_22.02.2022_10.10..zw1
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 58
- Зарегистрирован: 30 окт 2018, 09:17
- Имя: Павел
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 54 раза
Резервирование Проектов (Backup) - Автоматически
Исправил скрипт, добавил переменную
backupDir = @"D:\backups"; (можно исправить на свой каталог) что бы бекапы в одном каталоге были, так же каждый проект будет сохраняться в свою папку, что бы в папке проекта собирался список из архивов одного проекта. (если это не нужно, вместо strDestination = Path.Combine(backupDir, strProjectname); сделать strDestination = backupDir; )
Так же изменил маску имени файла - точки в дате не нужны, лучше через _, и маску времени сделал в виде "год_месяц_число_часМинутаСекунда" - так легко найти самый свежий и самый старый бекап.
backupDir = @"D:\backups"; (можно исправить на свой каталог) что бы бекапы в одном каталоге были, так же каждый проект будет сохраняться в свою папку, что бы в папке проекта собирался список из архивов одного проекта. (если это не нужно, вместо strDestination = Path.Combine(backupDir, strProjectname); сделать strDestination = backupDir; )
Так же изменил маску имени файла - точки в дате не нужны, лучше через _, и маску времени сделал в виде "год_месяц_число_часМинутаСекунда" - так легко найти самый свежий и самый старый бекап.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Резервирование Проектов (Backup) - Автоматически
Лично мое мнение - это, вроде и очевидно, но проект содержит обычно больше данных, чем просто проект Eplan. Лично я создаю отдельную папку проекта, где есть всё, относящееся к проекту. И электросхемы, и механика, и строительство, и программы. Все по полочкам.
Там же есть, по полочкам, "релизы", т.е. архивированное состояние проекта на какой-то временной/ключевой момент.
Распаковав "релиз" - я получаю полное состояние проекта на то условие, которое он был "выпущен" (точнее, была создана копия проекта).
ЗЫ. Это не руководство к действию, просто мое мнение.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Резервирование Проектов (Backup) - Автоматически
Появилось немножко времени, прокомментировал свой скрипт архивации.
У меня структура следующая:
1. Директория проектов
1.1. Поддиректории клиентов
1.1.1. Поддиректории проектов клиентов
1.1.1.1. Поддиректории структуры проектов клиентов
Данный скрипт расположен в директории проектов, и точно такой же в каждой из поддиректорий клиентов. При появлении нового клиента, копируется во вновь созданную папку.
Т.е. можно архивировать сразу все проекты, или все проекты клиента. Конкретный проект конкретного клиента архивирую вручную (в FAR это делается в течении 3с).
ЗЫ. Есть такой же скрипт для Linux. Тоже используется 7z. Если нужно кому - прокомментирую, выложу.
У меня структура следующая:
1. Директория проектов
1.1. Поддиректории клиентов
1.1.1. Поддиректории проектов клиентов
1.1.1.1. Поддиректории структуры проектов клиентов
Данный скрипт расположен в директории проектов, и точно такой же в каждой из поддиректорий клиентов. При появлении нового клиента, копируется во вновь созданную папку.
Т.е. можно архивировать сразу все проекты, или все проекты клиента. Конкретный проект конкретного клиента архивирую вручную (в FAR это делается в течении 3с).
ЗЫ. Есть такой же скрипт для Linux. Тоже используется 7z. Если нужно кому - прокомментирую, выложу.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
А можно ли как то функционал данного скрипта повесить на отдельную кнопку, чтобы сделать бэкап прямо здесь и сейчас но не закрывая/открывая проект?)Barmaley4 писал(а): ↑28 фев 2022, 13:35 Исправил скрипт, добавил переменную
backupDir = @"D:\backups"; (можно исправить на свой каталог) что бы бекапы в одном каталоге были, так же каждый проект будет сохраняться в свою папку, что бы в папке проекта собирался список из архивов одного проекта. (если это не нужно, вместо strDestination = Path.Combine(backupDir, strProjectname); сделать strDestination = backupDir; )
Так же изменил маску имени файла - точки в дате не нужны, лучше через _, и маску времени сделал в виде "год_месяц_число_часМинутаСекунда" - так легко найти самый свежий и самый старый бекап.
BackupOnClosingProject_rus.cs
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Резервирование Проектов (Backup) - Автоматически
Быстрый способ - без всяких скриптов - копирование проекта.legionercheg писал(а): ↑12 май 2022, 14:48А можно ли как то функционал данного скрипта повесить на отдельную кнопку, чтобы сделать бэкап прямо здесь и сейчас но не закрывая/открывая проект?)Barmaley4 писал(а): ↑28 фев 2022, 13:35 Исправил скрипт, добавил переменную
backupDir = @"D:\backups"; (можно исправить на свой каталог) что бы бекапы в одном каталоге были, так же каждый проект будет сохраняться в свою папку, что бы в папке проекта собирался список из архивов одного проекта. (если это не нужно, вместо strDestination = Path.Combine(backupDir, strProjectname); сделать strDestination = backupDir; )
Так же изменил маску имени файла - точки в дате не нужны, лучше через _, и маску времени сделал в виде "год_месяц_число_часМинутаСекунда" - так легко найти самый свежий и самый старый бекап.
BackupOnClosingProject_rus.cs
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
Нет, тут именно удобство в том что каждый проект "падает" в свою папку и автоматом ставится дата и время резервирования, понятно что можно это делать и руками, но так быстрее, просто не охота закрывать и открывать каждый раз для этого проект...
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
Да, можно. Серега, у тебя же есть выпадающее меню API, там длл-ки, что используешь - такой же принцип. Если есть строка в меню, значит она появляется в "Выбрать команду".legionercheg писал(а): ↑12 май 2022, 14:48 А можно ли как то функционал данного скрипта повесить на отдельную кнопку
В скрипт меню API нужно добавить строку.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Резервирование Проектов (Backup) - Автоматически
Понял, скрипт, который предложил уважаемый AGorskiy, могу оптимизировать для нажатия на кнопку. Но как добавить выполнение скрипта в меню/тулбокс пока не знаю.legionercheg писал(а): ↑12 май 2022, 15:44 Нет, тут именно удобство в том что каждый проект "падает" в свою папку и автоматом ставится дата и время резервирования
Для копирования проекта - не нужно его открывать закрывать. Плюс, автоматическая нумерация копий проекта (в купе с датой и временем создания файла) - не требует каких либо дополнительных действий.legionercheg писал(а): ↑12 май 2022, 15:44 просто не охота закрывать и открывать каждый раз для этого проект...
1. Проект Копировать ОК.
2. Всё.
ЗЫ. При желании, можно запаковать копию проекта, закроется она сама.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
Подскажите как в имя резервной копии проекта добавить свойства проекта? В файле *cs я нашел строку где формируется имя:
точку в конце я убрал, не знаю зачем она нужна...
Использовать хочу вот эти свойства проекта. Т.е. чтобы у имени файла в конце еще через "_" добавлялись два свойства проект "<EPLAN.Project.UserSupplementaryField13>" и "<EPLAN.Project.UserSupplementaryField13>" и в итоге получилось имя файла:
"Имя проекта"_"текущая дата(yyyy_MM_dd_HHmmss)"_"R0"_"V0"
Код: Выделить всё
backupContext.AddParameter("ARCHIVENAME", strProjectname + "_" + myTime);
Использовать хочу вот эти свойства проекта. Т.е. чтобы у имени файла в конце еще через "_" добавлялись два свойства проект "<EPLAN.Project.UserSupplementaryField13>" и "<EPLAN.Project.UserSupplementaryField13>" и в итоге получилось имя файла:
"Имя проекта"_"текущая дата(yyyy_MM_dd_HHmmss)"_"R0"_"V0"
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- знаток Eplan
- Сообщения: 58
- Зарегистрирован: 30 окт 2018, 09:17
- Имя: Павел
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 54 раза
Резервирование Проектов (Backup) - Автоматически
С обработкой свойств в скриптинге есть существенные ограничения , можно только задавать некоторые настройки и свойства страниц и проекта, как считать свойство (action который бы читал свойство) я не нашёл. Возможно есть скрытые action или странные способы.
Для данного случая можно попробовать использовать чтение файла ProjectInfo.xml где сохраняются свойства проекта. Однако этот файл обновляется не так быстро, то есть если задать свойства проекта, то в файла xml они запишутся не сразу (как минимум при закрытии, но возможно и через какое-то время). Это к тому что я попробовал реализовать так чтение свойств проекта для бекапа - оно работает, но я заметил что обновление файла не моментальное, а считать можно только его.
Для данного случая можно попробовать использовать чтение файла ProjectInfo.xml где сохраняются свойства проекта. Однако этот файл обновляется не так быстро, то есть если задать свойства проекта, то в файла xml они запишутся не сразу (как минимум при закрытии, но возможно и через какое-то время). Это к тому что я попробовал реализовать так чтение свойств проекта для бекапа - оно работает, но я заметил что обновление файла не моментальное, а считать можно только его.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
Да, спасибо! На первый взгляд всё работает, буду тестить))
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
Да, если изменить какое то свойство и тут же зарезервировать проект, то в имени файла оно не успеет "обновится", но после закрытия/открытия проекта всё корректно резервируется...
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
Серега, попробуй применить операцию Число/имена страниц на свойство. Проверь, возможно это поможет обновлению информации.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
-
- знаток Eplan
- Сообщения: 3339
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 179 раз
- Поблагодарили: 368 раз
Резервирование Проектов (Backup) - Автоматически
Серега, дома нет Е. Второй пункт меню и там сама нижняя строка.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
Заметил такой глюк - открываешь какой то старый проект, у которого не заполнено свойство проекта которое участвует в формировании имени файла при бэкапе (например <EPLAN.Project.UserSupplementaryField14> ) и при закрытии проекта даже не появляется окно с вопросом про резервирование проекта,а Ё тупо наглухо зависает. Как только заполнишь это свойство, всё работает как надо. Можно это как то победить?Barmaley4 писал(а): ↑08 авг 2022, 14:59 С обработкой свойств в скриптинге есть существенные ограничения , можно только задавать некоторые настройки и свойства страниц и проекта, как считать свойство (action который бы читал свойство) я не нашёл. Возможно есть скрытые action или странные способы.
Для данного случая можно попробовать использовать чтение файла ProjectInfo.xml где сохраняются свойства проекта. Однако этот файл обновляется не так быстро, то есть если задать свойства проекта, то в файла xml они запишутся не сразу (как минимум при закрытии, но возможно и через какое-то время). Это к тому что я попробовал реализовать так чтение свойств проекта для бекапа - оно работает, но я заметил что обновление файла не моментальное, а считать можно только его.
BackupOnClosingProject_rus080822.cs
-
- знаток Eplan
- Сообщения: 58
- Зарегистрирован: 30 окт 2018, 09:17
- Имя: Павел
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 54 раза
Резервирование Проектов (Backup) - Автоматически
legionercheg, проблему не смог повторить, в моём компе без этих свойств нормально резервирует.
Возможно, проблема заключается в том что XML Reader который ищет свойства в файле Projectinfo.xml, при отсутствии данных свойств просто зацикливается, хотя по идее он должен без проблем выходить из цикла если файл закончился.
Возможно, поможет установка последнего .Net для обновления стандартных инструментов (в том числе и ридера)
https://go.microsoft.com/fwlink/?linkid=2203305
Возможно, проблема заключается в том что XML Reader который ищет свойства в файле Projectinfo.xml, при отсутствии данных свойств просто зацикливается, хотя по идее он должен без проблем выходить из цикла если файл закончился.
Возможно, поможет установка последнего .Net для обновления стандартных инструментов (в том числе и ридера)
https://go.microsoft.com/fwlink/?linkid=2203305
-
- знаток Eplan
- Сообщения: 973
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 90 раз
- Поблагодарили: 116 раз
Резервирование Проектов (Backup) - Автоматически
У меня на работе Win 7x64, при установке этого NetFramework 4.8.1 вылазит ошибка "Блокирующие требования: .NET Framework 4.8.1 не поддерживается этой операционной системой."
Странно, этот глюк именно со "старыми" проектами где не заполнено это свойство, стоит его заполнить и скрипт нормально работает((
Странно, этот глюк именно со "старыми" проектами где не заполнено это свойство, стоит его заполнить и скрипт нормально работает((