Имя: Пароль:
1C
 
Как проверить один модуль на неиспользуемые функции?
0 toypaul
 
гуру
13.08.26
09:32
Всю конфигурацию проверять слишком долго. Функций много - руками искать лень. Не пойму почему не сделал проверить только один модуль, например, в рефакторинге?
1 Мультук
 
гуру
13.08.26
09:38
(0)

1) Я конечно извиняюсь, а проверка синтаксиса вот такое умеет проверять? Я что-то сомневаюсь

ИмяМодуля = "миста_ОбщийМодуль";
ИмяМодуля.ХеллоВорлд();


2) Если абстрактно есть еще внешние обработки, отчёты.
2 boozin
 
13.08.26
10:11
Поиск по текстам не предлагать? :)))
3 Волшебник
 
13.08.26
10:16
Убери Экспорт и проверь на синтаксические ошибки.
Потом верни Экспорт
4 boozin
 
13.08.26
10:17
Вот так попробуй
5 toypaul
 
гуру
13.08.26
10:20
(2) Какой поиск по текстам? Модуль один. Нужно проверить только неэкспортные методы.

(3) Не нужно мне экспортные проверять.

Блин. Элементарная операция, которую в блок рефакторинга не могли засунуть?

Пришлось соображать - все закомментировал кроме 100% нужных методов. И последовательно раскомментировал только нужное.
6 Ненавижу 1С
 
гуру
13.08.26
10:33
кликаем по заголовку метода ПКМ - Найти использование
7 Галахад
 
гуру
13.08.26
10:48
Какой-нибудь Феникс или Сонар сами укажут как на ошибку присутствие неиспользуемых локальных методов.
8 Timon1405
 
13.08.26
11:00
9 toypaul
 
гуру
13.08.26
13:07
(8) Нет. Там нет пункта проверить неиспользумые методы
10 toypaul
 
гуру
13.08.26
13:07
(7) А есть бесплатный сервис, чтобы закинул и проверила? Или ставить всю эту чепуху ради проверки одного модуля?
11 toypaul
 
гуру
13.08.26
13:10
(6) ну как вариант. только это в каждую тыкать надо
12 Timon1405
 
13.08.26
13:32
(9) в моём есть
13 ass1c
 
13.08.26
13:40
(12) Да, отличный функционал, который решает проблему автора - единственное что я так понял что он не готов ждать пока проверится вся конфигурация? у меня ERP пробежалась вся менее чем за 10 минут. Потом просто ищешь свой модуль и видишь все неиспользуемые в данном модуле не экспортные процедуры и функции и удаляешь их...

*Самой главной особенностью этого теста является то, что анализ использования выполняется в пределах модуля, где данная процедура расположена, дополнительно анализируется возможное использование процедуры в качестве обработчика какого-либо события. Процедуры и функции, которые объявлены как экспортные, никогда не считаются неиспользуемыми. Это связано с их возможным вызовом из внешнего соединения. Поэтому невозможно использовать данный тест для обнаружения потерянных обработчиков команд интерфейсов, поскольку такие обработчики должны быть объявлены как экспортные.
14 toypaul
 
гуру
13.08.26
13:43
(12) Это проверка всей конфигурации. А не одного модуля.
15 ass1c
 
13.08.26
13:54
(14) Просто интересно. Получается ты отказался от этого способа, только потому что он проверяет все модули конфигурации, а не только твой нужный - хотя и выдает отсортированные по модулям результаты, которые ты и ожидаешь увидеть (т.е. все неиспользуемые в конкретном модуле не экспортные процедуры и функции) и при это пришлось бы ждать выполнение данной операции 10-15 минут (ну может дольше в зависимости от твоей конфигурации)?
16 Новиков
 
13.08.26
14:00
(15) Попробуйте запустить на время эту проверку в ERP или УХ. И сообщите о результатах замера времени. Полагаю, там явно больше 15 минут.
17 ass1c
 
13.08.26
14:15
(16) специально перед отправкой сообщения (13) запустил выполнение в своей ERP, чтобы убедиться, что данная операция занимает не часы и не дни или вообще не вешает конфигуратор:
"...у меня ERP пробежалась вся менее чем за 10 минут."

Так что на мой взгляд это довольно шустрая операция.
18 toypaul
 
гуру
13.08.26
14:31
(15) в ЕРПУХ выдает кучу овна. Быстрее получилось сделать то, что написано в (5)
19 Tatitutu
 
13.08.26
14:32
(0) глянь - умеет творить чудеса
OneBase — open-source платформа с 1С-подобным языком для пет-проектов
https://infostart.ru/1c/articles/2694204
20 toypaul
 
гуру
13.08.26
14:33
Я при этом еще не понял как оно работает. Скажем если Ф1 не используется, но в ней вызываются Ф2 и Ф3 - то что будет? Мне показалось, что Ф1 оно показывает, а Ф2 и Ф3 не показывает.
21 toypaul
 
гуру
13.08.26
14:39
(19) нику.си. крутота - что сказать. не понял только как это к теме относится.
22 ass1c
 
13.08.26
14:42
(18) Ну можно не ждать проверки всей конфигурации, а после того как пробежал твой модуль - то прервать операцию...стандартной комбинацией для 1с. Обработка остановится. Результат покажется что ошибок столько то "...", и в сообщениях будет видна вся информация.
23 ass1c
 
13.08.26
15:00
(20) Кстати корректное замечание:
#Область ПрограммныйИнтерфейс

Процедура Ф0() Экспорт
	
	Итератор = 1;
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс

Процедура Ф1()
	
	Итератор = 1;
	
	Ф2();
	Ф3();
	
КонецПроцедуры

Процедура Ф2()
	
	Итератор = 1;
	
КонецПроцедуры

Процедура Ф3()
	
	Итератор = 1;
	
КонецПроцедуры


#КонецОбласти

#Область СлужебныеПроцедурыИФункции

#КонецОбласти


Результат выполнения обработки:
ОбщийМодуль.ИнтеграцияERP.Модуль Не обнаружено ссылок на процедуру: "Ф1"

p.s. Получается в таком случае надо последовательно удалять процедуры и функции, пока обработка не перестанет выдавать данный модуль как проблемный. Что не совсем уже удобно. Но хотя бы такой инструмент дали в помощь, что в принципе уже не плохо.
24 toypaul
 
гуру
13.08.26
15:02
(23) с учетом того сколько оно работает, быстрее сделать как в (5) и не маяться ку.той.
25 ass1c
 
13.08.26
15:07
(24) ну я не сказал бы что это куита - просто инструмент который тебе не подошел, я бы воспользовался бы им и так же быстро почистил модуль.
26 butterbean
 
13.08.26
15:08
ИИ уже предлагали?
27 KJlag
 
13.08.26
15:32
вроде бы в едт есть такая проверка "на лету".  или она там криво работает? никто не работает в едт?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан