1. Зачем?
Вариант № 1. Головное учреждение имеет несколько подведомственных учреждений, которые являются отдельными юридическими лицами. Для контроля ведения учета, особенно в периоды сдачи отчетности, необходимо периодическое получение "снимков" баз данных этих учреждений.
Вариант № 2. Имеется несколько небольших клиентов, которые по окончании рабочего дня (недели) выключают компьютеры. Для решения проблем, этих клиентов во внерабочее время нужно иметь копии рабочих баз.
2. Состав
GetToken.exe — вспомогательное приложение, выполняющее следующие действия над токенами: получение, управление списком, шифрование.
YaSave.exe — собственно приложение для работы с Yandex дисками в "ручном" режиме.
YaService.exe — служба, выполняющая обмен с дисками по расписанию.
Обмен с дисками может осуществляться либо в режиме "приложение" либо в режиме "служба".
3. Подробности реализации
Выгрузка: Приложение устанавливает COM соединение c целевой ИБ. Затем в каталог ИБ записывается файл блокировки 1Cv8.cdn (время блокировки и другие параметры устанавливаются на вкладке "Настройка"). Далее, через указанный интервал времени приложение проверяет количество активных соединений. Как только количество соединений становится равным единице, ИБ копируется в локальный каталог приложения, файл блокировки удаляется, файл ИБ в локальном каталоге упаковывается Zip архиватором и начинается выгрузка на Yandex диск.
Загрузка: Файл ИБ загружается с Yandex диска в локальный каталог приложения и распаковывается из Zip архива. Если установлен флажок замещения существующей ИБ, загруженным файлом (вкладка "Настройка"), то приложение устанавливает блокировку данной ИБ, и после отключения всех активных соединений переименовывает эту ИБ в Backup.1CD, а на ее место записывается загруженный файл.
4. Заключительные замечания
Приложение может одновременно работать с несколькими Yandex дисками.
В режиме "служба" могут быть одновременно запущены и выгрузка и загрузка.
Если в конфигурационном файле YaSave.ini удалить разделы [In] и [Sin], то вкладка "Загрузка" будет скрыта, т.е. в приложении будет доступна только выгрузка данных.
Приложение использует компоненты Microsoft.Net Framework версии 4.5
1.Добавлена возможность указать срок хранения файлов на Yandex диске.
2. Исправлены выявленные ошибки