Наша компания занимается бухгалтерским обслуживанием нескольких фирм, и соответственно, за них сдает налоговые отчеты. Так как отчеты сдаем через СОНО, остро встает вопрос по своевременному обновлению форм.
В течении полугода я мужественно обновлял формы сам. Это 10 компьютеров. Немного, однако невсегда была возможность сделать это сразу после выхода формы. В результате, часть бухгалтеров использовали не актуальные формы. Как результат, возвраты отчетов и прочие нехорошие моменты.
Было решено перенести ответственность за обновления на бухгалтеров, но так чтобы это было а) ненавязчиво и б) надежно.
В результате родилась следующая схема.
- При выходе новой формы она сохраняется в общую папку. К примеру, \\srv\Update pack\.
- Всем бухгалтерам рассылается исполняемый файл (или ссылка на него)
- После запуска программа сама проверяет, каких форм нет на компьютере, и запускает обновление.
Отдельным моментом объясню, почему это сделано в bat файле - чтобы привязка к специфичному ПО была минимальной, и файл исполнялся практически всегда.
Плюсы:
- Программа гарантирует, что буду загружены все формы, сохраненные в общей папке.
- Снята ответственность с ИТ департамента за обновления бухгалтерского ПО.
Минусы:
- Надо вручную запускать обновление форм и потом закрывать это окно. К сожалению, как сделать это программно, я не нашел.
Ниже код bat файла:
- Код: Выделить всё
@echo off
TITLE SONO UPDATE
ECHO.
rem create folder
MKDIR "C:\Program Files\SONO\target\bin\Processed\"
rem copy processed files to folder
COPY "C:\Program Files\SONO\target\bin\*.bz2" "C:\Program Files\SONO\target\bin\Processed\*.bz2"
rem delete processed files
DEL "C:\Program Files\SONO\target\bin\*.bz2" /Q
rem copy new files to SONO dir
for %%f in ("\\srv\Update pack\*.bz2") do IF NOT EXIST "C:\Program Files\SONO\target\bin\Processed\%%~nf.bz2" COPY "\\srv\Update pack\%%~nf.bz2" "C:\Program Files\SONO\target\bin\%%~nf.bz2"
rem set current folder SONO
CD "C:\Program Files\SONO\target\bin\"
CALL "C:\Program Files\SONO\target\bin\run_client.bat" com.epam.sono.desktop2.shell.loadfno.SonoClientLF offline
EXIT
Для работы нужно исправить путь хранения форм (\\srv\Update pack\) на место, где лежат файлы, скопировать код в обычный текстовый файл, сохранить и изменить расширение на bat.
Комментарии и пожелания приветствуются.