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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.12.2008, 13:57   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Бага при импорте проекта
Обнаружил наприятный баг в форме SysImportDialog

Если мы пытаемся импортировать файл проекта xpo открытый другой программой (например начали импортировать в аксапту на другой приложение и застыли на сравнении слоев) или сравниваем 2 xpo-файла при помощи сравнения файлов в тотал коммандере или просто WinApi::fileExists(file) выдает false (иногда такое бывает – зависают блокировки на уровне файловой системы NTFS) – то Аксапта после выбора файла в диалоге – не подставляет его в поле ввода имени файла. Причем делает это молча А если попробовать её обмануть – вбить это значение руками – все равно стирает его и возвращает старое (часто непустое значение! - Опять же молча! Так что в итоге можно по невнимательности импортировать не тот проект).
Будьте внимательны. Особенно при накатах на рабочую.

Чтобы обойти этот глюк – можно дописать в метод
\Forms\SysImportDialog\Methods\updateBox
вывод окна сообщения о том что файл не открывается.
Например так :

X++:
void updateBox(fileName file, boolean updateBox = true)
{
    int         i;
    boolean     showMruAllowed;
    int         selection;

    if (WinApi::showMruAllowed())
    {
        showMruAllowed = true;

        while (conFind(lastFiles, file))
        {
            lastFiles = conDel(lastFiles, conFind(lastFiles, file), 1);
        }

        if (WinApi::fileExists(file))
        {
            while (Conlen(lastFiles) >= #tempFiles)
            {
                lastFiles = conDel(lastFiles, #tempFiles, 1);
            }

            lastFiles = conIns(lastFiles, 1, file);
        }
        // pkoz 09.12.2008 -->
        else
        {
            Box::warning(strFMT(
                            'Не удается открыть файл "%1", возможно указанный путь не существует, либо файл открыт другой программой. Импорт остановлен.',
                               file),
                         "Внимание !");
        }
        // pkoz 09.12.2008 <--
    }
    else
    {
        lastFiles = conNull();
        lastFiles = conIns(lastFiles, 1, file);
    }


    if (updatebox)
    {
        fileName.clear();

        if (showMruAllowed)
        {
            fileName.add('');

            if (file)
            {
                selection = 1;
            }
            else
            {
                selection = 0;
            }
        }
        else
        {
            selection = 0;
        }

        for (i = showMruAllowed; i <= ConLen(lastFiles); i++)
        {
            if (ConPeek(lastFiles, i))
            {
                fileName.add(ConPeek(lastFiles, i));
            }
        }

        fileName.setDropSize(ConLen(lastFiles) + showMruAllowed);
        fileName.selection(selection);
    }
}
P.S.
Ax 3.0 KR3 SP5
Теги
баг, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Слетают права при импорте проекта George Nordic DAX: Администрирование 20 07.11.2008 11:52
Сколько процентов от стоимости проекта идет на ФОТ? (анонимный опрос) Spider DAX: Прочие вопросы 1 27.09.2006 08:22
Проблемы при импорте и экспорте проекта FiGr DAX: Прочие вопросы 0 23.05.2006 16:41
Удаление проекта Maxim Gorbunov DAX: Программирование 0 24.12.2001 23:04

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:18.