consolibyte:QuickBook双向同步MySql数据库无法正常工作

时间:2017-12-19 09:56:08

标签: php quickbooks

我正在尝试使用consolibyte库实现与quickbook的双向同步。我使用了consolibyte示例文件“example_mysql_mirror.php”。它创建了大约139个表并成功从Quickbook导入数据。

当我在Quickbook和MySql数据库中进行一些更改时,Quickbook更改反映在MySql数据库中,但MySql数据库更改不会出现在Quickbook中。

我正在使用QuickBook enterprise 2018并且使用了可靠的构建2.0.0。 Fallow是“example_mysql_mirror.php”文件的内容。

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
require_once dirname(__FILE__) . '/../QuickBooks.php';

if (function_exists('date_default_timezone_set'))
{
    date_default_timezone_set('America/New_York');
}

$username = 'Admin';
$password = '123456';

$dsn = 'mysqli://root:@localhost/quickbooks_sql';

if (!QuickBooks_Utilities::initialized($dsn))
{
    header('Content-Type: text/plain');

    set_time_limit(0);

    $driver_options = array(
        );

    $init_options = array(
        'quickbooks_sql_enabled' => true, 
        );

    QuickBooks_Utilities::initialize($dsn, $driver_options, $init_options);
    QuickBooks_Utilities::createUser($dsn, $username, $password);

    exit;
}
$mode = QuickBooks_WebConnector_Server_SQL::MODE_READWRITE;

$conflicts = QuickBooks_WebConnector_Server_SQL::CONFLICT_LOG;

$delete = QuickBooks_WebConnector_Server_SQL::DELETE_FLAG;

$hooks = array();

$soap_options = array();

$handler_options = array(
    'deny_concurrent_logins' => false,
    );

$driver_options = array();

$ops = array(
    QUICKBOOKS_OBJECT_SALESTAXITEM,
    QUICKBOOKS_OBJECT_SALESTAXCODE,
    QUICKBOOKS_OBJECT_CUSTOMER, 
    QUICKBOOKS_OBJECT_VENDOR,

    QUICKBOOKS_OBJECT_INVENTORYITEM, 

    QUICKBOOKS_OBJECT_TEMPLATE, 

    QUICKBOOKS_OBJECT_CUSTOMERTYPE, 
    QUICKBOOKS_OBJECT_VENDORTYPE, 
    QUICKBOOKS_OBJECT_ESTIMATE, 
    QUICKBOOKS_OBJECT_INVOICE, 
    QUICKBOOKS_OBJECT_CLASS, 

    QUICKBOOKS_OBJECT_INVOICE,

    QUICKBOOKS_OBJECT_PAYMENTMETHOD,

    QUICKBOOKS_OBJECT_COMPANY, 
    QUICKBOOKS_OBJECT_HOST, 
    QUICKBOOKS_OBJECT_PREFERENCES,
    );

$ops_misc = array(
    QUICKBOOKS_DERIVE_INVENTORYLEVELS,
    QUICKBOOKS_QUERY_DELETEDLISTS,
    QUICKBOOKS_QUERY_DELETEDTRANSACTIONS,
    // 'nothing', 
    );

$sql_options = array(
    'only_import' => $ops,
    'only_add' => $ops, 
    'only_modify' => $ops, 
    'only_misc' => $ops_misc, 
    );

$callback_options = array();

$Server = new QuickBooks_WebConnector_Server_SQL(
    $dsn, 
    '1 minute', 
    $mode, 
    $conflicts, 
    $delete,
    $username, 
    array(), 
    array(), 
    $hooks, 
    QUICKBOOKS_LOG_DEVELOP, 
    QUICKBOOKS_SOAPSERVER_BUILTIN, 
    QUICKBOOKS_WSDL,
    $soap_options, 
    $handler_options, 
    $driver_options,
    $sql_options, 
    $callback_options);
$Server->handle(true, true);

1 个答案:

答案 0 :(得分:0)

如果您的QuickBooks计算机在此时区?

if (function_exists('date_default_timezone_set'))
{
    date_default_timezone_set('America/New_York');
}

如果没有,请修复您的代码,以便此代码的时区与QuickBooks的时区相匹配。