Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) XML и ALS–документация по классам (число прочтений - 12017 )
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
XML и ALS–документация по классам
16. Октября 2008 :: 07:56
Печать  
Как известно, "MetaInfoClasses" может генерировать MetaInfoClasses XML и ALS–документацию по классам.
В описании всего этого написано:
Цитата:
Для возможности формирования ALS – файла из XML комментариев определены 6 специальных тэгов названия, которые можно изменять:
•      Пространство имен (по умолчанию namespace). Этот тэг формирует папку в Синтакс-помощнике 1С
•      Класс (по умолчанию class)
•      Метод (по умолчанию method)
•      Параметр метода (по умолчанию param)
•      Возвращаемое значение (по умолчанию returns)
•      Свойство (по умолчанию property)
•      У всех вышеописанных тэгов, кроме возвращаемого значения, обязан быть атрибут имя (по умолчанию name)
Например (жирным шрифтом выделены все необходимые тэги и атрибуты):
/// <namespace name="Мои супер классы">
//****************************************************************************
///<class name = "МойКласс" Version = "1.0" LastDate = ""
///descr = ""
///depends = "" use = "" author = "Гусев Д.А." firm = "OXY" base = ""
///example = "" remark = "">
class МойКласс=МойКласс.ert
{
//*********************************************************************
     /// <property name="Атрибут1" access="Public" type="Строка">
     /// Атрибут первый
     /// </property>
     //**********************************************************************
     /// <method name="Метод" access="Public">
     /// <summary></summary>
     /// <example></example>
     /// <remark></remark>
     /// <param name="Число" mod="[in] | [out]" type="чПарам1" defaultValue = "1">Параметр первый</param>
     /// <returns type="Число">Что </returns>
     /// <sig>
     Число Метод(Число чПарам1 = 1);
     /// </sig>
     /// </method>
};      
///</class>
/// </namespace>
В поставку с ВК включен демонстрационный пример формирования als-файла для класса. И предложены шаблоны заполнения для 1C редактора, где есть сокращения: класс\ мет\ пар\ св\ прим\ и их англ. эквиваленты.

А где можно поподробнее почитать про эти тэги? Или может кто-то разъяснит. Вот например здесь:
Цитата:
/// <param name="Число" mod="[in] | [out]" type="чПарам1" defaultValue = "1">Параметр первый</param>

можно логически догодаться что есть что, но как мне узнать все эти "defaultValue", "mod" и "type"? Откуда вы берёте этот список?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #1 - 16. Октября 2008 :: 08:05
Печать  
Я к чему всё это.
Сегодня(!) с радостью для себя обнаружил файлики xml2tls.exe и als2xml.js. Оказывается, телепату можно давать подсказки!!!  Ужас А мужики-то и не знали  Смущённый
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #2 - 16. Октября 2008 :: 08:31
Печать  
насколько помню почитать можно в доке по 1С++ (качай исходники)
насчет скрипта есть"прикол", чтобы нормально генерился xml надо запускать скрипт из конфига, если из shell с параметром - левак.

  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #3 - 16. Октября 2008 :: 10:34
Печать  
JohnyDeath писал(а) 16. Октября 2008 :: 08:05:
А мужики-то и не знали  Смущённый

Знающие мужики как раз знали и давно юзают, с момента появления этой фичи Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #4 - 16. Октября 2008 :: 11:19
Печать  
Phoenix писал(а) 16. Октября 2008 :: 08:31:
насколько помню почитать можно в доке по 1С++ (качай исходники)
насчет скрипта есть"прикол", чтобы нормально генерился xml надо запускать скрипт из конфига, если из shell с параметром - левак.


А может кто-нибудь сюда выложить именно эти описания? У меня просто трафик не московский  Печаль
А как именно "левак" проявляется? Вроде сгенерировал, пока ничего плохого не увидел.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #5 - 16. Октября 2008 :: 17:45
Печать  
ок, завтра выложу
параметры процедур\функций идут обычным текстом, а не разделены.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #6 - 17. Октября 2008 :: 05:31
Печать  
Что-то я описаний не заметил в исходниках 1С++ Печаль
Вот сам файл CreaterALS.ert - его дата 26.01.03 - поставка из версии 1.7.0.0 Улыбка
  

CreaterALS.ert ( 16 KB | Загрузки )

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #7 - 17. Октября 2008 :: 05:37
Печать  
artbear писал(а) 17. Октября 2008 :: 05:31:
Что-то я описаний не заметил в исходниках 1С++ Печаль
Вот сам файл CreaterALS.ert - его дата 26.01.03 - поставка из версии 1.7.0.0 Улыбка

Это просто создавалка. Как генерировать ALS я знаю, а вот как правильно и наиболее полно описать методы я не знаю.  Печаль
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #8 - 17. Октября 2008 :: 05:44
Печать  
+1
Тут недавно тоже пытался поковырять эту тему - честно говоря не очень понятны некоторые моменты.

Конечно простейшее описание методов классов сделал, но например описание параметров как то странно работает.

Кстати, пришёл к такой идее: не очень удобно делать описание в файлах prm, так как загромождается описание методов,
поэтому сделал отдельный prm файл типа als.prm, в котором и делаю описание методов классов для генерирования als.

Конечно теряется идея составления документации параллельно с кодом, но мне так показалось удобнее.
А вообще было бы здорово, что бы xml-разметку можно было бы прямо в классах хранить.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #9 - 17. Октября 2008 :: 05:50
Печать  
CaBaT писал(а) 17. Октября 2008 :: 05:44:
А вообще было бы здорово, что бы xml-разметку можно было бы прямо в классах хранить.

Я тоже за это! В душе теплилась надежда, что это уже давно есть... оказывается всё не так шоколадно
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #10 - 17. Октября 2008 :: 05:59
Печать  
JohnyDeath писал(а) 17. Октября 2008 :: 05:50:
В душе теплилась надежда, что это уже давно есть...

может конечно я не нашёл просто...

а вообще была шальная мысль написать скриптик для выдирания тегов из классов через GComp, только фиг знает когда руки дойдут, поэтому пока остановился на описанном выше варианте.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #11 - 17. Октября 2008 :: 06:15
Печать  
CaBaT писал(а) 17. Октября 2008 :: 05:59:
JohnyDeath писал(а) 17. Октября 2008 :: 05:50:
В душе теплилась надежда, что это уже давно есть...

может конечно я не нашёл просто...

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

Подумалось:
1. Есть методы для создания ALS из prm
2. Есть возможность брать код конкретной обработки/класса (тот же ВМ)
Может можно будет сделать так, чтобы ALS создавался сразу из обработки?
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #12 - 17. Октября 2008 :: 06:16
Печать  
Да, мне тоже кажется, что это возможно
Может Артура попросить? А вдруг он согласится? Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #13 - 17. Октября 2008 :: 06:18
Печать  
JohnyDeath писал(а) 17. Октября 2008 :: 06:15:
CaBaT писал(а) 17. Октября 2008 :: 05:59:
JohnyDeath писал(а) 17. Октября 2008 :: 05:50:
В душе теплилась надежда, что это уже давно есть...

может конечно я не нашёл просто...

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

Подумалось:
1. Есть методы для создания ALS из prm
2. Есть возможность брать код конкретной обработки/класса (тот же ВМ)
Может можно будет сделать так, чтобы ALS создавался сразу из обработки?

Задумывался над этим.
1. Пока нет простой возможности получать текст произвольной обработки или класса.
Хотя для класса можно добавить встроенный метод КОП::CreateALS(ФлагИзМодуля =1, ФлагИзПрмФайла = 0) - который работает аналогично MetaInfoClasses::CreateALS

Над сложностью этой разработки не задумывался.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #14 - 17. Октября 2008 :: 06:20
Печать  
Это было бы здорово! Тогда документирование было бы намного проще!
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #15 - 17. Октября 2008 :: 06:27
Печать  
artbear писал(а) 17. Октября 2008 :: 06:18:
JohnyDeath писал(а) 17. Октября 2008 :: 06:15:
CaBaT писал(а) 17. Октября 2008 :: 05:59:
JohnyDeath писал(а) 17. Октября 2008 :: 05:50:
В душе теплилась надежда, что это уже давно есть...

может конечно я не нашёл просто...

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

Подумалось:
1. Есть методы для создания ALS из prm
2. Есть возможность брать код конкретной обработки/класса (тот же ВМ)
Может можно будет сделать так, чтобы ALS создавался сразу из обработки?

Задумывался над этим.
1. Пока нет простой возможности получать текст произвольной обработки или класса.
Хотя для класса можно добавить встроенный метод КОП::CreateALS(ФлагИзМодуля =1, ФлагИзПрмФайла = 0) - который работает аналогично MetaInfoClasses::CreateALS

Над сложностью этой разработки не задумывался.

Сделать хотя бы возможность создавать ALS не из prm, а прям из текста. Вот примерно так себе это вижу:
Код
Выбрать все
ТекстКласса=РасширениеФормы.ТекстМодуля;
MetaInfoClasses.CreateALSизТекста(ТекстКласса); 

  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #16 - 17. Октября 2008 :: 06:44
Печать  
OpenConf + script's никто не отменял.
распрасить модуль, выдернуть все проц/функ - не проблема.
примеров полно.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #17 - 17. Октября 2008 :: 06:46
Печать  
JohnyDeath писал(а) 17. Октября 2008 :: 06:27:
Сделать хотя бы возможность создавать ALS не из prm, а прям из текста. Вот примерно так себе это вижу:
Код
Выбрать все
MetaInfoClasses.CreateALSизТекста(ТекстКласса); 


Да, ИМХО это можно сделать в 1С++ без проблем Улыбка
Пиши в багзиллу.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #18 - 17. Октября 2008 :: 06:48
Печать  
Правда, пока гарантий, что нормально возьмется текст из модуля, не дам.
Вдруг для 1С++ важен именно формат прм-файла - вряд ли, конечно, но эту возможность пока не могу исключить.
Разберусь
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #19 - 17. Октября 2008 :: 06:55
Печать  
Phoenix, документация не нашлась?

ОФФ: млин, с этим переездом багзиллы придётся новый аккаунт создавать
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #20 - 17. Октября 2008 :: 07:02
Печать  
artbear писал(а) 17. Октября 2008 :: 06:46:
JohnyDeath писал(а) 17. Октября 2008 :: 06:27:
Сделать хотя бы возможность создавать ALS не из prm, а прям из текста. Вот примерно так себе это вижу:
Код
Выбрать все
MetaInfoClasses.CreateALSизТекста(ТекстКласса); 


Да, ИМХО это можно сделать в 1С++ без проблем Улыбка
Пиши в багзиллу.

Очень довольный
Готово
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #21 - 17. Октября 2008 :: 07:43
Печать  
Phoenix писал(а) 17. Октября 2008 :: 06:44:
OpenConf + script's никто не отменял.
распрасить модуль, выдернуть все проц/функ - не проблема.
примеров полно.

А можешь показать? я нашёл только "...\Разное\ValidateXmlComments.js" но я не пойму как он работает  Нерешительный (у меня он, по-моему, вообще не работает).
И ещё: был бы скрипт по добавлению этих комментов - вообще лафа была б.
Например, я нажимаю хоткей, мне вылазиет окно, где я должен заполнить имя метода, параметры и т.д. по списку (, которого почему-то ни у кого нет, хотя многие пишут "правильно"). После заполнения в модуль формы в текущую строку уже падает "нормальный" текст для последующего парсинга. Такое вообще реально сделать. Тут скорее всего вся сложность в том самом окне, где надо вносить данные, т.е. хочется сразу всё в одном окне.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #22 - 17. Октября 2008 :: 10:50
Печать  
JohnyDeath писал(а) 17. Октября 2008 :: 06:55:
Phoenix, документация не нашлась?

ОФФ: млин, с этим переездом багзиллы придётся новый аккаунт создавать

нет, ничего подробней не нашел, но и этого достаточно.
сделать скрипт для заполнения информации по тэгам возможно. смотри скрипт Авторские комментарии, там динамически генерится html страница, заполняются данные, которые потом пишутся в реестр.
пока что сам не особо использую описание классов, описал только 1 свой класс. в остальных случаях пока не было необходимости.
базис документации хранится в модуле. для этого использую свой скрипт DocumentationMarkdownStyle.js (лежит в разделе репозитарий).
+ каждое изменение идет по конкретной задаче, в коде: пишется коммент с номером задачи.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #23 - 17. Октября 2008 :: 11:04
Печать  
Phoenix писал(а) 17. Октября 2008 :: 10:50:
JohnyDeath писал(а) 17. Октября 2008 :: 06:55:
Phoenix, документация не нашлась?

ОФФ: млин, с этим переездом багзиллы придётся новый аккаунт создавать

нет, ничего подробней не нашел, но и этого достаточно.
сделать скрипт для заполнения информации по тэгам возможно. смотри скрипт Авторские комментарии, там динамически генерится html страница, заполняются данные, которые потом пишутся в реестр.
пока что сам не особо использую описание классов, описал только 1 свой класс. в остальных случаях пока не было необходимости.
базис документации хранится в модуле. для этого использую свой скрипт DocumentationMarkdownStyle.js (лежит в разделе репозитарий).
+ каждое изменение идет по конкретной задаче, в коде: пишется коммент с номером задачи.

А чего ЭТОГО достаточно? то, что я в 0-м посте написал?
Только что скачал http://1c.alterplast.ru/files/ocs/ocs_last.dos.zip там твоего скрипта DocumentationMarkdownStyle.js нет.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #24 - 17. Октября 2008 :: 11:10
Печать  
да нет, т.к. не пользуюсь репозитарием.
надо на форуме брать.
если честно, мне того описания хватило, базовый английский помог Улыбка
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #25 - 17. Октября 2008 :: 11:14
Печать  
никак руки не дойдут чтобы привести в порядок свои наработки и выложть их в сеть.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #26 - 17. Октября 2008 :: 11:18
Печать  
Phoenix писал(а) 17. Октября 2008 :: 11:10:
да нет, т.к. не пользуюсь репозитарием.
надо на форуме брать.
если честно, мне того описания хватило, базовый английский помог Улыбка

Ну что в том описании етсь, то я тоже понял
Цитата:
А где можно поподробнее почитать про эти тэги? Или может кто-то разъяснит. Вот например здесь:
Цитата:
/// <param name="Число" mod="[in] | [out]" type="чПарам1" defaultValue = "1">Параметр первый</param>

можно логически догодаться что есть что, но как мне узнать все эти "defaultValue", "mod" и "type"? Откуда вы берёте этот список?

Просто хотелось бы наиболее полное описание: где какие параметри могут быть, какие значения и т.д.

А можешь хотябы этот скрипт сюда положить "на посмотреть"?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #27 - 17. Октября 2008 :: 11:23
Печать  
Насколько я понимаю, эти теги просто будут переноситься в алс-файл как есть.
Т.е. ограничений особо сильных нету.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #28 - 17. Октября 2008 :: 11:35
Печать  
Добавлю, что в исходниках есть предопределенные значения тегов
Цитата:
  m_strNameSpace    = L"namespace";
  m_strNameClass    = L"class";
  m_strNameMethod   = L"method";
  m_strNameProperty = L"property";
  m_strNameNames    = L"name";
  m_strNameParam    = L"param";
  m_strNameReturns  = L"returns";

По ним идет отдельный анализ и конструирование алс-файла.
Остальные значения идут в составе этих тегов или делаются отдельно.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #29 - 17. Октября 2008 :: 11:38
Печать  
Ну это и в описании есть:
Цитата:
НастройкаALS(<?>)
Синтаксис:
rNameNames>,<strNameParam>,<strNameReturns>)
Назначение:
настраивает названия тэгов для выгрузки XML-описании классов в als-файл
Параметры:
<strNameSpace> - (Строка)  Пространство имен (по умолчанию namespace). Этот тэг формирует папку в синтаксис помощнике 1С;
<strNameClass> - (Строка)  Класс (по умолчанию class) Этот тэг формирует папку в синтаксис помощнике 1С
<strNameMethod> - (Строка)  Метод (по умолчанию method)
<strNameProperty> - (Строка)  Свойство (по умолчанию property);
<strNameNames> - (Строка)  У всех выше описанных тэгов, кроме возвращаемого значения, обязан быть атрибут имя (по умолчанию name);
<strNameParam> - (Строка)  Параметр метода (по умолчанию param)
<strNameReturns> - (Строка)  Возвращаемое значение (по умолчанию returns)


короче, я так понял, дело мутное. Ладно, будем делать на том, что есть.
Phoenix, выложи, пжлст, скрипт.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #30 - 17. Октября 2008 :: 11:39
Печать  
Цитата:
Просто хотелось бы наиболее полное описание: где какие параметри могут быть, какие значения и т.д.

А можешь хотябы этот скрипт сюда положить "на посмотреть"?

  

DocsByMarkdownStyle.zip ( 43 KB | Загрузки )

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #31 - 17. Октября 2008 :: 11:52
Печать  
Вот реальный пример, только что проверил.
Цитата:
///<namespace name = "Классы общего назначения">
///<class name = "ОбщиеМетоды">
Класс ОбщиеМетоды = ОбщиеМетоды.txt
{
     ///<method name = "Сравнить" Тип = "Число">
     ///<Синтаксис>Сравнить(П1, П2)</Синтаксис>
     ///<param name = "П1">Первое значения для сравнения</param>
     ///<param name = "П2">Второе значения для сравнения</param>
     ///<returns type = "Число"> 1 если значения совпадают, 0 - если не совпадают.</returns>
     ///<Описание> Сравнивает П1 и П2 на предмет равенства. Если типы различны, то не равно.
     ///Если П1 и П2 - строки, то они обрезаются справа</Описание>
     ///<sig>
     Число Сравнить(Неопределеный П1, Неопределеный П2);
     ///</sig>
     ///</method>
};
///</class>
///</namespace>

Результат работы метода - копия из синтакс-помощника
Цитата:
Сравнить(<?>,)
Сравнить(<?>,)
Тип
Число
Синтаксис
Сравнить(П1, П2)
Параметры
• < name="П1" >
Первое значения для сравнения
• < name="П2" >
Второе значения для сравнения
Возвращаемое значение
• < type="Число" >
1 если значения совпадают, 0 - если не совпадают.
Описание
Сравнивает П1 и П2 на предмет равенства. Если типы различны, то не равно.
Если П1 и П2 - строки, то они обрезаются справа
sig
Число Сравнить(Неопределеный П1, Неопределеный П2);


Т.е. все результаты видны и все довольно просто.
Думаю, что тебе этого хватит.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #32 - 17. Октября 2008 :: 11:55
Печать  
Phoenix писал(а) 17. Октября 2008 :: 11:39:

Спасибо. А можно краткий ликбез "хау ту"?
И ещё один вопрос ко всем скриптописателям: в какой среде вы их пишите/отлаживаете. Не в блокноте ж.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #33 - 17. Октября 2008 :: 11:55
Печать  
artbear писал(а) 17. Октября 2008 :: 11:52:
Вот реальный пример, только что проверил.
Цитата:
///<namespace name = "Классы общего назначения">
///<class name = "ОбщиеМетоды">
Класс ОбщиеМетоды = ОбщиеМетоды.txt
{
     ///<method name = "Сравнить" Тип = "Число">
     ///<Синтаксис>Сравнить(П1, П2)</Синтаксис>
     ///<param name = "П1">Первое значения для сравнения</param>
     ///<param name = "П2">Второе значения для сравнения</param>
     ///<returns type = "Число"> 1 если значения совпадают, 0 - если не совпадают.</returns>
     ///<Описание> Сравнивает П1 и П2 на предмет равенства. Если типы различны, то не равно.
     ///Если П1 и П2 - строки, то они обрезаются справа</Описание>
     ///<sig>
     Число Сравнить(Неопределеный П1, Неопределеный П2);
     ///</sig>
     ///</method>
};
///</class>
///</namespace>

Результат работы метода - копия из синтакс-помощника
Цитата:
Сравнить(<?>,)
Сравнить(<?>,)
Тип
Число
Синтаксис
Сравнить(П1, П2)
Параметры
• < name="П1" >
Первое значения для сравнения
• < name="П2" >
Второе значения для сравнения
Возвращаемое значение
• < type="Число" >
1 если значения совпадают, 0 - если не совпадают.
Описание
Сравнивает П1 и П2 на предмет равенства. Если типы различны, то не равно.
Если П1 и П2 - строки, то они обрезаются справа
sig
Число Сравнить(Неопределеный П1, Неопределеный П2);


Т.е. все результаты видны и все довольно просто.
Думаю, что тебе этого хватит.



если на основе этого сгенерить tls - описание к параметрам не будет подставляться когда курсор будет в разделе параметра.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #34 - 17. Октября 2008 :: 11:57
Печать  
JohnyDeath писал(а) 17. Октября 2008 :: 11:55:
Phoenix писал(а) 17. Октября 2008 :: 11:39:

Спасибо. А можно краткий ликбез "хау ту"?
И ещё один вопрос ко всем скриптописателям: в какой среде вы их пишите/отлаживаете. Не в блокноте ж.


пример - лежит в архиве.
предпочитаю писать в wscite
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #35 - 17. Октября 2008 :: 11:57
Печать  
artbear писал(а) 17. Октября 2008 :: 11:52:
Вот реальный пример, только что проверил.

Т.е. все результаты видны и все довольно просто.
Думаю, что тебе этого хватит.

Да, спасибо, должно.
А что должно храниться в теге <sig>? Просто определение ф-ии?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #36 - 17. Октября 2008 :: 12:00
Печать  
JohnyDeath писал(а) 17. Октября 2008 :: 11:57:
artbear писал(а) 17. Октября 2008 :: 11:52:
Вот реальный пример, только что проверил.

Т.е. все результаты видны и все довольно просто.
Думаю, что тебе этого хватит.

Да, спасибо, должно.
А что должно храниться в теге <sig>? Просто определение ф-ии?

Так вся фишка и состоит в том, что этот тег абсолютно произвольный Улыбка и ничем не регулируется.
Список зарезервированных тегов я тебе дал выше.
Например, можешь вместо тега <sig> писать <Сигнатура> или <Порядок_Вызова> Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #37 - 17. Октября 2008 :: 12:02
Печать  
Phoenix писал(а) 17. Октября 2008 :: 11:57:
JohnyDeath писал(а) 17. Октября 2008 :: 11:55:
Phoenix писал(а) 17. Октября 2008 :: 11:39:

Спасибо. А можно краткий ликбез "хау ту"?
И ещё один вопрос ко всем скриптописателям: в какой среде вы их пишите/отлаживаете. Не в блокноте ж.


пример - лежит в архиве.

Я немного туповат в этом вопросе. Можешь рассказать как и где его запускать? На prm, на ert?
generateDocAll я так понимаю генерирует все виды доков.
а что InsertTag делает? как ввызывать?
Уж извиняй за назойливость, но хочется разобраться раз и навсегда.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #38 - 17. Октября 2008 :: 12:02
Печать  
Phoenix писал(а) 17. Октября 2008 :: 11:55:
если на основе этого сгенерить tls - описание к параметрам не будет подставляться когда курсор будет в разделе параметра.

В чем ошибка?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #39 - 17. Октября 2008 :: 12:05
Печать  
artbear писал(а) 17. Октября 2008 :: 12:02:
Phoenix писал(а) 17. Октября 2008 :: 11:55:
если на основе этого сгенерить tls - описание к параметрам не будет подставляться когда курсор будет в разделе параметра.

В чем ошибка?

в наличии жирной точки перед параметром, которая ставит жирную точку в графе не подлежит использованию Улыбка
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #40 - 17. Октября 2008 :: 12:08
Печать  
Phoenix писал(а) 17. Октября 2008 :: 12:05:
artbear писал(а) 17. Октября 2008 :: 12:02:
Phoenix писал(а) 17. Октября 2008 :: 11:55:
если на основе этого сгенерить tls - описание к параметрам не будет подставляться когда курсор будет в разделе параметра.

В чем ошибка?

в наличии жирной точки перед параметром, которая ставит жирную точку в графе не подлежит использованию Улыбка

И как/где исправить?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #41 - 17. Октября 2008 :: 12:09
Печать  
это надо смотреть, сейчас пока не готов конкретно говорить по данной тематике, предлагаю на след.неделе.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #42 - 17. Октября 2008 :: 12:10
Печать  
С точкой я разобрался, все просто Улыбка, убрать не проблема.
Цитата:
strDest += (unsigned char)149;
strDest += " < ";
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #43 - 17. Октября 2008 :: 12:14
Печать  
Цитата:
Я немного туповат в этом вопросе. Можешь рассказать как и где его запускать? На prm, на ert?
generateDocAll я так понимаю генерирует все виды доков.
а что InsertTag делает? как ввызывать?
Уж извиняй за назойливость, но хочется разобраться раз и навсегда.

insertTag - вставляет тэг документатора, что-то типа шаблона.
для формирования документации запускаешь generateDoc... в тексте модуля, по которому хочешь составить документацию.
prm - пример использования тегом для генерации als
ерт - пример частично задокументированного модуля.
более подробно информацию можно найти в сети, опять же сейчас пока не поддерживается тег "---" и "===".
вместо двух пробелов для переноса нужно ставить "&&", опять же это написано в скрипте.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #44 - 17. Октября 2008 :: 12:18
Печать  
Кстати, подобный метод сделать в коде 1С не очень сложно.
ПРосто получить текст нужного модуля и вперед, с помощью КОМ-объекта IXMLDOMDocument легко генерить все, что нужно.
Код будет проще, чем в внутри С++

ЗЫ примеров работы с этим объектом много, даже для 1С - на мисте было вроде, например.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #45 - 17. Октября 2008 :: 12:27
Печать  
Phoenix писал(а) 17. Октября 2008 :: 12:14:
insertTag - вставляет тэг документатора, что-то типа шаблона.
для формирования документации запускаешь generateDoc... в тексте модуля, по которому хочешь составить документацию.
prm - пример использования тегом для генерации als
ерт - пример частично задокументированного модуля.
более подробно информацию можно найти в сети, опять же сейчас пока не поддерживается тег "---" и "===".
вместо двух пробелов для переноса нужно ставить "&&", опять же это написано в скрипте.

извиняюсь, сначала не так запускал - вообще всё молчало.
Открыл твой КОП, натравил на него generateDocAll, вывалилась ошибка :
(я что-то вообще не догоняю. Номер строки в скрипте? ТАм же только      "{" стоит...)
  

1_005.jpg ( 68 KB | Загрузки )
1_005.jpg
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #46 - 17. Октября 2008 :: 12:36
Печать  
в каталоге БД есть папка: Documentation\txt и Documentation\html
если нет - создай, скрипт пока пути не создает.

+ в скрипте написано:
Цитата:
     
Для работы необходимо чтобы в каталоге ИБ были папки:
           IBDir +"Documentation\txt\";
           IBDir +"Documentation\html\";

  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #47 - 17. Октября 2008 :: 12:41
Печать  
Phoenix писал(а) 17. Октября 2008 :: 12:36:
в каталоге БД есть папка: Documentation\txt и Documentation\html
если нет - создай, скрипт пока пути не создает.

+ в скрипте написано:
Цитата:
     
Для работы необходимо чтобы в каталоге ИБ были папки:
           IBDir +"Documentation\txt\";
           IBDir +"Documentation\html\";


Не вижу. Честно, в скрипте нет никаких комментариев, кроме начального заголовка об авторстве и краткого описания назначения.
txt создал, потом вывалилась новая ошибка: на строку 288 поз. 1. Описание: Файл не найден.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #48 - 17. Октября 2008 :: 12:50
Печать  
рабочий день окончен, пошел домой, буду доступен вечером, ближе к вечеру.
должны быть созданы оба каталога. это обязательно
markdown.pl должен быть виден скрипту.
в остальном все должно рабоать. чуть что - отладчик Улыбка
результат мне - подправлю.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #49 - 17. Октября 2008 :: 12:58
Печать  
Phoenix писал(а) 17. Октября 2008 :: 12:50:
рабочий день окончен, пошел домой, буду доступен вечером, ближе к вечеру.
должны быть созданы оба каталога. это обязательно
markdown.pl должен быть виден скрипту.
в остальном все должно рабоать. чуть что - отладчик Улыбка
результат мне - подправлю.

Все условия выполнены. Отладчик из wscite?
Спасибо и на этом  Подмигивание ( а в аське, указанной в скрипте,  вечером к тебе можно будет пристать?
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #50 - 21. Октября 2008 :: 08:22
Печать  
Цитата:
Отладчик из wscite?
Спасибо и на этом  Подмигивание ( а в аське, указанной в скрипте,  вечером к тебе можно будет пристать?

Отладчик - а что это? Улыбка
мне хватает вывода в окно сообщений.
в асю можно стучаться всегда, если занят - сообщу.

в результате разобрался, все работает?
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #51 - 21. Октября 2008 :: 14:01
Печать  
Phoenix писал(а) 21. Октября 2008 :: 08:22:
в результате разобрался, все работает?

Нет, пона не получается. (я вообще туп в скриптописании особенно под опенконф) Генерится только txt.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: XML и ALS–документация по классам
Ответ #52 - 21. Октября 2008 :: 19:08
Печать  
markdown.pl где лежит?
положи его в системную шару -все заработает.
как вариант положи туда же где скрипт документации
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать