Показать сообщение отдельно
Старый 24.08.2010, 22:54   #11  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
У конструкции CompileAll_+ было несколько неприятных особенностей:
  • - она ставила уровень 4 (level 4) в настройках компилятора у пользователя под которым запускалась, несмотря на его (пользователя) предпочтения
  • - она не грохала старые записи, в результате чего наблюдались задвоения при повторном запуске, а само обновление выполнялось дольше
  • - она не обновляла модель данных и иерархию типов. Мелочь конечно - но уж можно было бы все сделать до конца.
...
PHP код:
<AxaptaAutoRun 
    exitWhenDone
="true" 
    
version="5.0" 
    
logFile="D:\AxaptaAutorun.log">
<
Run type="class" name="xRefUpdate" method="updateAll" /> 
</
AxaptaAutoRun
...
Использование такой конструкции аналогично использованию пункта меню Сервис-Средства разработки-Перекрестные ссылки-Периодические операции-Обновить с включенными галками:
  • "Удалить все",
  • "Обновить все",
  • "Обновить модель данных",
  • "Обновить иерархию типов" и
  • с выключенной галкой "Выбрано".
Давайте обратимся к первоисточнику:
SysCompileAll::compile() для перестроения перекрестных ссылок вызывает xRefUpdate::main(new Args(classstr(SysCompileAll))), где есть следующий кусок кода
X++:
        if (args.name() == classStr(SysCompileAll))
        {
            xRefUpdate.updateAll();
        }
Нетрудно видеть, что используется все тотже xRefUpdate.updateAll().
То есть при использовании CompileAll мы имеем тот же самый алгоритм перестроения ссылок.

То есть единственной неприятностью остается Level 4, но для псевдопользователя, который по ночам занимается компиляцией с перестроением перекрестных ссылок, думаю, это не проблема

И да, ночной опыт с CompileAll закончился успешно... и будет теперь повторяться еженочно. Чего и вам желаю.
За это сообщение автора поблагодарили: mazzy (2), sukhanchik (4), jeky (2).