Skip to main content

Пакет для автоматизации взаимодействия с пакетным режимом 1С.

Project description

image image

Пакет для автоматизации взаимодействия с пакетным режимом 1С.

Формат команд поддерживается только > 8.3.12

Установка:

pip install designer_cmd

Пример использования:

from designer_cmd import api

conn = api.Connection(user='User', password='Password', file_path='DB_Path')
designer = api.Designer('8.3.12.1254', self.conn)

designer.load_config_from_file('path_to_cf_file')

# Пример работы с хранилищем - создание хранилища 

repo_conn = api.RepositoryConnection('REPO_PATH', 'user', 'password')
designer.repo_connection = repo_conn

designer.create_repository()

Функциональность:

  • Работа в контексте Windows.

  • Выгрузка/Загрузка cf.

      designer.load_config_from_file('path_to_cf_file')
      designer.dump_config_to_file('path_to_cf_file')      
    
  • Выгрузка/Загрузка в/из xml, поддерживается инкрементальный режим выгрузки

      designer.dump_config_to_files(dir_xml_config_path)
      designer.load_config_from_file(self.cf_path)
    
  • Выгрузка/Загрузка расширений из xml.

      designer.load_extension_from_files('dir_with_xml_data', 'extension_name')
      designer.dump_extension_to_files('dir_with_xml_data', 'extension_name')       
      
      # Выгрузка всех расширений
      designer.dump_extensions_to_files(cfe_dir_path)
    
  • Проверка применения расширения\расширений

      self.designer.check_apply_extension('extension_name')
      # Выгрузка всех расширений
      self.designer.check_apply_extension()
    
  • Удаление расширения\вех расширений из базы

      self.designer.delete_extension('extension_name')
      # Всех раширений:
      self.designer.delete_extension()
    
  • Выгрузка/Загрузка расширений из файлов cfe

      designer.dump_extension_to_file('cfe_file', 'extension_name')
      designer.load_extension_from_file('cfe_file', 'extension_name')
    
  • Выгрузка/Загрузка dt.

      designer.load_db_from_file('dt_path')
      designer.dump_db_to_file('dt_path')
    
  • Сравнение конфигурации с файлом cf

      designer.compare_config_with_file('path_to_cf', 'report_path')
    
  • Объединение конфигурации с файлом cf

      designer.merge_config_with_file('path_to_cf', 'path_to_merge_settings')      
    
  • Обновление структуры конфигурации

      designer.update_db_config()
    
  • Конвертация cf, cfe в xml.

      api.convert_cf_to_xml('path_to_cf') 
      api.convert_cfe_to_xml('path_to_cfe')      
    
  • Работа с хранилищем

    • Определение параметров подключения:

        # Перед вызовом функций хранилища, необходимо определить настройки подклчения
        
        repo_conn = api.RepositoryConnection('REPO_PATH', 'user', 'password')
        designer.repo_connection = repo_conn
      
    • Добавление пользователя хранилища

        designer.add_user_to_repository('user', 'password', )
      
    • Захват и освобождение объектов

        designer.lock_objects_in_repository("path_to_file_with_list_obj")      
        designer.unlock_objects_in_repository("path_to_file_with_list_obj") 
      
    • Помещение объектов в хранилище

        designer.commit_config_to_repo('comment', 'repo_obj_list')  
      
    • Обновление конфигурации базы из хранилища

        designer.update_conf_from_repo()
      
    • Привязка конфигурации к хранилищу

        designer.bind_cfg_to_repo()
      
    • Привязка конфигурации к хранилищу

        designer.unbind_cfg_from_repo()
      
  • Работа в режиме Enterprise

    from designer_cmd import api
    conn = api.Connection(user='User', password='Password', file_path='DB_Path') ent = api.Enterprise('8.3.12.1254', self.conn)

    • Запуск обработки в базе:

        ent.run_app(
            ep_x_path=path_to_epf,
            c_string='params_to_c'
        ) 
      
    • Запуск в режиме ТестМенеджера

        ent.run_app(mode=ent.RunMode.MANAGER, wait=False) # Без ожидания 
        ent.run_app(mode=ent.RunMode.MANAGER) # Ожидать завершения
      
    • Запуск в режиме Тестклиента (При запуске производиться проверка доступности порта)

        ent.run_app(mode=ent.RunMode.CLIENT, port=1538, wait=False) # Без ожидания (порт по умолчанию 1538) 
        ent.run_app(wait=True) # Ожидать завершения
      
    • Запуск

        ent.run_app() # Возможен запуск без ожидания.
      
    • Завершение всех запущенных клиентов по текущему соединению

        ent.kill_all_clients()  
      
  • Работа с кластером через Rac:

      from designer_cmd import api
    
      conn = api.RacConnection(admin, passwd, server, port)
      r = api.Rac(v_8version, conn)
      # r.set_cluster_id(cluster_id) # Если есть несколько кластеров под управлением ras 
      r.set_cluster_id() # Установить id первого кластера в списке r.cluster.get_cluster_list()
    
    • Высокоуровневый api:

        r.disconnect_users(base_ref='base_name')
      
    • Режим cluster:

        cluster_list = r.cluster.get_cluster_list()
      
    • Режим infobase:

        base_data = r.infobase.get_base_by_ref(base_name)
        r.base_id = base_data.get('infobase')
        
        r.infobase.get_base_list()
        r.infobase.deny_sessions(permission_code='333')
        r.infobase.deny_scheduled_jobs()
      
      • Удаление базы:

        base_data = r.infobase.get_base_by_ref(base_name)
        r.base_id = base_data.get('infobase')
        
        r.infobase.drop_base()
        
      • Созданеие базы

        server_type = api.SqlServerType.MSSQL
        sql_conn = api.SqlServerConnection(host=host, user=user, password=password, type=server_type)
        
        new_base_id = self.mod.create_base(db_name, sql_conn)
        
    • Режим sessions:

        session_list = r.sessions.get_session_list()
        r.sessions.session_info(session_id)
        r.sessions.terminate_session(session_id)
      

#Планируемая фукциональность:

  • Работа в контексте linux
  • Работа с git

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

designer_cmd-0.2.18.tar.gz (112.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

designer_cmd-0.2.18-py3-none-any.whl (117.2 kB view details)

Uploaded Python 3

File details

Details for the file designer_cmd-0.2.18.tar.gz.

File metadata

  • Download URL: designer_cmd-0.2.18.tar.gz
  • Upload date:
  • Size: 112.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.10

File hashes

Hashes for designer_cmd-0.2.18.tar.gz
Algorithm Hash digest
SHA256 905ee165e5c08251d69b4e771b5b6526749f928b9760560fc84ac9f429c9b489
MD5 621f5c23014f8ccc26a040763b6ad040
BLAKE2b-256 57340231503672a38cf23df63de428ebd4c3b7f8a0eb9118feaee3c8e2fc2083

See more details on using hashes here.

File details

Details for the file designer_cmd-0.2.18-py3-none-any.whl.

File metadata

  • Download URL: designer_cmd-0.2.18-py3-none-any.whl
  • Upload date:
  • Size: 117.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.10

File hashes

Hashes for designer_cmd-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 7230788f374468ee7bf067b6568685cac0a06cf54c9f0da94d7ef020aec15ee1
MD5 5dd7b15bf31670fdb0d57bbf9ebaa3b2
BLAKE2b-256 99cf95d1a5627beca5d2799049d7d556f94ce37ab8df57955ad43af8dcba3cc1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page