AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.03.2010, 15:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
axaptapedia: Job Template (for running database maintenance script etc)
Источник: http://www.axaptapedia.com/Job_Templ..._script_etc%29
==============

Summary: Use it if you want...

Handy script with some failsafe stuff built into it.

'''I woulnd'nt give users access to it, you still need to know what you are doing.'''


X++:
static void _TestJobTemplate(Args _args)
{
    Dialog      dialog          = new Dialog("Heading of the dialog.");
    Dialog      dlgAreYouSure   = new Dialog("Are you sure?");
    DialogField                 dfAreYouSure;
    DialogField                 dfDryRun;
    str                         sDryRun     = "Dry Run(not modf. data)?";
    str                         sAreYouSure = "Are you sure?";
    str                         sUserAbort  = "User aborted operation.";

    // Setting vars
    boolean                     UseTTS = NoYes::No; // Use tts on (live operation)

    ;
    dfDryRun = dialog.addField(typeId(NoYes),sDryRun);

    if (dialog.run())
    {
        // Fetch values from optional dialog fields
        /*
        // Check that those values has been submitted
        if(!VAR)
        throw error("You need to supply XY");
        */
        if(dfDryRun.value())
        {
            // Dry Run logic goes here.


        } else {

            dfAreYouSure = dlgAreYouSure.addField(typeId(NoYes),sAreYouSure);

        if(dlgAreYouSure.run())
        {
            if(dfAreYouSure.value())
            {
                if(UseTTS)
                    ttsbegin;
                // Live run logic goes here

                if(UseTTS)
                    ttscommit;
                }  else
                    throw error(sUserAbort);
            } else
                throw error(sUserAbort);
        }
    }
}



Источник: http://www.axaptapedia.com/Job_Templ..._script_etc%29
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 16.03.2010, 17:15   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Может я конечно чего не догоняю... Но для джоба писать СТОЛЬКО "служебного" кода....
А нельзя обойтись просто box::YesNo ?
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: mazzy (5).
Старый 16.03.2010, 17:52   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
О, да... Гордая одинокая галка, подкрепленная кнопками OK и Cancel - это сильно
Ну, и форматирование IF-ов в исходном сообщении - отдельная песня.
Старый 16.03.2010, 18:17   #4  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
когда в день делаешь несколько джобиков по изменению данных на рабочей БД, такой шаблончик полезен. Чтоб 7 раз отмерить - 1 отрезать, и если что не так - откатить.
Опять же его можно попросить запустить кого-нибудь другого

Только я еще прогресс добавлял и SetPrefix-ы, потом в класс помещал... и получался RunBase
Старый 16.03.2010, 18:56   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Wamr Посмотреть сообщение
когда в день делаешь несколько джобиков по изменению данных на рабочей БД, такой шаблончик полезен. Чтоб 7 раз отмерить - 1 отрезать, и если что не так - откатить.
Опять же его можно попросить запустить кого-нибудь другого

Только я еще прогресс добавлял и SetPrefix-ы, потом в класс помещал... и получался RunBase
Тогда уж надо делать ReleaseUpdate*-классы (наследников ReleaseUpdateDB) с увеличенным номером версии, если джобиков уж так много, а запускать нужно просить.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 16.03.2010 в 18:58.
Старый 17.03.2010, 09:11   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
а я еще делал галочку "ничего не менять, а только показать, где что и на что поменяется" - возможно, тут имеется ввиду под DryRun
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Checking Database entries after restoring a Microsoft Dynamics 2009 SQL Database to another Domain or Environment Blog bot DAX Blogs 0 18.02.2010 23:05
axaptapedia: RunBaseBatch Blog bot DAX Blogs 0 04.04.2009 22:05
Microsoft Dynamics CRM Team Blog: Auditing Report Execution using the ReportServer Database Blog bot Dynamics CRM: Blogs 0 19.11.2008 20:05
axaptapedia: Create New AOT Project From Template Blog bot DAX Blogs 0 29.08.2008 21:10

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:04.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.