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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.02.2010, 14:01   #1  
rusalaudinov is offline
rusalaudinov
Участник
 
91 / 36 (2) +++
Регистрация: 24.05.2007
ошибка BP: Method contains text constant
Здравствуйте.
Имеем ряд методов в отчетах с ошибками типа "Method contains text constant". Нужно заглушить бестпрактис. //BP Deviation documented - не помогает. ЧЯДНТ? что еще можно предпринять?
Старый 12.02.2010, 14:33   #2  
Jorj is offline
Jorj
Участник
Аватар для Jorj
 
11 / 14 (1) ++
Регистрация: 03.10.2006
Адрес: Киев
Как написано в самаом методе обработчике:
X++:
\Classes\SysBPCheckMemberFunction\checkSymbolTextConstant
проверяется что "...the text only used to format a label, by using a combination of %1 and symbols..."
Соответственно вам необходимо этот текст перевести в лейбу или макрос.
__________________
Не принимайте жизнь всерьез - это временное явление...
Старый 12.02.2010, 14:43   #3  
rusalaudinov is offline
rusalaudinov
Участник
 
91 / 36 (2) +++
Регистрация: 24.05.2007
ну я понимаю, что гласит ошибка. Использование текстовых констант. но заказчик четко попросил меня не исправлять её, а заглушить по средствам //BP Deviation documented. Однако вставка такой строки не даёт результатов.
Старый 12.02.2010, 14:49   #4  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,296 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Цитата:
Сообщение от rusalaudinov Посмотреть сообщение
ну я понимаю, что гласит ошибка. Использование текстовых констант. но заказчик четко попросил меня не исправлять её, а заглушить по средствам //BP Deviation documented. Однако вставка такой строки не даёт результатов.
Любопытное требование заказчика. А просто отключить проверку BP при компиляции не проще?
__________________
Михаил Андреев
https://www.amand.ru
Старый 12.02.2010, 14:52   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
есть еще макрос SysBPCheckIgnore
За это сообщение автора поблагодарили: rusalaudinov (1).
Старый 12.02.2010, 14:53   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Попробуйте добавить вхождение в макрос SysBPCheckIgnore.
А вообще, лучше заменить двойные кавычки на одинарные - такую ошибку можно сапресить.
За это сообщение автора поблагодарили: Logger (1), rusalaudinov (1).
Старый 12.02.2010, 17:03   #7  
rusalaudinov is offline
rusalaudinov
Участник
 
91 / 36 (2) +++
Регистрация: 24.05.2007
Спасибо, Иван. Вы в очередной раз предлагаете максимальное простое и правильное решение задач, которые передо мной встают. Вы просто кладезь ценных знаний.

Остальным принявшим участие в дискуссии так же выражаю благодарность.
Старый 22.02.2010, 15:45   #8  
rusalaudinov is offline
rusalaudinov
Участник
 
91 / 36 (2) +++
Регистрация: 24.05.2007
Подниму тему вновь. Теперь мне нужно скрыть ошибки БП, которые находятся не в коде.
К примеру в отчете Report1 у меня куча ошибок типа:"Property Label must contain a label ID such as @SYS4711, not..."
Для этого я попробовал последовать совету belugin и вмешаться в макрос SysBPCheckIgnore. Я добавил туда такую строчку:
X++:
<violation errorcode="#BPErrorLabelIsText" path="\Reports\Report1" />
однако ошибки бестпрактис от которых хотелось избавиться никуда не делить. Даже сделал полную перекомпиляцию приложения, результата нет. ЧЯДНТ?
Старый 23.02.2010, 10:56   #9  
rusalaudinov is offline
rusalaudinov
Участник
 
91 / 36 (2) +++
Регистрация: 24.05.2007
На данный момент мои ковыряния в Аксапте довели до того, что:
во-первых: Нужно перекомпилировать классы SysBPCheck
во-вторых: Закрыть аксапту и открыть её заново
в-третьих: В строке путь нужно указывать не путь к объекту \Reports\Report1, а путь именно к тому месту, где у нас ошибка, т.е. тот путь который показывает компилятор бестПрактис. Примерно так:"\Reports\Report1\Designs\Generated Design\PageHeader:CollectionLetter\IntegerrintCopies"
Тогда ошибка ошибка пропадает, но только одна. Соответственно имея более 50 ошибок в нашем отчете, нам нужно написать более 50 строк в макрос. Это плохо и неудобно.
Реквестирую способов избавиться от написания 50 строк так, чтобы написав одну строку все наши 50+ ошибок были подавлены.
Старый 23.02.2010, 16:38   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от rusalaudinov Посмотреть сообщение
Имеем ряд методов в отчетах с ошибками типа "Method contains text constant". Нужно заглушить бестпрактис.
Почему-то так и не прозвучало решение, найденное Максом Белугиным, а именно - использование т.н. raw strings. Если перед строковыми литералами поставить символ @ и соотв. образом изменить их на предмет вхождения экранируемых символов, то проверки BP ругаться на такие строковые литералы перестают.
За это сообщение автора поблагодарили: Logger (3).
Старый 24.02.2010, 13:05   #11  
rusalaudinov is offline
rusalaudinov
Участник
 
91 / 36 (2) +++
Регистрация: 24.05.2007
Решил проблему методом добавления строк типа
X++:
SysBPCheck::ignore(_errorcode);
в метод main класса SysBPCheck. Ошибки конечно перестали появляться, но как нужно было поступить со строками в макрос так и не понял. Да и моё решение нахожу крайне грубым. Буду признателен если кто-нибудь объяснит.

Последний раз редактировалось rusalaudinov; 24.02.2010 в 13:13.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка while next niktata DAX: Программирование 11 20.02.2009 15:18
axaptapedia: Display method Blog bot DAX Blogs 0 29.08.2007 16:30
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Установка Axapta-клиентов lm DAX: Администрирование 8 12.04.2002 17:24

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

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

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