Как создать элемент из API с именем из соответствующей последовательности? - PullRequest
1 голос
/ 15 апреля 2019

Я бы хотел использовать EA для программной генерации элементов Requirement. Мне нужно использовать ту же порядковую нумерацию (REQ00000xy), что и в графическом интерфейсе при нажатии кнопки «Авто» в диалоговом окне «Добавить элемент ...», чтобы сохранить «согласованную нумерацию для элементов требований, созданных либо из графического интерфейса, либо из API.

Выбор последнего использованного порядкового номера из уже существующих элементов Requierement не поможет, так как он не перемещает порядковый номер вверх и следующее требование, созданное из GUI.

Есть ли способ получить (и правильно использовать) порядковый номер через EA API или EA SQL?

1 Ответ

2 голосов
/ 16 апреля 2019

Таблица, которую вы ищете - t_trxtypes. Содержит что-то вроде (вывод советника)

Описание; NumericWeight; Notes; TRX; TRX_ID; стиль;

Autocount; 1,00; префикс = л; суффикс = х; активный = 1; active_a = 0; Счетчик = 126 ;; класс; 1; ;

Вас интересует столбец Notes, который содержит список CSV, такой как

Префикс = л; суффикс = х; активный = 1; active_a = 0; Счетчик = 126;

Это тестовая настройка для класса, который в настоящее время имеет номер 126. Таким образом, следующий созданный класс будет называться bla126x, и запись изменится на

Префикс = л; суффикс = х; активный = 1; active_a = 0; Счетчик = 127;

Просто синхронизируйте колонну t_trxtypes.notes с вашими творениями.

Примечание EA не разрешает (кажется) прямой доступ к БД. Тем не менее, он имеет проверенную заднюю дверь:

Repository.Execute("UPDATE t_trxtypes SET Notes='prefix=bla;suffix=x;active=1;active_a=0;counter=127;' WHERE TRX_ID=<your id>")

выполнит обновление (замените <your id> на соответствующий ключ). Хотя Execute недокументировано, оно работает с тех пор, и, конечно, Sparx не будет ограничивать его, так как в настоящее время все полагаются на него.

В качестве примечания: этот счетчик не является безопасным. Есть много способов (самый простой - просто переименовать), чтобы сломать его. Вам понадобится какой-нибудь скрипт / надстройка, чтобы регулярно проверять вашу нумерацию. Если вы полагаетесь на нумерацию требований, вам лучше использовать внешнюю систему, например, осмелюсь сказать, DOORS.

...