Имя: Пароль:
1C
1С v8
Обновление из хранилища конфигураций через COM
0 Ангел- Хоронитель
 
27.11.17
21:36
Суть: из PowerShell подсоеденить базу к хранилищу конфигурация, обновить и отсоеденить. Через запуск Конфигуратора невозможно определить результат: удалось ли присоеденить и обновить. Прочитал про V83.COMConnector, но не могу найти примеров и описаний.
Если возможно, дайте пример.
1 Tateossian
 
27.11.17
21:41
Держи батничег, он поможет

Тут немного лишнего, можешь вытащить только то, что нужно. Концептуально этот батник выгружает требуемую версию в git и делает пуш. Первая cmd делает что нужно тебе. При этом выводит промежуточный результат.

@ECHO OFF
@CHCP 1251 >nul

SET RepUser=КлиентПакетныхЗадач
SET RepDir=Y:\Файловые\УСХП_репо
SET EmptyAdmin=Администратор
SET ConfigurationRepositoryF=tcp://compXXXX/usp

IF %time:~0,2% LSS 10 (SET begin_HH=10%time:~1,1%) ELSE SET begin_HH=1%time:~0,2%
SET /A begin_HH=%begin_HH%-100
SET begin_MM=1%time:~3,2%
SET /A begin_MM=%begin_MM%-100
SET begin_SS=1%time:~6,2%
SET /A begin_SS=%begin_SS%-100
SET /A begin_summary=3600*%begin_HH%+60*%begin_MM%+%begin_SS%

Y:
CD Y:\Development_conf

:: Принудительно удаляем все файлы выгрузки конфигурации
@CALL Y:\Development_conf\Clear_USPCat.bat

::@SET /p STORAGEVERSION="Set Config version, i.g., 0179: "
FOR /f "tokens=1" %%F IN ('find ver_????') DO SET vfile=%%F
SET STORAGEVERSION=%vfile:ver_=%
SET log=output.log
SET dumpfile=dump.txt

SET NUM=%STORAGEVERSION%
SET /A NUM=1%NUM%-(11%NUM%-1%NUM%)/10

@ECHO ON

CMD /C ""%ProgramFiles%\1cv8\%CUR_VERSION_1C%\bin\1cv8.exe" DESIGNER /DumpResult %dumpfile% /Out %log% /F "%RepDir%" /N "" /P "" /ConfigurationRepositoryF %ConfigurationRepositoryF% /ConfigurationRepositoryN "%RepUser%" /ConfigurationRepositoryP "*****" /ConfigurationRepositoryUpdateCfg -v %STORAGEVERSION% -revised -force"

@CALL :output_sub

@ECHO ON

CMD /C ""%ProgramFiles%\1cv8\%CUR_VERSION_1C%\bin\1cv8.exe" DESIGNER /DumpResult %dumpfile% /Out %log% /F "%RepDir%" /N "" /P "" /ConfigurationRepositoryF %ConfigurationRepositoryF% /ConfigurationRepositoryN "%RepUser%" /ConfigurationRepositoryP "*****" /UpdateDBCfg -Dynamic- -WarningsAsErrors"

@CALL :output_sub

@ECHO ON

CMD /C ""%ProgramFiles%\1cv8\%CUR_VERSION_1C%\bin\1cv8.exe" DESIGNER /DumpResult %dumpfile% /Out %log% /F "%RepDir%" /N "" /P "" /ConfigurationRepositoryF %ConfigurationRepositoryF% /ConfigurationRepositoryN "%RepUser%" /ConfigurationRepositoryP "*****" /DumpConfigToFiles USP"

@CALL :output_sub

CMD /C ""%ProgramFiles%\1cv8\%CUR_VERSION_1C%\bin\1cv8.exe" DESIGNER /DumpResult %dumpfile% /F "%RepDir%" /N "" /P "" /ConfigurationRepositoryN "%RepUser%" /ConfigurationRepositoryP "*****" /ConfigurationRepositoryReport changelog_%STORAGEVERSION%.mxl -NBegin %STORAGEVERSION% -NEnd %STORAGEVERSION% -GroupByComment"

SET /A NEXTNUM=NUM+1
SET /A NEXTNUM=NEXTNUM+10000
SET /A PREVNUM=NUM-1
SET /A PREVNUM=PREVNUM+10000

SET PREVVERSION=changelog_%PREVNUM:~1,4%

DEL %PREVVERSION%.mxl
DEL %PREVVERSION%.txt
DEL ver_%STORAGEVERSION%
ECHO.>ver_%NEXTNUM:~1,4%

CMD /C ""%ProgramFiles%\1cv8\%CUR_VERSION_1C%\bin\1cv8.exe" "ENTERPRISE /F Y:\файловые\пустаЯ /N "%EmptyAdmin%" /P "" /RunModeOrdinaryApplication /Execute "%~dp0\CommitProcessor.epf" /C changelog_%STORAGEVERSION%.mxl"

@CALL %ProgramData%\Task\TimeCount_end.bat  %begin_summary% %~dp0

ECHO "Export configuration files complete successfully!"

::GOTO :EOF
EXIT

:output_sub
@ECHO OFF
ECHO.
ECHO RETURNCODE %ERRORLEVEL%

IF %ERRORLEVEL% NEQ 0 (pause)

ECHO.

FOR /f "delims=" %%A in (%log%) do >nul CHCP 866& echo.%%A

CHCP 1251 >nul

EXIT /B
2 Tateossian
 
27.11.17
21:46
(0) Насчет COM тоже наверное без проблем можно, но я бы лучше использовал агента через SSH, если очень необходимо удаленно управлять версиями.
3 Ангел- Хоронитель
 
28.11.17
12:43
(1)Из-за форматирования ничего не понятно
(2)А при чем тут SSH?
4 Мыш
 
28.11.17
13:02
(3) Конфигуратор в режиме агента SSH работает