Wiki

Clone wiki

1C.Utils / classDesigner1C

class Designer1C

Конструктор

Designer1C ([<string> PathBase], [<string> UserName], [<string> PasswordUser], [<string> IBName], [<string> Platform], [<string> LogFile], [<string> Settings)

Инициализирует новый экземпляр класса. Имеется перегрузка без параметров. Каждый из параметров можно установить отдельным методом.

  • <string> PathBase - Задает адрес расположения базы (можно установить методом SetBase):

    • для файловой базы c:\CatalogBases1C\NameBase
    • для клиент-серверной базы NameServer[:NumberPort]\NameBase
    • для базы на веб-сервере http://NameWebServer/NameBase
  • <string> UserName - Имя пользователя базы (можно установить методом SetUserBase).

  • <string> PasswordUser - Пароль пользователя базы (можно установить методом SetUserBase).
  • <string> IBName - Имя базы как оно задано в окне запуске 1С (можно установить методом SetIBName).
  • <string> Platform - Номер версии платформы 8.3.XX.XXXX. Если не задан, то будет произведен поиск в стандартном каталоге установки последней установленной версии платформы. Игнорируется если задан параметр IBName. (можно установить методом SetExe1cv8)
  • <string> LogFile - Полный путь к лог-файлу (можно установить методом SetLog).
  • <string> Settings - Путь к файлу значений полей класса выгруженных методом ExportToYAML или ExportToJSON (можно загрузить методом ImportFrom).

Cвойства

Storage <string>
- строка подключения к хранилищу как в окне подключения конфигуратора.

Log <ClassLog>
- В журнал записываются все исполняемые команды и результаты выдаваемые платформой 1с

Debug <bool>
- Признак отладки (в режиме отладки все команды логируются, но не выполняются)


Методы

<string> CommandIsDone ([<string> PathFile])

Возвращает признак успешного выполнения команды. Определяется по значению записанному платформой 1C в файл DumpResult.
Если DumpResult = 0, то true - успех. Если DumpResult = 1, то false - ошибка или команда не выполнялась.

<string> ExportToYAML ([<string> PathFile])

Выгружает значения полей текущего объекта в формат YAML. Если указан файл, то результат выгрузки будет записан в файл.
ВНИМАНИЕ!!! Пароли будут выгружены в открытом виде.

<string> ExportToJSON ([<string> PathFile])

Выгружает значения полей текущего объекта в формат JSON. Если указан файл, то результат выгрузки будет записан в файл.
ВНИМАНИЕ!!! Пароли будут выгружены в открытом виде.

<string> GetExe1cv8

Возвращает полный путь к исполняемому файлу платформы 1cv8.exe.

<string> GetIBName

Возвращает значение свойства IBName.

<string> GetNameBase

Выводит имя базы выделенное из параметра конструктора PathBase или IBName.

<string> GetPlatform

Возвращает номер версии платформы в формает 8.3.XX.XXXX (если не установлено свойство IBName).

<hashtable> GetUserBase

Возвращает логин пользователя базы в виде hash-таблицы с двумя полями Name и Password.

<hashtable> GetUserStorage

Возвращает логин пользователя хранилища 1С в виде hash-таблицы с двумя полями Name и Password.

<void> ImportFrom (<string> PathFile)

Загружает значения полей выгруженные ранее методом ExportToYAML или ExportToJSON.

<void> Open

Открывает окно конфигуратора.

<void> Run (<string> Command, [<System.Array> Parametrs], [<bool> Wait = true], [<bool> Enterprise = false])

Запускает на выполнение переданный ключ командной строки Command с его возможными параметрами Parametrs в режиме конфигуратора и ожидает завершения выполнения команды.

<void> RunEnterprise ([<string> Command], [<System.Array> Parametrs], [<bool> Wait = false])

Запускает запускает базу в режиме предприятия. По умолчанию не дожидается завершения сеанса.
Можно передать дополнительные ключи запуска и их параметры.

<void> SetBase ([<string> PathBase], [<string> UserName], [<string> PasswordUser], [<string> IBName], [<string> Platform], [<string> LogFile])

Вызывается конструктором класса для инициализации параметров подключения конфигуратора к базе и определения платформы запуска.
Если номер платформы не указан, то будет предпринята попытка поиска в стандартном каталоге установки последней версии платформы 1с. Для переопределения каждого из параметров предусмотрены отдельные методы.

<void> SetExe1cv8 (<string> InstalledLocation1C_VersionPlatform1C_Exe1cv8)

Производит поиск исполняемого файла платформы последней установленной версии.
В качестве входного параметра можно передать:

  • пустую строку - будет произведен поиск в стандартном каталоге установки 1С последней установленной версии платформы.
  • каталог установки 1С - в переданном каталоге будет произведен поиск последней установленной версии.
  • номер версии платформы в формате 8.3.XX.XXXX - в стандартном каталоге установки, в подкаталоге с заданным номером версии будет произведен поиск 1cv8.exe.
  • полный путь к 1cv8.exe - будет установлен в качестве исполняемого файла платформы. По результатам поиска будет установлен номер найденной платформы.

ВАЖНО: Если установлено свойство IBName, то переданный параметр игнорируются, кроме передачи каталога установки 1С. В качестве исполняемого файла платформы устанавливается '\common\1cestart.exe' из стандартного (или из переданного) каталога установки 1С.

<void> SetIBName (<string> IBName, [<string> UserName], [<string> PasswordUser], [<string> LogFile])

Инициализарует подключение конфигуратора к базе. Параметры запуска платформы для указанной базы будут подставлены из файла iBases.v8i.

<void> SetLog ([<string> FullName], [<bool> Append = true])

Инициализирует логфайл. Если нету - создаст. Если есть - допишет. Если надо очистить существующий - Append = false. В файл выводится полный текст выполняемых команд, все сообщения платформы и время выполнения команд.
Если файл не указан, то на экран выводятся только ключи выполняемых команд и время их выполнения.

<void> SetStorage (<string> Storage, <string> UserName, [<string> UserPassword])

Инициализирует параметры подключения к хранилищу 1С.

<void> SetUserBase (<string> UserName, [<string> UserPassword])

Инициализирует логин подключения к базе.


Создание информационной базы

<void> CreateInfoBaseFile ([<string> NameToList])

Создает файловую информационную базу по адресу расположения базы PathBase.
Если указано имя базы NameToList, то база будет добавлена в список баз под этим именем.

<void> CreateInfoBaseSrvr ([<TypeDBMS> DataBaseManagmentSystem = [TypeDBMS]::MSSQLServer], [<string> NameDBSrvr], [<string> NameDB], <string> UserDBSrvr, <string> PwdUserDBSrvr, [<string> CreateDBifNull = 'Y'], [<string> ScheduleJobOff = 'N'], [<string> NameToList], <string> AdminCluster, <string> PwdAdminCluster)

Создает клиент-серверную информационную базу на серерве 1С по следующим параметрам

  • <TypeDBMS> DataBaseManagmentSystem - Тип СУБД задется при помощи перечисления
    enum TypeDBMS { MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase }.
    Перечисление добавляется в текущую сессию методом AddType при первом вызове New-Designer1C.
  • <string> NameDBSrvr - Имя сервера СУБД. Если не задано, то берется равным имени сервера 1С из адреса расположения базы PathBase.
  • <string> NameDB - Имя базы на сервер баз данных. Если не задано, то берется равным имени базы на сервере 1С из адреса расположения базы PathBase.
  • <string> UserDBSrvr - Имя пользователя сервера баз данных (пользователь должен иметь права на создание баз).
  • <string> PwdUserDBSrvr - Пароль пользователя сервера баз данных.
  • <string> CreateDBifNull - Создать базу данных в случае ее отсутствия. Возможные значения "Y"(по умолчанию) и "N".
  • <string> ScheduleJobOff - В созданной информационной базе запретить выполнение регламентных созданий. Возможные значения "Y" и "N"(по умолчанию).
  • <string> NameToList - имя базы под которым создаваему базу необходимо добавить в список баз. Если не задано, то база не будет добавлена в список баз.
  • <string> AdminCluster - Имя администратора кластера, в котором должна быть создана база. Параметр необходимо задавать, если в кластере определены администраторы и для них аутентификация операционной системы не установлена или не подходит.
  • <string> PwdAdminCluster - Пароль администратора кластера.

Выгрузка и загрузка информационной базы

<void> DumpIB (<string> FileDT) - Выгружает информационную базу в файл.
<void> RestoreIB(<string> FileDT) - Загружает информационную базу из файла.


Конфигурация и расширения

<void> DumpCfg (<string> FileCF, [<string> NameExtension])

Выполнить сохранение конфигурации или расширения конфигурации в файл. Сохранение конфигурации расширения будет выполняться при корректном указании параметра NameExtension.

<void> DumpConfigToFiles (<string> UploadDirectory, [<string> ListFiles])

Выполнить выгрузку конфигурации в файлы каталога UploadDirectory. ListFiles ‑ указывает файл со списком объектов, которые будут выгружены.
Объекты из списка будут выгружены полностью, за исключением подчиненных объектов, которые выступают как отдельные объекты разработки. Для выгрузки таких подчиненных объектов их следует явно указать в списке.
Если объект из списка имеет подчиненные объекты, не являющиеся отдельными объектами разработки, но имеющие внешние свойства, то внешние свойства таких объектов также будут выгружены.

<void> LoadCfg (<string> FileCF, [<string> NameExtension], [<bool> UpdDBCfg = false])

Выполнить загрузку конфигурации или расширения конфигурации NameExtension из файла FileCF. Загрузка конфигурации расширения будет выполняться при корректном указании параметра NameExtension. Если в момент загрузки расширение отсутствует в информационной базе ‑ оно будет создано с указанным именем. Если расширение подключено к хранилищу конфигурации ‑ его загрузка невозможна. Если UpdDBCfg = true, то будет выполнено обновление конфигурации базы данных. По умолчанию UpdDBCfg = false.

<void> LoadConfigFromFiles(<string> LoadDirectory, [<string> ListFiles], [<bool> UpdDBCfg = false])

Выполнить загрузку конфигурации из файлов каталога LoadDirectory.

  • <string> ListFiles - путь к файлу, который содержит список загружаемых файлов. Файлы в списке перечисляются по одному имени файла на строку, каждое имя может быть как полным (с указанием полного пути к файлу), так и с указанием пути относительно каталога загрузки. Строки должны разделяться переводом строки. Перевод строки поддерживается как в варианте Windows, так и в варианте Linux. Файл ожидается в кодировке UTF-8. Пустые строки не поддерживаются. Строка может быть пропущена, если начинается с REM.
    Также список загружаемых файлов может быть задан строкой в кавычках с перечислением файлов через запятую. В этом случае комментарии REM не поддерживаются.

  • UpdDBCfg - Если равно true, то будет выпонено обновление конфигурации базы данных. По умолчанию false.

<void> UpdateDBCfg(<bool> Dynamic = false)

Выполнить обновление конфигурации базы данных. По умолчанию динамическое обновление запрещено. Dynamic = true разрешает динамическое обновление. Вначале выполняется попытка выполнить обычное обновление, если попытка не удалась (в базе есть пользователи) ‑ происходит попытка выполнить динамическое обновление.


Команды создания файла поставки и обновления

<void> CreateDistributionFiles(<string> cffile, <string> cfufile, <string> NameCF_VersionCF, <string> digisign, <bool> WarningAsError = false)

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

  • <string> cffile - имя cf-файла, если задан, то будет создан файл поставки.
  • <string> cfufile - имя cfu-файла, если задан, то будет создан файл обновления.
  • <string> NameCF_VersionCF - Задается имя cf-файла который необходимо включить в поставку или номер версии.
  • <string> digisign - имя файла с параметрами лицензирования, указание параметров лицензирования рабочего места пользователя. <bool> WarningAsError - Если true, то несоответствие цифровой подписи мобильного клиента текущим метаданным трактуется как ошибка с прерыванием процесса. Если false, то несоответствие подписи и конфигурации не считается ошибкой и процесс не прерывается. По молчанию значение false.

Команды работы с хранилищем конфигурации

<void> RepositoryBindCfg ([<bool> forceBindAlreadyBindedUser = true], [<bool> forceReplaceCfg = true], [<string> Extension])

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

  • <bool> forceBindAlreadyBindedUser ‑ выполняет подключение даже в том случае, если для данного пользователя уже есть конфигурация, связанная с данным хранилищем. По умолчанию true.
  • <bool> forceReplaceCfg ‑ если конфигурация непустая, данный параметр подтверждает замену конфигурации на конфигурацию из хранилища. По умолчанию true.
  • <string> Extension - имя расширения с хранилищем которого будет выполняться команда. Если параметр не указан ‑ операция будет выполняться с хранилищем основной конфигурации.

<void> RepositoryDumpCfg (<string> FileCF, [<string> Version], [<string> Extension])

Сохранить конфигурацию из хранилища в файл.

  • <string> FileCF - полное имя файла.
  • <string> Version ‑ номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия. -<string> Extension - имя расширения с хранилищем которого будет выполняться команда. Если параметр не указан ‑ операция будет выполняться с хранилищем основной конфигурации.

<void> RepositoryCommit ([<string> Objects], [<string> Comment], [<bool> keepLocked] = false, [<bool> Force = false], [<string> Extension])

Выполняет помещение изменений объектов в хранилище конфигурации.

  • <string> Objects - путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан ‑ в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация. Описание формата файла.
  • <string> Comment - текст комментария к помещаемым объектам.
  • <bool> keepLocked - оставлять помещенные объекты захваченными. По умолчанию после помещения захват объектов будет отменен.
  • <bool> Force - Если равно true, то будет выполнена попытка очистки ссылок. По умолчанию будет выдана ошибка.
  • <string> Extension - имя расширения, с хранилищем которого будет выполняться команда. Если параметр не указан ‑ операция будет выполняться с хранилищем основной конфигурации.

<void> RepositoryLock ([<string> Objects], [<bool> Revised = true], [<string> Extension])

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

  • <string> Objects - путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан ‑ в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация. Описание формата файла.
  • <bool> Revised - получать захваченные объекты, если потребуется. По умолчанию true.
  • <string> Extension - имя расширения, с хранилищем которого будет выполняться команда. Если параметр не указан ‑ операция будет выполняться с хранилищем основной конфигурации.

<void> RepositoryUnLock ([<string> Objects], [<bool> Force = false], [<string> Extension])

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

  • <string> Objects - путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан ‑ в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация. Описание формата файла.
  • <bool> Force - По умолчанию при наличии локально измененных объектов будет выдана ошибка, и операция будет отменена целиком, для всех объектов, участвующих в операции.
    Если указано true, то локально измененные объекты будут получены из хранилища. Изменения будут потеряны.
  • <string> Extension - имя расширения, с хранилищем которого будет выполняться команда. Если параметр не указан ‑ операция будет выполняться с хранилищем основной конфигурации.

<void> RepositoryUpdateCfg (<string> Version, <bool> Revised = false, <bool> Force = true, <string> Objects, <string> Extension){

Обновить конфигурацию из хранилища.

  • <string> Version ‑ номер версии в хранилище конфигурации. В том случае, если конфигурация подключена к хранилищу, то номер версии (если он указан) игнорируется и будет получена актуальная версия конфигурации хранилища. Если конфигурация не подключена к хранилищу, то выполняется получение указанной версии, а если версия не указана (или значение равно -1) ‑ будет получена актуальная версия конфигурации.
  • <bool> Revised - получать захваченные объекты, если потребуется. Если конфигурация не подключена к хранилищу, то параметр игнорируется. По умолчанию false.
  • <bool> Force - если при пакетном обновлении конфигурации из хранилища должны быть получены новые объекты конфигурации или удалиться существующие, указание этого параметра свидетельствует о подтверждении пользователем описанных выше операций. Если параметр не указан ‑ действия выполнены не будут. По умолчанию true.
  • <string> Objects - путь к файлу со списком объектов, которые будут участвовать в операции. Если файл указан ‑ в операции участвуют только указанные в файле объекты, в противном случае участвует вся конфигурация. Описание формата файла.
  • <string> Extension - имя расширения, с хранилищем которого будет выполняться команда. Если параметр не указан ‑ операция будет выполняться с хранилищем основной конфигурации.

Updated