Пожелание: Консоль кода
|
|
vsuh | Дата: Среда, 14.04.2021, 08:56 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 17
Репутация: 12
Статус: Оффлайн
| Вызывать из консоли кода алгоритм как функцию.
Сообщение отредактировал vsuh - Среда, 14.04.2021, 13:33 |
|
| |
tormozit | Дата: Четверг, 15.04.2021, 19:36 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6506
Репутация: 173
Статус: Оффлайн
| Пожелания следует создавать в разделе форума "Прочее". Перенес тему туда.
|
|
| |
tormozit | Дата: Четверг, 15.04.2021, 19:44 | Сообщение # 3 |
Генералиссимус
Группа: Администраторы
Сообщений: 6506
Репутация: 173
Статус: Оффлайн
| Эта "дверь" откроет огромное множество хотелок и проблем. Я не готов этим заниматься. Однако не будет лишним с твоей стороны описать границы своего желания. Для информации - похожая возможность имеется для справочника "Алгоритмы" http://devtool1c.ucoz.ru/forum/3-45-1
|
|
| |
redkayaexotika | Дата: Понедельник, 07.06.2021, 18:44 | Сообщение # 4 |
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 6
Статус: Оффлайн
| Пока товарищ vsuh взял таймаут я воспользуюсь моментом и опишу свои хотелки:
1) Вызов соседнего алгоритма из списка строкой на подобии: Код ТекущиеАлгоритмы.НазваниеАлгоритма(П1, П2, ... П10)
2) Контекстная подсказка после ТекущиеАлгоритмы. в виде списка алгоритмов
3) Для параметров ещё одно булево свойство которое обозначит Возврат - при наличии такой галки алгоритм воспринимается как функция. Тип возвращаемого параметра определён значит есть возможность подключить контекстную подсказку.
P.S. готов взять реализацию на себя, главное организовать взаимодействие
|
|
| |
tormozit | Дата: Понедельник, 07.06.2021, 19:12 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 6506
Репутация: 173
Статус: Оффлайн
| Я уже написал подобную полноценную систему выполнения кода из справочника, которая использовалась в реальных бизнес-задачах в больших базах. Знаю о том, какие сложности будут на этом пути и каких фич захочет пользователь. Предлагаю тебе для начала написать технический проект, т.е. в общих чертах как ты планируешь это делать. Я оцениваю объем этой задачи на долгосрочном горизонте в 200+ часов
Вот как я вижу самый верхний уровень декомпозиции - обеспечение уникальной идентификации алгоритмов в списке - генератор модуля внешней обработки из списка алгоритмов и разбор модуля внешней обработки на алгоритмы с предварительным просмотром изменений - проекция координаты (строка+колонка) модуля внешней обработки на координаты в соответствующем алгоритме и обратная проекция - поддержка выделения фрагмента кода в вызов алгоритма в команде "Рефакторинг/Выделить метод" - поддержка переходов между алгоритмами по F12 и стек обратных переходов - дерево вызовов алгоритмов с отображением входящих и исходящих вызовов - массовая проверка компиляции алгоритмов с отображением с удобной навигацией по ошибкам - обеспечение переходов между клиентом и сервером при вложенных вызовах алгоримов - фиксация значений параметров при вложенном выполнении алгоритмов - и еще куча всего
|
|
| |
redkayaexotika | Дата: Понедельник, 07.06.2021, 20:38 | Сообщение # 6 |
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 6
Статус: Оффлайн
| Монструозная картина вырисовывается =) Мне даже неловко свой куцый планчик обозначать. Но я рискну.
Я планировал реализовать самый нужный мне механизм приблизительно следующий образом:
Перед вызовом Код ВыполнитьАлгоритмВКонтексте(Параметры)
В строке
Код Параметры.ТекстДляВыполнения
Произвести замену с
Код СписокАлгоритмов.НазваниеАлгоритма(ВходящийПараметр1, ВходящийПараметр2)
на Код ирОбщий.ВыполнитьАлгоритм(ПодготовленныйТекстАлгоритмаПоНазванию(НазваниеАлгоритма), , ,ВходящийПараметр1, ВходящийПараметр2)
в том случае если СписокАлгоритмов.НазваниеАлгоритма() - Функция, а если это процедура то заменить на
Код ирОбщий.ВыполнитьАлгоритмБезРезультата(ПодготовленныйТекстАлгоритмаПоНазванию(НазваниеАлгоритма), , ,ВходящийПараметр1, ВходящийПараметр2)
Ну это схематично. В своей консоли кода я использовал ВыполнитьФункцию() и ВыполнитьПроцедуру()
Сообщение отредактировал redkayaexotika - Понедельник, 07.06.2021, 21:00 |
|
| |
tormozit | Дата: Вторник, 08.06.2021, 08:32 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 6506
Репутация: 173
Статус: Оффлайн
| Ну следующее, что захотят пользователи: 1. Подсветка ошибочной строки при ошибке выполнения алгоритма через такой вызов 2. Отладка выполнения алгоритма через такой вызов
Без этого я точно поддерживать такой механизм не буду. А значит и добавлять его.
|
|
| |
redkayaexotika | Дата: Вторник, 08.06.2021, 20:33 | Сообщение # 8 |
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 6
Статус: Оффлайн
| Отлично. Минимальные требования обозначены. На какой версии тебе это будет удобней оценить? Конфигурация или расширение?
|
|
| |
tormozit | Дата: Вторник, 08.06.2021, 21:46 | Сообщение # 9 |
Генералиссимус
Группа: Администраторы
Сообщений: 6506
Репутация: 173
Статус: Оффлайн
| Разработку я веду в конфигурации. Прежде чем что то делать все же напиши тех. проект. Пока я не понял твоего подхода к решению задачи 2. Отладка выполнения алгоритма через такой вызов
|
|
| |
tormozit | Дата: Воскресенье, 02.07.2023, 19:37 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 6506
Репутация: 173
Статус: Оффлайн
| Возможно участникам обсуждения будет полезно несколько другое решение https://www.hostedredmine.com/issues/965690
|
|
| |