Показать сообщение отдельно
Старый 16.04.2008, 12:38   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Функция BOX::yesAllNoAllCancel
Нажатие кнопки в этом окне вызывает следующую ошибку:

---------------------------
Ошибка отслеживания операций (TTS)
---------------------------
Обнаружены непарные операции X++ TTSBEGIN/TTSCOMMIT.Причиной могут являться: (а) вызов (отсутствие) операторов TTSBEGIN или TTSCOMMIT,
(б) возврат изнутри пары TTSBEGIN/TTSCOMMIT или(в) влияние пользователя на выполнение TTSBEGIN/TTSCOMMIT.

Текущий уровень контроля TTS - "1".

---------------------------
ОК
---------------------------

если функция лежит внутри транзакции. Причем другие функции отрабатывают нормально (BOX::YesNo(), например).

Выглядит все следующим образом:
X++:
    try
    {
        ttsbegin;

        while select HRMSkillResonsible
            while select hrmSkill
                where hrmSkill.hrmSkillTypeId == HRMSkillResonsible.HRMSkillTypeId
                {
                 ...
                 switch (Box::yesAllNoAllCancel)
                 {
                 case DialogButton::No:
                            break;
                 ...
                 default:
                            throw exception::Break;
                 ...
                }
        ttscommit;
    }
    catch (exception::Break)
    {
        checkFailed("@SYS70800");
    }
    catch (exception::Error)
    {
        checkFailed("@SYS79625");
    }

В чем может быть дело?