Показать сообщение отдельно
Старый 05.12.2016, 12:33   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение
интересная мысль!
там, конечно, regexp заколебешься писать.
но мысль "свести к поиску по xml" интересная. надо подумать. спасибо.
Не надо никаких регэкспов - в Posh поддержка xml есть
Цитата:
а для акс2012?
X++:
Exportfile for AOT version 1.0 or later
Formatversion: 1

***Element: JOB

; Microsoft Dynamics AX Job: DEV_OurRuMenuItems unloaded
; --------------------------------------------------------------------------------
  JOBVERSION 1
  
  SOURCE #DEV_OurRuMenuItems
    #static void DEV_OurRuMenuItems(Args _args)
    #{
    #    CommaIo io = new CommaIo(@'D:\0\menuitems.csv', 'w');
    #    TreeNodeTraverser traverser = new TreeNodeTraverser(TreeNode::findNode('\Menu Items'));
    #    TreeNode node;
    #    container badcountries = ['BR', 'CN', 'IN', 'JP', 'TH', 'US', 'MX'];
    #    Label label = new Label('en-US');
    #    label rulabel = new label('ru-RU');
    #    str codes;
    #
    #    boolean isGoodCountry(str _country)
    #    {
    #        return strLRTrim(_country) && !conFind(badcountries, strLRTrim(_country));
    #    }
    #    io.write('Path', 'Country', 'ViewUserLicense', 'MaintainUserLicense', 'Label', 'HelpText',  'Label.en', 'Help.en', 'Label.ru', 'Help.ru');
    #    node = traverser.next();
    #    while (node)
    #    {
    #
    #        if (node.AOTgetPropertiesExt())
    #        {
    #            codes = node.AOTgetProperty("CountryRegionCodes");
    #            //if (strScan(codes, 'RU', 1, strLen(codes)))
    #            if (isGoodCountry(codes))
    #            {
    #                print node.treeNodePath();
    #                infolog.yield();
    #                io.write(node.treeNodePath(), codes,
    #                    node.AOTgetProperty('ViewUserLicense'),
    #                    node.AOTgetProperty('MaintainUserLicense'),
    #                    node.AOTgetProperty('Label'),
    #                    node.AOTgetProperty('HelpText'),
    #                    label.extractString(node.AOTgetProperty('Label')),
    #                    label.extractString(node.AOTgetProperty('HelpText')),
    #                    rulabel.extractString(node.AOTgetProperty('Label')),
    #                    rulabel.extractString(node.AOTgetProperty('HelpText')));
    #            }
    #        }
    #        node = traverser.next();
    #    }
    #    io = null;
    #    info('done');
    #}
  ENDSOURCE
  PROPERTIES
    Origin              #{A555D6A7-3E58-453C-9E8C-95B1E333F1C3}
  ENDPROPERTIES
  

***Element: END