|
Как узнать номер последней версии хранилища программно | ☑ | ||
---|---|---|---|---|
0
Ndochp
18.09.14
✎
14:00
|
День добрый, не подскажете как программно узнать последний номер версии конфы из хранилища 1C.
|
|||
1
ДенисЧ
18.09.14
✎
14:09
|
а что, 1с уже научилась программно работать с хранилищем?
|
|||
2
Dmitry1c
18.09.14
✎
14:12
|
через DLL-ку, которая может анализировать код файлов хранилища там где-то выцеплять
напишу за $50 тыс. гривней |
|||
3
1Сергей
18.09.14
✎
14:13
|
(1) через sendkey можно сделать очень многое :)
|
|||
4
Armando
18.09.14
✎
14:14
|
"номер последней версии хранилища"
или "последний номер версии конфы" Это какбе разные вещи. "номер последней версии хранилища" у меня есть пример |
|||
5
Armando
18.09.14
✎
14:21
|
Хотя версию конфигурации тоже меожно из хранилища получить из таблицы versions
|
|||
6
Ndochp
22.09.14
✎
11:39
|
(4) Сорри, что не ответил, сдернули на кипяток, закончившийся только в пятницу вечером.
Нужен именно номер версии хранилища. (колонка "№" формы "История хранилища") Версию конфы я как-нибудь получу через "Метаданные.Версия" после того как утяну конфу к себе. |
|||
7
vhl
22.09.14
✎
11:41
|
(6) через ключи коммандной строки. Только это в 8.3 появилось вроде.
|
|||
8
vhl
22.09.14
✎
11:43
|
ConfigurationRepositoryReport
|
|||
9
Ndochp
22.09.14
✎
11:45
|
(7) Может быть. Я ключи смотрел, для 8.2 - там только можно указать какая версия нужна (и -1 для последней)
(8) И распарсить MXL... Блин, тяжелый батник получается... |
|||
10
Ndochp
22.09.14
✎
12:42
|
+(9) Забавно... запрос отчета без параметров группировки для версии 8.2.18.96 дает отчет без номера версии (такое ощущение, что группировка по комменту), а для 8.3.5.1119 - с версией (командная строка отличалась только именем базы, через которую я обращался к хранилищу)
Несмотря на хелп и режим совместимости "не используется" /ConfigurationRepositoryReport <имя файла> [-NBegin <номер версии>] [-NEnd <номер версии>] [-GroupByObject] [-GroupByComment] — построение отчета по истории хранилища. Если параметры группировки не указаны и режим совместимости указан "Не используется", то отчет формируется с группировкой по версиям. В режимах совместимости "Версия 8.1" и "Версия 8.2.13" отчет формируется с группировкой по объектам. Если конфигурация базы данных отличается от редактируемой по свойству совместимости, при обработке командной строки учитывается значение режима совместимости конфигурации базы данных. |
|||
11
Armando
22.09.14
✎
23:12
|
Вот кусок моего скрипта
'Выгрузка таблицы VERSIONS из хранилища Set objShell = wscript.createobject("wscript.shell") RetCode = objShell.Run("c:\Scripts\Tools\Tool_1CD.exe c:\1C_Depository_ING\1C_Depository_ING_2014\1cv8ddb.1CD -quit -NotExclusively -ExportToXML e:\DepositoryFiles\1C_Depository_ING_2014 ""VERSIONS""", 1, True) 'номер текущего коммита Set xmlParser = CreateObject("Msxml2.DOMDocument.6.0") ' обязательно 6.0, проверял на 3.0 - не работает xmlParser.load "e:\DepositoryFiles\1C_Depository_ING_2014\VERSIONS.xml" Set colNodes = xmlParser.selectNodes("Table/Records/Record[last()]/VERNUM") CurrentCommitNumber = colNodes(0).nodeTypedValue Для работы нужна тулуза Tool_1CD.exe. В переменной CurrentCommitNumber будет номер версии хранилища. |
|||
12
Armando
22.09.14
✎
23:13
|
А тебе это зачем надо? Просто интересно
|
|||
13
Ndochp
24.09.14
✎
10:44
|
(12) Рекомендации 1С по разработке тиражных решений говорят, что должно быть одно центральное хранилище, и по хранилищу на каждое долгоживущее задание по доработке. Обмен между этими хранилищами осуществляется через поставки
(http://its.1c.ru/db/v8std#content:2149184358:1) В этой всей их катавасии с поставками (приложение 1, 3) мне не нравится одно: так как номер сборки меняется не перед созданием новой поставки, а согласно "5. Нумерация сборок", то возможно существование отличающихся поставок одной и той же версии, что ИМХО черевато. С другой стороны, если приписать к версии перед самым созданием поставки номер версии хранилища (пятым числом в номере версии или встык с четвертым) то получится четкая система нумерации поставок для техпроектов (каждый номер уникален, все идут по возрастанию). А так как все эти генерации и обновления штука не быстрая, то охота сделать скрипт, который буде генерить поставки для техпроектов по шедулеру перед началом рабочего дня или по требованию, но все равно одной кнопкой. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |