Цитата:
Сообщение от
Ярослав Щекин
А у Вас какая версия Axapta?
Я вот беру код типа:
...
Запускаю проверку Best Practices, и никаких предупреждений не вижу.
У нас DAX4. Я немного поторопился, заявив, что
задачу решают стандартные проверки best practics. Посмотрел текущий метод проверки и не нашел того, что подразумевал. Стандарт просто тупо подсчитывает соответствие количества
ttsBegin и
ttsCommit в пределах одного метода.То есть он даже пропустит вариант написания:
X++:
ttsCommit;
...
ttsBegin;
В общем, даже порядок вызова транзакций стандарт не отслеживает, не говоря уже про выход посреди транзакции при помощи return, break и continue.
Просто когда-то на одной из прошлых работ я расширял BP по поводу парности ttsBegin/ttsCommit таким образом, чтобы проверялось не только количество, но и порядок и наличие между началом и подтверждение транзакции возвратов, прерываний, продолжений (в этом случае выдавал не ошибку или предупреждение, а просто сообщение, поэтому ловилось только при определенной настройке BP). За давностью лет решил, что это и есть стандарт.
Ладно, вспомню что тогда делал и добавлю в наше приложение. А Вам рекомендую вписать Вашу проверку в метод checkSource класса SysBPCheckMemberFunction. В этом случае не нужно будет что-то выгружать в проекты, а контролировать все это дело в рамках текущей разработки.