Giter VIP home page Giter VIP logo

autodocgen's Introduction

AutodocGen

Инструмент генерации документации на основании файлов исходных кодов конфигурации 1С:Предприятие.

Об инструменте

Инструмент позволяет

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

Установка

Процесс установки стандартен:

  • либо opm install autodocgen
  • либо, если по разным причинам первый способ не подходит, то скачать архив из релизов, распаковать и выполнить (для windows) installlocalhost.bat

Использование

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

Конфигурационный файл соответствует структуре единого конфигурационного файла, ниже приведен пример

    {
        "GLOBAL": {
            "КаталогИсходныхФайлов": "src\\configuration",
            "version": "1.0.4"
        },
        "AutodocGen":{
            "НастройкиConluence": {
                "АдресСервера":"https://my-confluence.myhost.ru",
                "Пользователь":"user",
                "Пароль":"password",
                "Пространство":"key",
                "КорневаяСтраница":"Имя кореневой страницы в пространстве key",
                "ПутьКШаблонам": "",
                "АнализироватьТолькоПотомковПодсистемы": "МояКорневаяПодсистема"
            },
            "НастройкиHTML": {
                "ПутьКШаблонам": "",
                "КаталогПубликации": "./doc",
                "АнализироватьТолькоПотомковПодсистемы": "МояКорневаяПодсистема"
            },
            "ПоследнийОбработанныйКоммит": ""
        }
    }

Располагать конфигурационный файл нужно в корне репозитория под именем v8config.json.

Поддерживаемые варианты генерации автодокументации

Как видно из пример конфигурационного файла, поддерживаются 2 формата (ключ -format)

  • confluence - генерация страниц в указанном пространстве confluence
  • html - генерация структуры каталогов в соответствии с подсистемами и файлов-страниц в каталогах.

Для добавления новых стоит воспользоваться шаблоном src/Классы/ШаблонГенераторДокументации.os-template

Подготовка конфигурации

Для генерации документации конфигурация должна соответствовать требованиям:

  • Все модули должны иметь определенную структуру областей (в соответствии с требованиями 1С)
  • В документацию добавляются только экспортные методы, находящиеся в разделе ПрограммныйИнтерфейс
  • Описание методов должно соответствовать требованиям оформления кода
  • Поддерживаются общие модуи и модули менеджеров объектов
  • Все модули / объекты, которые попадают под правила автодокументирования, должны располагаться в соответствующих подсистемах. Принятая структура:

    Подсистемы конфигурации
    |
    +-- МояКорневаяПодсистема (не выводится в интерфейс пользователя)
        |
        +-- Раздел
            |
            +-- Подсистема
                |
                +-- ОбъектМетаданных

Примеры

В формате Confluence

confluence

confluence

confluence

В Формате HTML

html

html

autodocgen's People

Contributors

artbear avatar bia-tech avatar otymko avatar suffart avatar theshadowco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autodocgen's Issues

Недоступна команда generate из cli

При установке пакета autodocgen (через opm ставим .ospx) и вызове из cmd:

autodocgen generate

Ошибка:

D:\DATA\Develop\temp\test-docs>autodocgen generate
{Модуль C:\Program Files (x86)\OneScript\lib\autodocgen\src\Модули\ПараметрыСист
емы.os / Ошибка в строке: 119 / Ошибка в выражении}

Причины две.
Первая причина:
ФайлыКоманд = НайтиФайлы(ОбъединитьПути(ТекущийКаталог(), "src", "Команды"), "*.os");
Текущий каталог - это каталог, откуда запущен скрипт.
Вторая причина: Когда в цикле перебираются команды стоит условие:
СтрНачинаетсяС(ФайлКоманды.ИмяБезРасширения, "Команда")
В итоге это исключает вывод команды СгенерироватьДокументацию.os:
image

Падает при разборе configuration.xml

09.06.2018 16:24:37: КРИТИЧНАЯОШИБКА - {Модуль C:\Program Files (x86)\OneScript
lib\autodocgen\src\Классы\РазборСтруктурыКонфигурации1С.os / Ошибка в строке: 57
8 / Неверное значение аргумента}
СвойстваКонфигурации.Вставить(КлючСвойства, ЧтениеXML.Значение);

Падает на
<DefaultRoles> <xr:Item xsi:type="xr:MDObjectRef">Role.ПолныеПрава</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">Role.АдминистраторСистемы</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item> <xr:Item xsi:type="xr:MDObjectRef">Role.ПолныеПраваCI</xr:Item> </DefaultRoles>

Ошибка в РазборСтруктурыКонфигурации1С.ПрочитатьОписаниеКонстант()

	Фильтр = Новый Структура("Тип", "Constant");
	
	СтрокиКонстант = ОписаниеКонфигурации.ОбъектыКонфигурации.НайтиСтроки(Фильтр);

В configuration.xml в Properties есть узел DefaultConstantsForm
у нас он пустой, например. Т.е.
<DefaultConstantsForm/>
соответственно, эта строка подпадает ошибочно под фильтр

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.