как узнать перегружено ли имя процедуры в 1с?

psvpolo

например в формах можно встретить:
Процедура Заполнить(Кнопка)
....
при этом "Заполнить" чуть ли не самая распространенная стандартная процедура. задача такая: можно ли както по-простому узнать перегружено ли имя процедуры? пока что вижу тока через создание списка всех стандартных имен, что само по себе есть задача нетривиальная.

FRider

спросите у нарика, он разучился читать доки по своему говноС?

fufa58

эээ, на С не наезжать :mad:

FRider

Это не СИ, а ЭС.
сорь, там маленькая буква должна была быть.

psvpolo

ахуеть задачка!
решаецо только с помощью написания робота нажимающего сотню клавиш в секунду и выдергивающего индекс из синтакс-помощника :shocked:
в итоге получил 17 тыщ строк вида:
...
НастройкаПорядка
НастройкаПорядка.Добавить
НастройкаПорядка.Индекс
НастройкаПорядка.Количество
НастройкаПорядка.Найти
НастройкаПорядка.Очистить
НастройкаПорядка.Получить
НастройкаПорядка.Удалить
НастройкаСписка
НастройкаУсловногоОформления
НастройкаУсловногоОформления.Добавить
НастройкаУсловногоОформления.Индекс
НастройкаУсловногоОформления.Количество
НастройкаУсловногоОформления.Найти
НастройкаУсловногоОформления.Очистить
НастройкаУсловногоОформления.Получить
НастройкаУсловногоОформления.Удалить
Настройки
НастройкиВложенногоОбъектаКомпоновкиДанных
НастройкиВложенногоОбъектаКомпоновкиДанных.Идентификатор
НастройкиВложенногоОбъектаКомпоновкиДанных.ИдентификаторОбъекта
НастройкиВложенногоОбъектаКомпоновкиДанных.Имя
НастройкиВложенногоОбъектаКомпоновкиДанных.Использование
НастройкиВложенногоОбъектаКомпоновкиДанных.Настройки
НастройкиВложенногоОбъектаКомпоновкиДанных.Родитель
НастройкиВложенногоОбъектаКомпоновкиДанных.УстановитьИдентификатор
НастройкиКомпоновкиДанных
НастройкиКомпоновкиДанных.Выбор
НастройкиКомпоновкиДанных.ДоступныеОбъекты
НастройкиКомпоновкиДанных.ДоступныеПоляВыбора
НастройкиКомпоновкиДанных.ДоступныеПоляГруппировок
НастройкиКомпоновкиДанных.ДоступныеПоляДополнительныхОтборов
НастройкиКомпоновкиДанных.ДоступныеПоляОтбора
НастройкиКомпоновкиДанных.ДоступныеПоляОтбораЭлементовСтруктуры
НастройкиКомпоновкиДанных.ДоступныеПоляПараметровДанных
НастройкиКомпоновкиДанных.ДоступныеПоляПорядка
...
почемуто не удалось решить задачку распаковкой синтакс-помощника - онто распокавался но индексного файла я там нифуя не нашол. по ходу возник вопрос: если 1с умеет генерить так быстро индекс к 20 мегам инфы то как она это делает? а если всетаки индекс гдето лежит то почему я его не увидел в распакованых файлах? :ooo:

Alena_08_11

Кхм, а нахрена ?
Для каждого типа объектов можно в документации посмотреть определенные для него методы. В контексте одного объекта тебе глубоко похую на методы определенные для другого объекта.
Если ты пишешь универсальную поебень, которая будет работать с коллекцией разнородных объектов через некие, определённые тобой процедуры для каждого типа этих объектов (тобишь интерфейс попростому) - то тупо ставь в начале имени каждой функции/процедуры "ШПОНГОЛ_" - и точно не ошибёшься.

psvpolo

Кхм, а нахрена ?
чтоп пропарсить конфу и переназвать процедуры, функции, общие модули.
ps^ вопщемто все получилось. приятно удивила быстрота поиска по макету из 15 тыщ строк. парсинг доделаю сегодня - из любой конфу могу сделать "черный ящик" :cool:

Alena_08_11

Если бы у тебя не получилась, то я бы посоветовал бы поковырять внешнюю обработку "ЗаменаВызововМетодовОбщихМодулейБЛАБЛА.epf". Название точно не помню, это офиц. обработка для перевода баз с 8.0 на 8.1 (в 8.0 все общие модули были глобальные, в 8.1 общий модуль стало можно делать неглобальным. Обработка парсила тексты конфы и заменяла вызовы типа ПроцаИзОбщегоМодуля на ИмяМодуля.ПроцаИзОбщегоМодуля. Короче на её основе, имхо, тоже можно было бы сделать то, что ты хотел).

psvpolo

ну так я на ее основе и делал - там этот парсинг и зашит собсно. еще на ее основе я парсил конфу таким образом чтоп каждая форма при отрытиии вызывала глобальную процедуру и передавала свой уникальный номер (гуида у форм нету замечу!) :o
Оставить комментарий
Имя или ник:
Комментарий: