Transaq
СБО "Transaq" => Подсистема ATF => Topic started by: Savoyar on 25.08.2011, 20:21:07
-
Уважаемые господа!
К счастью или сожалению, не являюсь программистом, так что не взыщите...
в данный момент озадачен отслеживанием выставленной заявки.
нашел в теме
http://www.transaq.ru/forum/index.php?topic=487.0
Пользователь пишет код
var myOrder = getOrder(8501);
var myStatus = myOrder["status"];
signal::output ("заявка " + myStatus);
Он хоть что делает то? Что такое getOrder(id), то есть получить заявку по идентификатору - я нашел
Что такое 8501? Откуда берётся значение? Это то, что у меня обозначено, как UID, то есть некий идентификатор клиента?
Что такое myOrder["status"];
Про status, то есть состояние заявки (значения смотрите в разделе константы) - это я посмотрел, однако, почему тименно такое написание? почему кавычки, квадратные скобки?
Опять же про onATFOrder(var id)... var id это тот же UID? А дальше как эту функцию применять?
Господа! Я честно прочел Руководство, однако этого там не нашел.
Может, стоит подкорректировать Руководство? Начало то просто здорово для непрограммистов написано, а вот дальше, по мере усложнения и введения нового... (((
-
У каждой заявки или сделки есть свой числовой идентификатор, чтобы их можно было как-то удобно отличать друг от друга. Когда совершается сделка, вызывается функция onATFTrade, которой в качестве параметра передается идентификатор сделки. Когда меняется статус заявки, вызывается функция onATFOrder, которой в качестве параметра передается идентификатор заявки.
Далее с помощью функций getOrder или getTrade вы можете получить детальную информацию о заявке или сделке соответственно, но в качестве параметра вы должны использовать как раз этот вот идентификатор (иначе не понятно какая заявка или сделка вас интересует).
Информация о заявках и сделках передается в виде "хешей". Это переменные, которые содержат в себе сразу множество значений. Какое именно из значений вы хотите получить и указывается в квадратных скобках. Какие именно значения содержат хеши для разных объектов вы можете прочитать здесь: http://transaq.ru/docs/atf/objects
-
А как узнать идентификатор заявки? Ведь заявок при работе внутри дня много и меня будет интересовать последняя из многиз исполненных или снятых, а вот какой у неё номер, сиречь, идентификатор...???
Вот так??
function onATFOrder(var id)
{
var MyOrder = getOrder(id);
var MyIdent = MyOrder["trnid"];
}
-
Да, именно. id как раз и является номером той заявки, состояние которой изменилось.
-
А если у меня заявок было до этого уже 10 штук, тогда как она узнает, что мне интересен id последней заявки?
-
делаете несколько переменных
например order1 order2 order3
и каждому id заявки присваиваете
делаете их static и работаете - проверяете, снимаете и прочее.
-
Savoyar!
Для этого создаете массив и в него записываете данные своих заявок.
этот массив будет вместо таблицы заявок, которую средствами ATF читать невозможно.
-
Savoyar!
Для этого создаете массив и в него записываете данные своих заявок.
этот массив будет вместо таблицы заявок, которую средствами ATF читать невозможно.
Начиная с версии 1.12 можно - смотрите функции getAllOrderIDs и getAllStopOrderIDs.