|   |   | 
| 
 | v7: Анализатор кода. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Eeakie 04.04.14✎ 14:37 | 
        Добрый день.
 Есть ли в наше время штуковина, которая может рассказать какие процедуры из конфигурации используются, а какие нет? | |||
| 1
    
        Eeakie 04.04.14✎ 14:45 | 
        Видел для восьмерки нечто подобное.
 Кто-то писал, что и для семерки есть. Сделано на основе какой-то дллки, но я её так и не нашёл. Поделитесь? | |||
| 2
    
        Ёпрст гуру 04.04.14✎ 14:45 | 
        есть     | |||
| 3
    
        pumbaEO 04.04.14✎ 14:45 | 
        Где используются? 
 Реально или в коде? | |||
| 4
    
        Ёпрст гуру 04.04.14✎ 14:46 | ||||
| 5
    
        Eeakie 04.04.14✎ 14:48 | 
        (3) Реально используются. Очень много лишнего в конфе...
 (4) Вроде инфостарт облазил и всё равно пропустил. Спасибо. | |||
| 6
    
        dk 04.04.14✎ 14:55 | 
        поиск по конфигурации не предлагать?     | |||
| 7
    
        Eeakie 04.04.14✎ 14:59 | 
        (6) Слишком много лишнего. Очень утомительно.     | |||
| 8
    
        Eeakie 04.04.14✎ 15:10 | 
        Теперь ActiveMD не хочет регистрироваться. Что за...     | |||
| 9
    
        Злопчинский 04.04.14✎ 15:15 | 
        есть еще трейсер.
 прога работает - а оно пишет в лог что за чем и как... ищи на ИСе в разработках О-Планет | |||
| 10
    
        Eeakie 04.04.14✎ 15:35 | 
        Люди, как ActiveMD зарегистрировать?
 Через regsvr всё прошло нормально. При запуске пишет "отсутствует CLSID". VKLoader тоже проблему не побеждает. Что делатЬ? | |||
| 11
    
        Eeakie 04.04.14✎ 15:36 | 
        Запускал под админскими правами.     | |||
| 12
    
        ДенисЧ 04.04.14✎ 15:37 | 
        имя = "мояФ";
 имя = имя + "унк"; имя = имя + "ция"; Шаблон("[имя]()"); Как функия используется? | |||
| 13
    
        Eeakie 04.04.14✎ 15:39 | 
        (12) интересная аналогия. Жаль, что я не смог её понять.     | |||
| 14
    
        Eeakie 04.04.14✎ 16:13 | 
        Положил дллку в BIN. Запустил 1с с админскими правами - отсутствует CLSID. Сделал regsvr32.exe "...\activemd.dll" - "компонента успешно зарегистрирована" - запустил 1с - отсутствует CLSID.
 Что я делаю не так? | |||
| 15
    
        Eeakie 04.04.14✎ 16:14 | 
        Windows Server 2008r2.
 Пробовал отключать контроль учетных записей. Не помогло. | |||
| 16
    
        Salimbek 04.04.14✎ 16:38 | 
        (15) Поставить ВиртуалБокс и там поднять Win XP?     | |||
| 17
    
        ALoHA 04.04.14✎ 16:43 | 
        Отладчик.     | |||
| 18
    
        Eeakie 04.04.14✎ 16:44 | 
        Странно, но с дллкой работать можно, хоть 1ска и ругается на отсутствие CLSID.     | |||
| 19
    
        Torquader 05.04.14✎ 00:39 | 
        В первом приближении, задача решается для любого языка программирования, если мы знаем синтаксис вызова процедур и функции, а также предполагаем, что у нас нет команды eval, которая, например, есть в javascript или 1С восьмой версии.
 Тогда мы можем найти процедуру, на которую никто не ссылается. Но, в случае 1С, есть стандартные вентили (то есть процедуры с заранее заданным именем, вызываемые системой при каких-то событиях), а также действия на форме и идентификаторы кнопок, про которые тоже забывать нельзя. Далее, мы можем придти к ситуации, когда в начале кода написано ПарамА=1; Потом идёт куча вызовов, а в конце Если ПарамА=2 Тогда ВыполнитьДействиеПо2();КонецЕсли; с точки зрения анализатора "ВыполнитьДействиеПо2" вызывается, так как на неё есть ссылка, а с точки зрения логики кода - нет, так как параметр всегда равен 1. | |||
| 20
    
        Злопчинский 05.04.14✎ 01:22 | 
        вот-вот... должны же быть какие-то инструменыт, которые оценивают вот такое качество когда, что-то где-то мне попадалось.. типа гоняют тупо программы на кипах входных инпутов, и смотярть где чего выполняется... где мертвые ветки, неиспользуемые вызовы и прочая лабудень     | |||
| 21
    
        Sserj 05.04.14✎ 04:18 | 
        (14) Скорей всего используешь regsvr32 в 64-ей битной системе, в таких надо пользовать  %systemroot%\SysWoW64\regsvr32.exe.     | |||
| 22
    
        Torquader 05.04.14✎ 15:18 | 
        (20) На самом деле, для качественной оценки кода желательно знать тип переменной, а в 1С - этого нет.
 Например, мы обрабатываем элемент справочника, передавая объект (не ссылку) внутрь функции, а внутри функции вообще не видно, кого мы там получили. Если бы была типизация, то код можно было бы оценивать отдельно. Далее, есть проблема в неявном определении переменных - та же самая, что из самой функции не всегда ясно, где переменная начала свою жизнь, а где - закончила. | |||
| 23
    
        spectre1978 06.04.14✎ 07:24 | 
        (19)  есть там подобие евала. Во-первых Шаблон(), во-вторых при работе через  OLE EvalExpr ()...     | |||
| 24
    
        Torquader 06.04.14✎ 13:58 | 
        (23) OLE мы не рассматриваем, а про шаблон я уже писал - в таблице-то можно указать и формулы и функции, но их видно.
 Хотя, шаблон можно вляпать и в коде - тогда будет фигура из четырёх букв. | |||
| 25
    
        orefkov 06.04.14✎ 14:35 | 
        (21)
 Нет, он пытается ей сделать ЗагрузитьВнешнююКомпоненту, а activemd ей не является, это обычный OLE объект, создается просто СоздатьОбъект. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |