Имя: Пароль:
1C
1С v8
Сохранение CF конфигурации подключенной к хранилищу
,
0 Armando
 
02.02.14
13:24
Есть команда в батнике:

"%ProgramFiles(x86)%"\1cv82\8.2.19.83\bin\1cv8.exe DESIGNER                      rem конфигуратор ^
    /S "Сервер\База"                                                         rem путь к базе ^
    /WA+                                                                     rem аутентификация AD ^
    /DisableStartupMessages                                                  rem подавляет стартовые сообщения ^
    /DumpCfg "d:\Data\ИмяФайла.cf"                                           rem сохранение cf

Если база подключена к хранилищу, то появляется диалог подключения к хранилищу и процесс останавливается. В диалоге нажимаю "Отмена" и процесс продолжается.
Допустим, что адрес хранилища, имя пользователя и пароль неизвестны. Как тогда сохранить CF, при этом не парится вопросом авторизации в хранилище?
1 Armando
 
03.02.14
10:02
Ап чтоле
2 Лефмихалыч
 
03.02.14
10:04
Конфигуратор 1С:Предприятие 8

Параметры командной строки режима работы с хранилищем конфигурации
/ConfigurationRepositoryF <каталог хранилища> — указание имени каталога хранилища.

/ConfigurationRepositoryN <имя> — указание имени пользователя хранилища.

/ConfigurationRepositoryP <пароль> — указание пароля пользователя хранилища.

/ConfigurationRepositoryDumpCfg <имя cf файла> [-v <номер версии хранилища>] — сохранить конфигурацию из хранилища в файл (пакетный режим запуска).

-v <номер версии хранилища> v — номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия.

/ConfigurationRepositoryUpdateCfg [-v <номер версии хранилища>] [-revised] — обновить конфигурацию хранилища из хранилища (пакетный режим запуска).

-v<номер версии хранилища> — номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия, если конфигурация не подключена к хранилищу, то параметр игнорируется;
-revised — получать захваченные объекты, если потребуется. Если конфигурация не подключена к хранилищу, то параметр игнорируется;
-force — если при пакетном обновлении конфигурации из хранилища должны быть получены новые объекты конфигурации или удалиться существующие, указание этого параметра свидетельствует о подтверждении пользователем описанных выше операций. Если параметр не указан — действмия выполнены не будут.

/ConfigurationRepositoryUnbindCfg  [-force] — отключение конфигурации от хранилища конфигурации (у пользователя должны быть административные права в данной информационной базе). Если пользователь аутентифицируется в хранилище (интерактивно или через параметры командной строки), то отключение конфигурации от хранилища также отражается в самом хранилище конфигурации (информация о подключении удаляется), если же пользователь не аутентифицировался в хранилище, то производится только локальное отключение конфигурации от хранилища.

В случае, если в конфигурации имеются захваченные объекты, которые были изменены относительно хранилища, то будет выдано соответствующее сообщение и отключения не выполнится.

–force — ключ для форсирования отключения от хранилища (пропуск диалога аутентификации, если не указаны параметры пользователя хранилища, игнорирование наличия захваченных и измененных объектов).

/ConfigurationRepositoryReport <имя файла> [-NBegin <номер версии>] [-NEnd <номер версии>] [-GroupByObject] [-GroupByComment] — построение отчета по истории хранилища. Если параметры группировки не указаны и режим совместимости указан "Не используется", то отчет формируется с группировкой по версиям. В режимах совместимости "Версия 8.1" и "Версия 8.2.13" отчет формируется с группировкой по объектам. Если конфигурация базы данных отличается от редактируемой по свойству совместимости, при обработке командной строки учитывается значение режима совместимости конфигурации базы данных.

<имя файла> — имя файла, в который выводится отчет;
NBegin — номер сохраненной версии, от которой начинается строиться отчет;
NEnd — номер сохраненной версии, по которую строится отчет;
GroupByObject — признак формирования отчета по версиям с группировкой по объектам;
GroupByComment — признак формирования отчета по версиям с группировкой по комментарию.

Примеры:

      для конфигурации, не присоединенной к текущему хранилищу:
DESIGNER /F"D:\V8\Cfgs82\ИБ82" /ConfigurationRepositoryF "D:\V8\Cfgs82" /ConfigurationRepositoryN "Администратор" /ConfigurationRepositoryReport "D:\ByObject.mxl" -NBegin 1 -NEnd 2 –GroupByObject

      для присоединенной к хранилищу конфигурации, информация для отчетов берется из текущего хранилища:
DESIGNER /F"D:\V8\Cfgs82\ИБ82" /ConfigurationRepositoryReport "D:\ByComment.mxl" -NBegin 1 -NEnd 2 -GroupByComment



--------------------------------------------------------------------------------

© ООО "1С", 1996-2013. Все права защищены.
3 Лефмихалыч
 
03.02.14
10:04
SHIFT+F1 рулит и педалит
4 Armando
 
03.02.14
11:57
(2) Как это должно мне помочь?
"адрес хранилища, имя пользователя и пароль неизвестны"
5 Armando
 
03.02.14
12:00
Поясню. Есть штук 8 баз подключенных к хранилищам. Мне надо из этих баз сохранить cf.
6 Бледно Золотистый
 
03.02.14
12:03
–force — ключ для форсирования отключения от хранилища (пропуск диалога аутентификации, если не указаны параметры пользователя хранилища, игнорирование наличия захваченных и измененных объектов).

А это не то?
7 Бледно Золотистый
 
03.02.14
12:04
(6) нет не то
8 Armando
 
03.02.14
12:24
Да, это не то. Это базы разработчиков. Надо просто слить их CFники. Отключать от хранилища не надо.
9 Лефмихалыч
 
03.02.14
12:27
(8) зачем при наличии хранлища это делать? Забирай заставь в конце дня все сливать в хранлище и забирай изменения от туда.

Да, к слову, хранилище в частности и конфигуратор в целом практически не предоставляет средств для автомтаизации свой деятельности, по этому тебе - хошь, не хошь - придется как-то приучаться к тому, что есть...
10 Лефмихалыч
 
03.02.14
12:29
например, нет способов заставить конфигуратор без помощи руко пользователя сгенерить отчет по версиям, в котором будут одновременно и метаданные, и комментарии и номер версии. Просто нет штатных способов и все. Не знаю, почему...
11 Armando
 
03.02.14
12:59
(9) Большинство этих баз подключены к основному хранилищу, так что помещать всё в конце дня не вариант. Я в их базы заливаю бекапы рабочей базы, например, после длительной реструктуризации. И чтоб не потерять то что уже сделано, но не помещено в хранилище, надо сохранить CF. А он зараза авторизацию просит. Приходится периодически ходить на сервер, чтоб нажать отмену.
12 Armando
 
03.02.14
13:00
(10) Это я уже заметил. v8: Программно установить метку в хранилище конфигурации
Буду ToolCD пользовать.
13 pumbaEO
 
03.02.14
13:12
Если файловая база сохраняй через toolcd
Если серверная тогда сохраняй с помощью GameWithFire

А вообще для (11) я использую другой вариант, с помощь toolcd выгружаю количество захваченных объектов, если нет захваченных, тогда обновляю базу, если есть захваченные, тогда сам себе буратино.
14 Лефмихалыч
 
03.02.14
13:39
(11) вас спасет отдельное хранилище для разработки, в которое можно помещать что угодно и когда угодно
(13) а можно чуть разжевать про серверную базу и gamewithfire?
15 pumbaEO
 
03.02.14
13:55
16 Лефмихалыч
 
03.02.14
13:57
(15) угу...
а при помощи этого геймвизфаера можно из 1cv8ddb.1CD таблицу history прочесть?
17 pumbaEO
 
03.02.14
14:03
(16) нет, это для серверных баз. history читай с помощью toolcd -> export to xml -> read xml ...
18 Armando
 
03.02.14
14:09
(15) спс. надо посмотреть. У меня это GameWithFire вместе с инструмент разработчика ставится вроде
19 pumbaEO
 
03.02.14
14:19
(18) я бы все-таки предложил бы обновлять только когда нет захваченных объектов, а то получается набил я себе примерчик для отладки, а тут бац ночью базу обновили...

И каждое утро переподключаться, тоже будет надоедать. Это в 8.3 можно уже будет в командном режиме подлкючаться, отключаться от хранилища, тогда можно было-бы сразу и ночью делать переподключение, а пока не вижу смысла в таком обновлении базы.
20 Armando
 
03.02.14
15:00
(19) >> набил я себе примерчик для отладки, а тут бац ночью базу обновили...
Да, с этим засада может быть.

>> И каждое утро переподключаться, тоже будет надоедать.
Такие массовые перезаливы баз не часто происходят. Только если были изменения влекущие длительную реструктуризацию.
21 Лефмихалыч
 
03.02.14
15:02
у нас тоже были такие проблемы :)
22 pumbaEO
 
03.02.14
15:15
(21) я так понимаю мержить - это у вас наказание нерадивому ? :)
23 Лефмихалыч
 
03.02.14
15:45
(22) нет, мержут тимлиды за зарплату в купе с остальными своими обязанностями. На самом деле нет ни особых трудностей, если не изобретать колёс и работать по прописанному регламенту. Есть только техническая заморочка в виде крайней медлительности хранилища и конфигуратора в целом, но это не зависит ни от какой организации работы.
24 Armando
 
05.02.14
23:19
Крутая штука tool_1cd. Сделал, чтоб разрабу письмо приходило, если коммент в хранилище не указал)

Вопрос. Для выгрузки таблицы versions пользую немонопольный режим. В хелпе написано, что это небезопасно.
"-ne, -NotExclusively открыть базу не монопольно (Это небезопасно, возможны ошибки!)."

Что такого ужасного может случиться?
25 pumbaEO
 
05.02.14
23:38
(24) это если будут помещать в хранилище информацию и ты будешь читать, данные при чтении могут быть неправильными. У меня просто мониторится изменение файла базы хранилища, делается копия и потом уже достаю файл версии и отдельно cf нужной версии.
26 Armando
 
05.02.14
23:42
(25) Понятно, спасибо. Получается для моих целей пофиг на немонопольный доступ. Только для сборки cf надо.
27 awa15
 
05.02.14
23:48
(24) Вся работа с файлом базы *.1cd в Tool_1CD написана исходя из предположения, что файл открыт монопольно. Т.е. программа думает, что 1 раз считанные данные из файла больше не меняются. Режим не монопольного открытия я сделал "по просьбам трудящихся", но это всего лишь режим открытия файлов, никаких дополнительных проверок, что данные не изменились, не делается. Как следствие, могут быть прочитаны несогласованные (грязные) данные, и даже может возникнуть ошибка программы.
28 Armando
 
06.02.14
00:00
(27) Спасибо за подробности и полезную программу! Предварительное копирование файла обеспечивает надежность, но файл 1cd тоже может быть большим и долго копироваться. Думаю в моем случае этим можно пренебречь. До первого сбоя, разумеется))