gifts2017

Деструктивный анализ формы

Опубликовал asady sad (asady) в раздел Программирование - Инструментарий

Универсальная обработка которая демонстрирует работу алгоритма деструктивного анализа формы

Универсальная обработка которая демонстрирует работу алгоритма деструктивного анализа формы.
Обработка может использоваться как конечный продукт.
Пользователь может в интерактивной форме выбрать любую форму любого документа любой конфигурации платформы 1С 8.1
и получить отчет по всем элементам выбранной формы.
Деструктивный анализ формы описан в
http://www.kb.mista.ru/article.php?id=650&

09.12.2011

Добавил код отключающий срабатывание обработчика ПриСменеСтраницы обрабатываемой формы

Добавил файл, сконвертированный под платформу 8.2

Скачать файлы

Наименование Файл Версия Размер
Деструктивный анализ формы (8_2) 54
.epf 19,90Kb
19.08.14
54
.epf 19,90Kb Скачать
Деструктивный анализ формы (8_1) 288
.1219321801 19,81Kb
19.08.14
288
.1219321801 19,81Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей Старых (tormozit) 22.08.08 00:48
Я применил. Все работает!
2. Андрей Пастухов (Minotavrik) 22.08.08 07:33
Да ты молодчик, я улучшил свою систему прав (алгоритм в общей системе заполнения) !!! Ставлю плюсик не жалея!
3. Андрей Пастухов (Minotavrik) 22.08.08 07:35
Можно вопрос почему деструктивный анализ?
4. Герман (German) 22.08.08 10:52
Эх, а что же действия выводятся только для кнопки....
5. Sergey (Sergey K) 03.09.08 13:08
все хорошо.. только вот не учитывает она страницы самой формы..
очень пригодилась +
6. Ярослав Попов (YOr!k) 04.09.08 12:20
если страница, следующая за удаляемой невидима, то предприятие зависает
7. Ярослав Попов (YOr!k) 04.09.08 16:08
а точнее: если после удаления страницы все оставшиеся на панели страницы - невидимые
8. Валерий (gladkov_valery) 20.12.08 14:33
Конечно, мелочь. Но правильней будет "структурный анализ форм" )))
9. Сергей Старых (tormozit) 20.12.08 16:06
(6, 7) Это баг платформы.
(8) Тогда уж деструктивный структурный анализ формы. "деструктивный" здесь играет очень важную роль. Т.к. это требует значительного времени, требует объект (менеджера) порождающего форму сколько угодно раз, т.к. она портится, кроме того могут быть и другие способы изобретены (например через внутреннее представление формы)..
10. Артур Аюханов (artbear) 05.02.09 10:35
Автору плюс.
(4) Для полного описания действий произвольного элемента формы на текущей платформе придется для каждого элемента управления составить список его событий.
В этом случае очень просто получить наименования обработчиков из формы.

Мне данная задача понадобилась для решения задач тестирования произвольных форм, например, отчетов/обработок - получение настроек из формы и получение действий из кнопок.
Буду внедрять использованный здесь способ.

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

Правда, пока немного непонятно, как же полученные обработчики действий вызвать :) из собственного кода, если они не описаны как экспортные. Да и вообще нет полной уверенности в возможности решения этой проблемы.
11. Артур Аюханов (artbear) 05.02.09 10:54
(10+) Похоже, что без экспортирования не удается получить доступ к внутренним методам-обработчикам событий формы и элементов управления :(
Если для внешних отчетов/обработок можно выгрузить, добавить Экспорт, и загрузить обратно через v8Unpack, то, что делать по встроенным формам, совсем непонятно :(

ЗЫ блин, как же мне моего Информатора из 1С++ и 77 не хватает :)
12. Sensey Master (MSensey) 27.07.09 17:24
Нужно добавить код
фСтраница=фПанель.Страницы.Найти(тИмяСтраницы);
-->> фПанель.УстановитьДействие("ПриСменеСтраницы", Неопределено);
Если фСтраница<>неопределено Тогда
фПанель.Страницы.Удалить(фСтраница);
КонецЕсли;

Иначе могут вылазить ошибки в форме.
13. РазДва РазДва (РазДва) 22.09.11 10:32
Спасибо. Хорошая обработка
14. РазДва РазДва (РазДва) 09.11.11 14:05
15. FFFF FFF (Gasdrubal) 14.12.11 08:33
добавьте список событий, еще немногорефлексии и это начнет напоминать reflections в java

как говорится, ещ немного, еше чуть - чуть.
Неясно, почему анализ деструктивный.
16. 1 (shomo) 14.12.11 14:04
Удобно использовать при больших формах. плохо что панели неразбирает...
17. asady sad (asady) 14.12.11 15:42
shomo пишет:

Удобно использовать при больших формах. плохо что панели неразбирает...
(16) shomo,

Я не понял - что значит не разбирает?
Если про вложенные панели? То должна разбирать - приведи пример формы которую данный алгоритм не разбирает.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа