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

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-конфигуратор

См. также

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

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

10000 руб.

02.09.2020    151389    833    397    

841

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

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

9360 руб.

17.05.2024    20305    58    42    

106

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

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    14166    12    27    

36

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

6900 руб.

20.08.2024    3804    22    6    

36

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

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

18000 руб.

06.10.2023    13964    35    7    

69

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

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

10000 руб.

10.11.2023    9049    32    10    

56

SALE! %

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

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

4800 3840 руб.

14.01.2013    185288    1126    0    

899

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16728    6    29    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1329 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 3526 16.05.22 09:45 Сейчас в теме
Что касается остальных модулей, будем считать, что все интересующиеся обладают лицензией на конфигурацию, и могут свободно изучать её код.

Смело 😁 Считать можно что угодно но правообладатель может с Вами быть не согласен и скорее всего он будет несогласен.
4. malikov_pro 1329 16.05.22 11:33 Сейчас в теме
(3) "В крайнем случае уберу из свободного доступа всё кроме БСП". По описанию БСП специализируется https://infostart.ru/profile/59997/, если организуете БСП в git, то будет удобно давать ссылки на строки кода. Если нему приделаете удобный просмотр с формированием дерева вызовов (смотреть PlantUML) то думаю сообществу будет полезно.
5. capitan 2489 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 2489 19.05.22 09:54 Сейчас в теме
(6)Где то я это уже слышал... точно на ру-торренте )
Куда уже интереснее, взять чужое и раздать его желающим.
Когда 1С вас поймает и возьмет за мягкие телеса, не говорите, что я вас не предупреждал.
А если вы так уверены, что это можно делать - спросите у самих 1С разрешения, они кстати достаточно быстро отвечают, когда вопрос касается авторского права.
Когда приложите в публикацию их ответ тогда и поговорим, если раньше модераторы вас не прибьют.

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


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

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

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

Что касается гитхаба - у нас с ним совершенно разные цели и пути развития. Если вам кажется, что это будет похоже на гитхаб, вы глубоко ошибается. Может быть поэтому и про авторское право так переживаете. Нет, это не будет похоже на гитхаб.
13. capitan 2489 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 2489 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 Ответить
16. atlant_new 27.09.24 18:17 Сейчас в теме
Добрый день!
Можно получить такое описание лично на почту, доступ на ИТС есть, подтверждающий статус официального пользователя, по всем процедурам по версии КА 2.5 типовой, желательно из самых последних релизов, чтобы данные были как можно дольше актуальными для изучения.
Интересна сама статистика по используемым процедурам из общих модулей. Сколько это будет стоить?
Личной почты не нашел пишу сюда.
Оставьте свое сообщение