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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.12.2005, 13:02   #21  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от Migel_84
Не так. info просто выводит сообщение, а checkfailed можно возвращать вместо супер
Да, согласен. Спасибо!

Как раз сегоня воспользовался:
PHP код:
    if(!this.parmInvoiceId(this.parmSalesIdNonPrefix()))
        
ret checkFailed(strfmt("@SYS26332",
                new 
DictType(extendedTypeNum(SalesId)).label())); 
Старый 22.12.2005, 14:30   #22  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
Цитата:
Сообщение от Migel_84
А как насчёт использовать логическую переменную? Убрать throw и, если хоть одна ошибка будет присвоить переменной true, а при оприходовании проверять, если переменная равна true, то не оприходовать
Идея хорошая, я в данный моменты просто добавил свой цикл, перед основным while (salesParmLine) в Classes\SalesFormLetter_Invoice\updateNow и там все методы продублировал, где заменил все throw на info. Если бы я точно знал в каком месте можно поставить проверку на глобальную переменную, чтобы накладная точно не приходывалась, я бы так и сделал, но я не знаю в каком месте накладная по Заказу приходуется (я имею в виду себестоимость, проводки и т.д).
Старый 22.12.2005, 16:18   #23  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
2 Hans:

Надеялся, что Вы уже остановились….
Порочная практика, сначала накладная, потом потребуют во всех обработках сделать подобную фичу.
В своё время сумел убедить креативных консультантов, чего и Вам желаю.
Старый 22.12.2005, 16:34   #24  
Ivan Mischenko is offline
Ivan Mischenko
NavAx
Аватар для Ivan Mischenko
NavAx Club
 
87 / 19 (1) ++
Регистрация: 30.10.2002
Адрес: Проживания?
Если Вы делаете это в Заказе то, посмотрите метод Run на SalesFormLetter. Там где делается catch (Exception::Error), т.е. обрабатывается это исключение. Посмотрите как оно обрабатывается. Думаю с этим можно поколдовать. Сделать так чтобы он не прекращал обработку, если ошибся в строке. Хотя все ошибки построке Вы так не получите. Зато отметите все проблемные строчки как вроде бы.

Если это не очень правильное место, то ищите где оно обрабатывает строки и обрамите в трай-кеч.

Хотя тут правильно говорили, что лучше исправить ошибки в пользовательском мыслительном аппарате, чем выщищать глюки после исправлений сроу на инфо.
__________________
Особые лекарства... меня не прут!..

Последний раз редактировалось Ivan Mischenko; 22.12.2005 в 16:37.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Слетают SecurityKey. Что можно сделать? chanchala DAX: Программирование 9 16.02.2009 17:14
ALEG: Можно ли из "клиентского" решения сделать "тиражное" Blog bot DAX Blogs 0 16.11.2006 23:40
Можно ли в Аксапте делать "горячие клавиши"? Garic DAX: Программирование 12 25.01.2006 19:51
Можно ли такое сделать в Axapta ML DAX: Программирование 11 12.05.2005 11:46
Еще по поводу QueryBuildRange() RVS DAX: Программирование 4 10.07.2003 12:57

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

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

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