Как вставить строку в таблицу Accounts через Sugar API - PullRequest
1 голос
/ 29 сентября 2011

Это код, который я пробовал:

$result = $sugar['soapclient']->call(
    'set_entry',
    array(
        'session'=>$sugar['session'],
        'module_name'=>'Accounts',
        array(
            array("name" => 'id', "value" => $sugar_data['id']),
            array("name" => 'name', "value" => $sugar_data['name']),
            array("name" => 'description', "value" => $sugar_data['description']),
            array("name" => 'team_id', "value" => $sugar_data['team_id']),
            array("name" => 'team_set_id', "value" => $sugar_data['team_set_id']),
            array("name" => 'phone_fax', "value" => $sugar_data['phone_fax']),
            array("name" => 'billing_address_street', "value" => $sugar_data['address_street']),
            array("name" => 'billing_address_city', "value" => $sugar_data['address_city']),
            array("name" => 'billing_address_state', "value" => $sugar_data['address_state']),
            array("name" => 'billing_address_postalcode', "value" => $sugar_data['address_postalcode']),
            array("name" => 'billing_address_country', "value" => $sugar_data['address_country']),
            array("name" => 'shipping_address_street', "value" => $sugar_data['address_street']),
            array("name" => 'shipping_address_city', "value" => $sugar_data['address_city']),
            array("name" => 'shipping_address_state', "value" => $sugar_data['address_state']),
            array("name" => 'shipping_address_postalcode', "value" => $sugar_data['address_postalcode']),
            array("name" => 'shipping_address_country', "value" => $sugar_data['address_country']),
            array("name" => 'phone_office', "value" => $sugar_data['phone_work'])
        )
    )
);

Однако строка не вставляется. Я искал на основе идентификатора и account_name, и оба вернули 0 результатов.

Спасибо! Я действительно ценю помощь, так как она должна быть завершена сегодня к концу дня!

Ник

Ответы [ 2 ]

3 голосов
/ 06 января 2012

Я думаю, что проблема в том, что вы использовали поле "id" в ваших данных.В этом случае SugarCRM пытается обновить учетную запись с этим конкретным идентификатором.Если вы хотите создать учетную запись с вашим собственным идентификатором, вам следует добавить также этот элемент в ваш массив:

array( 
    'name' => 'new_with_id',
    'value' => 1,
), 
1 голос
/ 17 октября 2011

Каков ответ от веб-службы?

Попробуйте отладить вызов веб-службы:

  • Просмотрите журнал веб-сервера (проходит ли вызов)
  • Включите ведение журнала SugarCRM и установите уровень отладки
  • Либо включите вывод ошибок PHP, либо сделайте ошибки журнала PHP в файл журнала
  • Используйте, например, SoapUI для проверки вызова SOAP
  • См. Где находится SugarFullTest_Version2.php?(Sugar CRM и SOAP) для более тщательного примера SOAP
  • Проверьте документацию SugarCRM SOAP

Я также попробую выполнить более простой тест и убедиться, что он работает правильно:

$info = $soapClient->set_entry(
    $session,
    'Accounts',
    array(
        array('name' => 'name', 'value' => 'Test account'),
        array('name' => 'description', 'value' => 'This is a test account'),
        )
    );
}

Идентификатор будет создан автоматически.

...