Giter Club home page Giter Club logo

conf_robber's Introduction

conf_robber

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

Иструкция по сборке (Windows)

Далее для сборки необходимо запустить скрипт build.bat, который находится в корневом каталоге проекта.

Собранный проект для Windows можно скачать здесь

https://yadi.sk/d/o9fRQZh-uc7xw

Параметры запуска:

ВНИМАНИЕ: все пути к файлам и каталогам должны указываться полностью. Т.е. 'C:/Temp/conf.cf' - правильно, 'Temp/conf.cf' - неправильно

Разборка конфигурационного файла в каталог:

conf_robber -P "--cf=<путь к файлу *.cf>" "--target=<путь к каталогу, в который распаковываем>" --log-level=info

Разборка конфигурационного файла в каталог, на основании настроек:

conf_robber -P "--cf=<путь к файлу *.cf>" "--target=<путь к каталогу, в который распаковываем>" --log-level=info "--settings=<путь к файлу settings.xml>"

Пример файла настроек settings.xml

Сборка конфигурационного файла из ранее разобранного:

conf_robber -B "--dir=<путь к каталогу, в который была распакована конфигурация>" "--target=<путь к каталогу, в котором будет создан файл с собранной конфигурацией>" --log-level=info

Один из способов использования проекта

Исходные данные: Основная разработка ведется в одной из стандартных конфигураций 1С, куда добавляются новые объекты метаданных.

Задача: В другой конфигурации нужно проверить только измененные объекты метаданных

Выполняемые действия:

  1. Выгрузить конфигурационный файл 1С
  2. С помощью данного проекта оставить в конфигурационном файле только нужные объекты метаданных
  3. Сравнить и объединить конфигурации

Пример:

@echo off
rem -*- coding:OEM -*- 

rem Внимание: т.к. в 1С принято имена пользователей вводить кириллицей,  
rem то batch файл обязательно должен быть создан в кодировке OEM.
rem Иначе команда запуска 1С в пакетном режиме будет выдавать ошибку.

"C:\Program Files (x86)\1cv8\<Версия>\bin\1cv8.exe" DESIGNER /F "<Путь к базе>" /N "<Имя пользователя>" /DumpCfg "C:/Temp/temp.cf" /Out "C:/Temp/DumpCfg.log"
if not %errorlevel% == 0 (
 exit 1
)
conf_robber -P "--cf=<путь к файлу *.cf>" "--target=<путь к каталогу, в который распаковываем>" --log-level=info "--settings=<путь к файлу settings.xml>"
if not %errorlevel% == 0 (
 exit 2
)

rem <Нужные действия>

За счет быстрого разбора конфигурационного файла с помощью данного проекта, объединение конфигураций выполняется очень быстро. Например в конфигурацию «1С:Бухгалтерия предприятия, редакции 3.0», было добавлено 80 или больше общих моделей и одна обработка. Разбор конфигурационного файла (400 МБ) на машине с процессором Intel® Core™ i3 и 8 ГБ ОЗУ составляет шесть секунд.

License

This project and libraries in the directory 'libs' is licensed under MIT license.

Copyright (C) Evgeny Khramtsov, 2016

conf_robber's People

Contributors

ava57r avatar khevse avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.