Как добавить теги (Category_id) при создании клиента (res.partner) в odoo?

Я работаю над приложением 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 = "[email protected]";
    fax = "";
    function = "";
    "is_company" = 0;
    mobile = "";
    name = "123 Sample Customer";
    phone = "";
    street = "Street address";
    website = "http://www.sample.com";
}

В приведенном выше входном параметре category_id это мой ключ для тегов.

Кто-нибудь сталкивался с такой проблемой?


person Tejas Bharambe    schedule 15.04.2015    source источник


Ответы (1)


В res_partner объект category_id имеет отношение "многие ко многим". Поэтому вам нужно добавить, используя [6, 0, [ids]]

Попробуйте эти значения:

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

Подробнее о Many2one, One2many и Много-много полей

person Bhavesh Odedra    schedule 15.04.2015
comment
Большое спасибо, Одедра ... Я столкнулся с этой проблемой за предыдущие 2 дня. Ты зажигаешь. - person Tejas Bharambe; 15.04.2015
comment
@Odedra, что представляют собой 6 и 0 в "category_id" = [(6, 0, [17, 10, 9, 13])],? Без объяснений они кажутся нубу довольно произвольными. Есть ли документация, на которую можно ссылаться, объясняя это? - person StartupGuy; 31.03.2017
comment
@MichaelMügge Вы правы. Я должен включить краткое описание этого. Вы можете сослаться на обновленную ссылку ответа. - person Bhavesh Odedra; 31.03.2017
comment
@Odedra, это также работает при добавлении новой записи для модели, которая _inherits из res.partner, или вам нужно сначала добавить свою запись, затем получить partner_id и добавить отношение к модели res.partner? - person StartupGuy; 03.04.2017
comment
Да, это сработает. Но убедитесь, что идентификатор должен быть зарегистрирован в базе данных. - person Bhavesh Odedra; 03.04.2017