php
  • web-services
  • api
  • vtiger
  • 2013-03-20 2 views 2 likes 
    2

    vTiger webservice를 통해 SalesOrder를 추가하려고합니다. 이 vtwsclib에 사용하고 있습니다. "작업을 수행 할 수있는 권한이 ID에 대한 거부 ACCESS_DENIED는"여기에 코드입니다 :vTiger webservice "ACCESS_DENIED : 작업을 수행 할 권한이 ID에 대해 거부되었습니다."

    <?php 
    include_once('vtwsclib/Vtiger/WSClient.php'); 
    $url = 'http://localhost:8888'; 
    $client = new Vtiger_WSClient($url); 
    $login = $client->doLogin('admin', 'zzzzzzzz'); 
    if(!$login) echo 'Login Failed'; 
    else { 
    
        $data = array(
         'subject' => 'Test SalesOrder', 
         'sostatus' => 'Created', 
         'invoicestatus'=>'AutoCreated', 
         'account_id'=> '46', // Existing account id 
         'bill_street' => 'Bill Street', 
         'ship_street' => 'Ship Street', 
        ); 
        $record = $client->doCreate('SalesOrder', $data); 
    
    $error = $client->lasterror(); 
        if($error) { 
        echo $error['code'] . ' : ' . $error['message']; 
    } 
    
    if($record) { 
        $salesorderid = $client->getRecordId($record['id']); 
    } 
    
    } 
    ?> 
    

    그리고 난 단지 얻는다.

    Account_id가 데이터베이스에 있습니다. 다른 salesOrder가 동일한 account_id로 추가되었지만 웹 페이지를 통해 추가되었습니다. 나는 또한 accout_id = "6x46"으로 변형을 시도했다. 여기서 6은 module_id이다. 그것은 또한 작동하지 않았다. 어떤 아이디어이 문제를 해결하는 방법?

    +0

    은 판매 주문 테이블 기본 키에 자동 증가 동작이 있습니까? salesorder의 기본 키 필드 이름은 무엇입니까 –

    +0

    accountid이지만 코드에서 다른 유형의 오류가 발생하면 account_id 필드가 필요합니다. –

    답변

    1

    계정 ID가 11x46이어야한다고 생각합니다. Vtiger 웹 서비스 엔티티 ID는 tabids와 다릅니다.

    모든 개체 식별자의 정확한 목록을 얻을 CRM에 대한 귀하의 MySQL이 실행하려면

    select id, name from vtiger_ws_entity; 
    
    0

    문제 vtiger 문서에있다. entityName 매개 변수를 GET 요청에 추가하십시오.

    var q = "select * from Users;"; 
    "http://vtigercrm/webservice.php?operation=query&sessionName=ABC&entityName=XYZ&query="+q 
    

    이것은 잘 돌아갔습니다. 엔티티 이름이나 가비지 문자열을 지정해도 이해할 수는 없지만 프로그램이 작동합니다! 이 점에 대해 더 많이 알고 있으면 의견을 말하십시오.

    관련 문제