2

我正在开发 ODOO iOS 应用程序。我正在使用res.partner模型和create方法创建客户。客户创建成功,没有任何错误,但我在创建过程中选择的标签字段没有生成。

我使用以下代码来创建客户:

NSArray *inputParameter = [NSArray arrayWithObjects:[userDic objectForKey:@"database"],[userDic objectForKey:@"userId"],[userDic objectForKey:@"password"],@"res.partner",@"create",customerDictionary,nil];

    // Show progress hud on main thread
    [[OpenERPGlobal appDelegate] showProgressHUD:@"Please wait" withView:self.view];

    // Depending on Id's read records
    WebService *service = [[WebService alloc] init];
    [service fetchDataWIthURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/xmlrpc/object",[userDic objectForKey:@"hostUrl"]]] withMethodName:ExecuteFunctionName withParameter:inputParameter withResult:^(id result,NSError *error)
     {
         [[OpenERPGlobal appDelegate] hideProgressHUD];

         if([result isKindOfClass:[NSNumber class]])
         {
            [OpenERPGlobal showMessage:@"Customer created successfully." delegate:self tag:10 cancelButtonTitle:@"Ok" otherButtonTitles:nil];
         }
     }

上述调用的输入参数如下:

{
    "category_id" =     (
        17,
        10,
        9,
        13
    );
    city = California;
    email = "sample@gmail.com";
    fax = "";
    function = "";
    "is_company" = 0;
    mobile = "";
    name = "123 Sample Customer";
    phone = "";
    street = "Street address";
    website = "http://www.sample.com";
}

在上面的输入参数category_id中是我的标签键。

有人遇到过这种问题吗?

4

1 回答 1

2

res_partner对象中 category_id有 many2many 关系。所以你需要使用[6, 0, [ids]]添加

试试这个值:

{
    "category_id" = [(6, 0, [17, 10, 9, 13])],
    city = California;
    email = "sample@gmail.com";
    fax = "";
    function = "";
    "is_company" = 0;
    mobile = "";
    name = "123 Sample Customer";
    phone = "";
    street = "Street address";
    website = "http://www.sample.com";
}

有关 Many2one、One2many 和 Many2many 字段的更多详细信息

于 2015-04-15T08:16:36.620 回答