AutoTask API,如何使用用户定义字段(UDF)从Autotask API查询实体

时间:2017-12-21 15:39:50

标签: soap asp.net-mvc-5

我试图使用WebAPI从Autotask数据库中提取一些Account个实体。 我不需要按ID字段查询,而是使用UDF "Next Visit"来提取它,其类型为日期

我已经说明了正在使用的功能/查询。现在如API文档中所述

  

要指定字段是UDF,您必须添加udf =" true"在字段标记内。您   只能为每个查询指定一个UDF字段

我仍然得到ResponseCode = -1,错误消息为"Unable to find next visit in the Account Entity. "

public static Account[] getAccountsWithNextVisitDueIn(DateTime fromDate, DateTime toDate)
    {
        StringBuilder query = new StringBuilder();
        query.Append("<queryxml><entity>Account</entity>");
        query.Append("<query><condition operator=\"and\"> ");
        query.Append("<field udf=\"true\">Next Visit<expression op=\"greaterthanorequals\">" + fromDate.ToString("dd/MM/yyy") + "</expression></field>");
        query.Append("<field udf=\"true\">Next Visit<expression op=\"lessthan\">" + toDate.ToString("dd/MM/yyy") + "</expression></field>");
        query.Append("</condition></query></queryxml>");

        ATWSResponse response = connHandler.Query(query.ToString());

        if(connHandler.Success(response))
        {
            Entity[] accountEntities = response.EntityResults;
            Account[] accounts = Array.ConvertAll(accountEntities, item => (Account)item);

            return accounts;
        }

        return null;
    }

1 个答案:

答案 0 :(得分:0)

使用命令GetFieldInfo查看Account实体的UserDefinedField列表。确保字段名称​​完全您在查询中使用的内容。

如果您不确定,请在此处粘贴GetFieldInfo for Account的输出。