get_element_value_available_list
Получить список возможных значений для свойства.
Результат получаем в строку функцией ac_getstrvalue();
В этой строке если свойство имеет тип с единственно возможным выбором, то возвращается единственное значение.
А если свойство может принимать несколько значений из списка, то возвращается набор установленных значений, разделенных символом конец строки ("\n").
Вызов:
int ires = ac_request_special("get_element_value_available_list", string sgenesis, string paramname);
string sres = ac_getstrvalue();
Здесь:
sgenesis - генезис свойства ("UPb", "UPub", "UP" или "UPa").
ires - если ошибка - меньше 0, или 0 если считано без ошибки.
paramname - имя параметра (например: "Общая информация\\Тип Линии")
Свойства, имеющие тип "набор параметров" отмечаются BIM Master'е в колонке Collection Type значками символизирующими список:
BIM Master при редактировании такого свойства так же показывает его возможные варианты значений.
Пример.
Дать пользователю возможность изменить значение свойства, имеющего несколько возможных значений и возможность выбора нескольких значений.
ac_request_special("get_element_value_available_list", "UP", "Общая информация\\Тип Линии");
string sAvailableLineTypes = ac_getstrvalue();
ac_request_special("get_element_value", "UP", "Общая информация\\Тип Линии");
string sselected = ac_getstrvalue();
//sAvailableLineTypes = strreplace(sAvailableLineTypes, "\n", ";", 0, 0, -1);
coutvar << sAvailableLineTypes;
coutvar << sselected;
res = ac_request("EditCheckStringsDialog", "Тип линии", sAvailableLineTypes, sselected,"\n");
if (res == 1)
{
coutvar << sselected;
//ts_dialogcontrol(iTextEdit_LineType1, "settext", sselected);
ac_request_special("set_element_value_available_list", "UP", "Общая информация\\Тип Линии",sselected);
}