![]() |
#10 |
Участник
|
Цитата:
Для начала, чтобы не тратить время, определимся что такое конструктор. На мой взгляд, конструктор это то, что создает класс. В Аксе это метод new. Принято создавать статический метод construct, но, несмотря на название это все-таки не конструктор в общем понимании, а метод фабрики. Пример проблемы параметров в new очень простой (речь про DAX2009, то есть пока про атрибуты даже не вспоминаем). Создаем наследника RunBaseBatch в котором в new указываем параметры. Если запускаем этот класс через назначенный mtnuitem, то проблем нет. А теперь, представляем ситуацию, когда наш класс администратор хочет включить в пакетное задание в рамках журнала. Он запускает "Основное \ Запросы \ Пакетное задание. Создает новое задание, переходит в "Просмотр задач", создает новую строку и пытается выбрать класс обработки. И получает ошибку, причем непонятную - я встречал и "тип операнда не соответствует оператору" и "типы несовместимы" и другие и без всякого указания на класс, вызвавший проблему. На самом деле, даже не нужно создавать свой класс, MS, о нас позаботился и создал два такие класса. Если у Вас есть DAX2009 с Российской локализацией, включающей зарплату, то механизм создания журнала пакетного задания уже сломан из-за использования параметров в new. Пример тут: Создание пакетного задания DAX 2009 Последний раз редактировалось Raven Melancholic; 03.06.2017 в 21:17. |
|
Теги |
sysextension framework, sysoperation framework, как правильно, полезное |
|
|