Онлайн просмотр текстов модулей

11.06.22

Разработка - Инструментарий разработчика

Для разработчиков: изучение кода модулей через браузер с любого устройства.

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

Для его работы не нужна платформа, не нужна никакая IDE. Нужен только доступ в интернет и браузер. Позволяет копаться в коде даже со смартфона.

Вот что он умеет:

  • Отображает дерево метаданных конфигурации
  • Отображает тексты всех модулей со стандартной подсветкой синтаксиса (кроме защищенных)
  • Отображает свойства общих модулей
  • Примитивная навигация по процедурам и функциям
  • Отображает статистику использования платформы

Этого мало, но и проект пока что мал. Можно сказать – младенец, ему ещё и месяца нет. Я регулярно буду добавлять новые функции и рассказывать об этом. Он родился как часть проекта по анализу кода, поэтому вскоре мы увидим некоторые инструменты и результаты анализа.

Как это выглядит

Для вас – это просто статичный сайт, набор HTML файлов с текстами модулей, состоящий из страницы содержания, и страниц с текстами.

Дерево метаданных

 
 

 

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

Возможен просмотр отдельных свойств и элементов метаданных: общие картинки, элементы стилей, подписки на события, регламентные задания, и т.п.

Модули приложения добавлены в список общий модулей:

  • Модуль управляемого приложения (@ManagedApplicationModule)
  • Модуль обычного приложения (@OrdinaryApplicationModule)
  • Модуль внешнего соединения (@ExternalConnectionModule)
  • Модуль сеанса (@SessionModule)

В таблице общих модулей в колонках отображены основные свойства:

  • G – «Глобальный»
  • S – «Сервер»
  • CS – «Вызов сервера»
  • P – «Привилегированный»
  • COA – «Клиент (Обычное приложение) »
  • CMA – «Клиент (Управляемое приложение) »
  • EC – «Внешнее соединение»
  • RU – «Повторное использование возвращаемых значений»
    • S – На время сеанса
    • R – На время вызова

Страницы текстов модулей

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

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

Статистика использования платформы

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

Они сгруппированы в соответствии с разделами синтаксис-помощника.

В первой колонке "№" - номер группы, во второй "Кол-во" - количество функций в группе.

В третьей колонке "Исп." - количество функций, задействованных в конфигурации.

В четвёртой колонке "М." - количество модулей конфигурации, в которой задействованы функции группы.

В пятой колонке "Ф." - количество функций конфигурации, в которой задействованы функции группы.

Это не отдельные вызовы, а именно количество функций, т.е. если в одной функции СтрДлина вызывается несколько раз, в колонке "Ф." она будет посчитана только один раз для этой функции.

Страница для просмотра каждой группы

Страница для просмотра статистики каждой функции

По каждой функции собраны все найденные варианты использования. В колонке "Refs" - количество функций, где найден этот вариант. По цифре в этой колонке можно кликнуть и увидеть список ссылок на вызывающие функции.

В колонке вариант использования - описание варианта. Имена параметров и известные значения отображены вместе, т.е.:

СтрДлина(Строка @@Строка) - означает вызов функции с первым параметров по имени "Строка", содержащем какую-то строку.

СтрДлина(Строка "Включить") = 8 - означает вызов функции с первым параметром по имени "Строка", содержащем строку "Включить", и возвращающий значение 8

СтрДлина(Строка "КонецФункции" "КонецПроцедуры") - означает вызов функции с первым параметром по имени "Строка", содержащем одну из двух возможных строк "КонецФункции", или "КонецПроцедуры"

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

Логика работы программ пока не учитывается, поэтому значения параметров могут быть не корректны. Но всегда можно кликнуть на вызывающую функцию, и посмотреть как оно на самом деле.

Для свободного просмотра открыта демо-конфигурация БСП:

Её тексты распространяются согласно лицензии CC BY 4.0

Также сформированы тексты для конфигураций:

Доступ к ним только по запросу, для официальных пользователей 1С.

инструменты разработчика изучение конфигураций анализ кода web-конфигуратор

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 8000 руб.

02.09.2020    122409    673    389    

716

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7343    22    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3639    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177837    1074    0    

852

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99381    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18141    6    8    

40

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28124    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23610    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1292 16.05.22 09:34 Сейчас в теме
1. под CC BY 4.0 распространяются стандартные библиотеки (БСП пытаются выкладывать в git), и компания 1С будет считать что присутствует нарушение её прав и можете получить по шапке.
2. HTTPS на сайте не работает
3. cogniton 7 16.05.22 10:05 Сейчас в теме
(1) Я напишу официальный запрос в компанию 1С, и думаю мы договоримся. Есть несколько вариантов решения.
В крайнем случае уберу из свободного доступа всё кроме БСП. Остальное будет доступно для изучения после авторизации.

(2) Странно. Сертификат Let's encrypt, возможно с ним какие-то проблемы. У меня проблема не проявляется.
2. dsdred 3279 16.05.22 09:45 Сейчас в теме
Что касается остальных модулей, будем считать, что все интересующиеся обладают лицензией на конфигурацию, и могут свободно изучать её код.

Смело 😁 Считать можно что угодно но правообладатель может с Вами быть не согласен и скорее всего он будет несогласен.
4. malikov_pro 1292 16.05.22 11:33 Сейчас в теме
(3) "В крайнем случае уберу из свободного доступа всё кроме БСП". По описанию БСП специализируется https://infostart.ru/profile/59997/, если организуете БСП в git, то будет удобно давать ссылки на строки кода. Если нему приделаете удобный просмотр с формированием дерева вызовов (смотреть PlantUML) то думаю сообществу будет полезно.
5. capitan 2466 18.05.22 10:39 Сейчас в теме
Вспоминается...
Спорить с женщиной - это как прочитать лицензионное соглашение: в конце вы игнорируете все и нажимаете "Я согласен"

Плохие новости для автора

71. Может ли разработчик приложений на платформе «1С:Предприятие 8» опубликовать у себя на сайте или во внешнем репозитории тексты модифицированной им типовой конфигурации «1С:Предприятия 8» или конфигурации, содержащей код типовой конфигурации?

Фирма «1С» не разрешает публикацию типовых конфигураций, являющихся объектами авторского права фирмы «1С», а также текстов, выгрузок конфигураций, заимствующих фрагменты кода, наборы объектов из типовых конфигураций.
https://v8.1c.ru/priobretenie-i-vnedrenie/otvety-na-tipovye-voprosy-po-litsenzirovaniyu-1s-predpriyatiya-8/

6. cogniton 7 18.05.22 18:05 Сейчас в теме
(5) Спасибо за ссылку! Почему плохие, может быть даже хорошие?
Это не противоречит концепции проекта, скорее усиливает его.

Официальный пользователь имеет право изучать свою конфигурацию? Имеет.
Может ли он использовать для этого дополнительные инструменты? Может.

А публиковать в интернете ничего не нужно. Я и не планирую всё так оставлять. Даже от поиска закрыл.
Только личный кабинет, только хардкор. Это только сейчас, пока проект только родился, он доступен без авторизации.
Кстати, здесь единственная ссылка на него.

В общем доступе останутся только модули где явно указана свободная лицензия.

Более того. Проект делается в первую очередь для себя, и цели у него более интересные, чем может показаться.
9. capitan 2466 19.05.22 09:54 Сейчас в теме
(6)Где то я это уже слышал... точно на ру-торренте )
Куда уже интереснее, взять чужое и раздать его желающим.
Когда 1С вас поймает и возьмет за мягкие телеса, не говорите, что я вас не предупреждал.
А если вы так уверены, что это можно делать - спросите у самих 1С разрешения, они кстати достаточно быстро отвечают, когда вопрос касается авторского права.
Когда приложите в публикацию их ответ тогда и поговорим, если раньше модераторы вас не прибьют.

Официальный пользователь имеет право изучать свою конфигурацию? Имеет.
Может ли он использовать для этого дополнительные инструменты? Может.


Официальный пользователь должен изучить и принять лицензионное соглашение, так все буквами по белому написано про это.
10. cogniton 7 19.05.22 10:45 Сейчас в теме
(9) Где вы видите, чтобы я что-то чужое планировал раздавать? Прочитайте сообщение (8), я там пояснил логику работы.

А логика простая: Давайте мне _свою_ CF, я вам сделаю из неё HTML. И пользуйтесь сколько хотите, под своим логином и паролем.
Я даже у вас попрошу подтвердить наличие договора ИТС или другой документ подтверждающий ваше право на конфигурацию, если компания 1С это потребует.

То что доступно сейчас для всех, это "Демо", которое будет закрыто в скором времени.
11. capitan 2466 19.05.22 10:58 Сейчас в теме
(10)Вот и выложите _свою_ CF в качестве Демо и сразу увидите, что вы просто изобретаете гитхаб.
А то что находится сейчас у вас на сайте это пиратство в самом чистом его проявлении - вы публикуете в интернет тексты модулей защищенных лицензионным соглашением которое вы не читали и авторским правом которое вы не знаете.
12. cogniton 7 19.05.22 11:14 Сейчас в теме
(11) Не беспокойтесь, авторское право и мой проект будут дружить. Лицензионное соглашение я читал много лет назад, когда заключал партнёрское соглашение с 1С. Нужно освежить.

Что касается гитхаба - у нас с ним совершенно разные цели и пути развития. Если вам кажется, что это будет похоже на гитхаб, вы глубоко ошибается. Может быть поэтому и про авторское право так переживаете. Нет, это не будет похоже на гитхаб.
13. capitan 2466 19.05.22 12:20 Сейчас в теме
(12) Чудесно, как освежите поговорим об этом. А то ваше партнерское соглашение можем медным тазом накрыться за публикацию кодов типовых конфигураций.

Что касается гитхаба там именно это и можно сделать - посмотреть код своих модулей еще и с правками и ее историей
Небольшой бонус - это можно сделать напрямую из EDT поэтому зачем нужен проект по модели SaaS делающий то же самое я пока с трудом представляю.

А переживаю я про авторское право, потому что в среде разработчиков 1С бытует мнение что все вокруг колхозное все вокруг мое.
Это далеко не так.
Когда вы что то сделаете достойное например копирования то тоже поймете
14. cogniton 7 19.05.22 12:42 Сейчас в теме
На гитхаб это похоже только издалека. А ближе я вас пока не подпускал. Вам и не надо.
Я вас удивлю, - у меня не будет истории правок. По крайней мере до решения главных задач.
Про авторское право можете больше не переживать. Без авторизации не пущу. Только в БСП.
БСП не смущает?, там зелёным по белому написано

////////////////////////////////////////////////////////////­///////////////////////////////////////////
// Copyright © 2022, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
////////////////////////////////////////////////////////////­///////////////////////////////////////////
Показать


По вашей ссылке:
70. Может ли разработчик приложений на платформе «1С:Предприятие 8» опубликовать в открытом доступе тексты стандартных библиотек «1С:Предприятия 8» или распространять их иным образом? На каких условиях?

Фирма «1С» разрешает публикацию некоторых текстов стандартных библиотек в открытом доступе, если это прямо допускается лицензией данной библиотеки. Некоторые типы лицензий относятся к классу «открытых» и допускают широкие возможности по распространению библиотек и созданию собственных производных программ с использованием библиотек. Информация о лицензии указана в свойстве «Авторское право» объекта конфигурации, а также в программных модулях конфигурации.
15. capitan 2466 19.05.22 16:11 Сейчас в теме
(14) Подожду решения главных задач... да мне и не надо.
БСП конечно сколько угодно, все на нем пишем
7. rusmil 262 18.05.22 18:39 Сейчас в теме
Проект делается в первую очередь для себя
, значит у Вас есть какая то обработка которая из текстов модулей 1С формирует взаимосвязанные страницы html вот может выложите эту обработку, тогда и другие также смогут воспользоваться каждый для "себя". Можете еще поделиться планами какие цели и планы по дельнейшему развитию? Есть ли у вас поиск по html страницам?
8. cogniton 7 19.05.22 07:10 Сейчас в теме
(7)
другие также смогут воспользоваться каждый для "себя"

Проект будет работать по модели SaaS. Вы сможете загрузить свою CF'ку, и получить онлайн доступ к просмотру.

Но пока обработка без напильника не работает это возможно только по личной просьбе.

(7)
Можете еще поделиться планами какие цели и планы по дельнейшему развитию?


В понедельник выйдет обновление, которое позволит просматривать модули всех объектов конфигурации.
Отдельной ссылкой добавлю БСП. Доступ к БП и УТ пока сохраню, возможно закрою общим паролем, который будет опубликован здесь.

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

Главная цель проекта - создание инструмента для анализа кода и поиска ошибок. Пока об этом рано говорить. Я готов на это потратить 1000 часов. Задача минимум - создать ценный инструмент для разработчиков, удобный для отладки и проверки своих конфигураций. Задача максимум - найти ошибки в типовых конфигурациях (после АПК, автоматического тестирования, и реального использования). Дополнительных целей и задач много, идей много. Будут и такие инструменты, которые можно скачать и использовать у себя.

Как это работает сейчас: обработка формирует контекст платформы, затем контекст конфигурации, затем анализирует код, сохраняет описания всех процедур и функций, и затем из этих описаний и текстов модулей формирует HTML страницы.

В тестовой версии, практически над каждым словом в тексте есть всплывающая подсказка со всей известной информацией об этой переменной/процедуре/функции/... . Постепенно эти подсказки я буду добавлять в публичную версию.

Обновление сайта и статьи будет выходить, по крайней мере, один раз в неделю.
По мере появления интересной информации буду отдельно рассказывать об этом.
ixijixi; rusmil; +2 Ответить
Оставьте свое сообщение