[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [11368] property: new integration with accounting sys
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [11368] property: new integration with accounting system |
Date: |
Fri, 11 Oct 2013 14:06:32 +0000 |
Revision: 11368
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11368
Author: sigurdne
Date: 2013-10-11 14:06:32 +0000 (Fri, 11 Oct 2013)
Log Message:
-----------
property: new integration with accounting system
Modified Paths:
--------------
trunk/property/inc/class.soXport.inc.php
trunk/property/inc/cron/default/Import_fra_agresso_X205.php
trunk/property/setup/tables_current.inc.php
trunk/property/setup/tables_update.inc.php
Added Paths:
-----------
trunk/property/inc/export/default/Agresso_X114
Modified: trunk/property/inc/class.soXport.inc.php
===================================================================
--- trunk/property/inc/class.soXport.inc.php 2013-10-11 13:08:03 UTC (rev
11367)
+++ trunk/property/inc/class.soXport.inc.php 2013-10-11 14:06:32 UTC (rev
11368)
@@ -268,6 +268,7 @@
$fields['item_type'],
$fields['item_id'],
$fields['external_ref'],
+ $fields['external_voucher_id'],
isset($fields['currency']) &&
$fields['currency'] ? $fields['currency'] : 'NOK'
);
@@ -278,7 +279,7 @@
$sql= "INSERT INTO fm_ecobilag
(project_id,kostra_id,pmwrkord_code,bilagsnr,bilagsnr_ut,splitt,kildeid,kidnr,typeid,fakturadato,"
. "
forfallsdato,regtid,artid,spvend_code,dimb,oppsynsmannid,saksbehandlerid,budsjettansvarligid,"
. "
fakturanr,spbudact_code,loc1,dima,dimd,dime,mvakode,periode,merknad,line_text,oppsynsigndato,saksigndato,"
- . "
budsjettsigndato,utbetalingsigndato,item_type,item_id,external_ref,currency,belop,godkjentbelop)"
+ . "
budsjettsigndato,utbetalingsigndato,item_type,item_id,external_ref,external_voucher_id,currency,belop,godkjentbelop)"
. " VALUES ({$values}," .
$this->db->money_format($fields['belop']) . ',' .
$this->db->money_format($fields['godkjentbelop']) .')';
$this->db->query($sql,__LINE__,__FILE__);
@@ -348,6 +349,7 @@
$data['item_type'],
$data['item_id'],
$data['external_ref'],
+ $data['external_voucher_id'],
$data['currency'],
$data['manual_record'],
$data['process_code'],
@@ -360,7 +362,7 @@
. "
periode,periodization,periodization_start,forfallsdato,fakturanr,spbudact_code,regtid,artid,spvend_code,dima,loc1,"
. "
dimb,mvakode,dimd,dime,oppsynsmannid,saksbehandlerid,budsjettansvarligid,oppsynsigndato,saksigndato,"
. "
budsjettsigndato,merknad,line_text,splitt,utbetalingid,utbetalingsigndato,filnavn,overftid,item_type,item_id,external_ref,"
- . "
currency,manual_record,process_code,process_log,belop,godkjentbelop,ordrebelop)"
+ . "
external_voucher_id,currency,manual_record,process_code,process_log,belop,godkjentbelop,ordrebelop)"
. "VALUES ($values, "
. $this->db->money_format($data['belop']) . ","
.
$this->db->money_format($data['godkjentbelop']) . ","
@@ -439,6 +441,7 @@
'utbetalingid' =>
$this->db->f('utbetalingid'),
'utbetalingsigndato' =>
$this->db->f('utbetalingsigndato'),
'external_ref' =>
$this->db->f('external_ref'),
+ 'external_voucher_id' =>
$this->db->f('external_voucher_id'),
'kostra_id'
=> $this->db->f('kostra_id'),
'currency'
=> $this->db->f('currency'),
'process_log' =>
$this->db->f('process_log',true),
Modified: trunk/property/inc/cron/default/Import_fra_agresso_X205.php
===================================================================
--- trunk/property/inc/cron/default/Import_fra_agresso_X205.php 2013-10-11
13:08:03 UTC (rev 11367)
+++ trunk/property/inc/cron/default/Import_fra_agresso_X205.php 2013-10-11
14:06:32 UTC (rev 11368)
@@ -178,17 +178,18 @@
foreach($file_list as $file)
{
$file_parts = explode('_', basename($file,
'.xml'));
- $external_ref = $file_parts[2];
+ // $external_ref = $file_parts[2];
+ $external_voucher_id = $file_parts[2];
$duplicate = false;
- $sql = "SELECT bilagsnr, external_ref FROM
fm_ecobilag WHERE external_ref = '{$external_ref}'";
+ $sql = "SELECT bilagsnr FROM fm_ecobilag WHERE
external_voucher_id = '{$external_voucher_id}'";
$this->db->query($sql,__LINE__,__FILE__);
if($this->db->next_record())
{
$duplicate = true;
}
- $sql = "SELECT bilagsnr FROM fm_ecobilagoverf
WHERE external_ref = '{$external_ref}'";
+ $sql = "SELECT bilagsnr FROM fm_ecobilagoverf
WHERE external_voucher_id = '{$external_voucher_id}'";
$this->db->query($sql,__LINE__,__FILE__);
if($this->db->next_record())
{
@@ -198,7 +199,7 @@
if( !$duplicate )
{
rename("{$archive}/{$file}",
"{$dirname}/{$file}");
- $this->receipt['message'][] =
array('msg' => "fil tilbakeført fra arkiv til importkø: {$external_ref}");
+ $this->receipt['message'][] =
array('msg' => "fil tilbakeført fra arkiv til importkø:
{$external_voucher_id}");
}
}
}
@@ -826,7 +827,7 @@
$num = $this->soXport->add($buffer);
if($num > 0)
{
- $this->receipt['message'][]= array('msg' =>
"Importert {$num} poster til bilag {$buffer[0]['bilagsnr']}, ref:
{$buffer[0]['external_ref']}, key: {$buffer[0]['external_voucher_id']}");
+ $this->receipt['message'][]= array('msg' =>
"Importert {$num} poster til bilag {$buffer[0]['bilagsnr']}, SCANNINGNO:
{$buffer[0]['external_ref']}, KEY: {$buffer[0]['external_voucher_id']}");
return $buffer[0]['bilagsnr'];
}
return false;
Added: trunk/property/inc/export/default/Agresso_X114
===================================================================
--- trunk/property/inc/export/default/Agresso_X114
(rev 0)
+++ trunk/property/inc/export/default/Agresso_X114 2013-10-11 14:06:32 UTC
(rev 11368)
@@ -0,0 +1,1160 @@
+<?php
+ /**
+ * phpGroupWare - property: a Facilities Management System.
+ *
+ * @author Sigurd Nes <address@hidden>
+ * @copyright Copyright (C) 2003,2004,2005,2006,2007 Free Software
Foundation, Inc. http://www.fsf.org/
+ * This file is part of phpGroupWare.
+ *
+ * phpGroupWare is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * phpGroupWare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with phpGroupWare; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
+ *
+ * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
+ * @internal Development of this application was funded by
http://www.bergen.kommune.no/bbb_/ekstern/
+ * @package property
+ * @subpackage export
+ * @version $Id: Basware_X114 11212 2013-06-27 18:52:52Z sigurdne $
+ */
+
+ /**
+ * Description
+ * @package property
+ */
+
+ phpgw::import_class('phpgwapi.datetime');
+
+ class export_conv
+ {
+ //var $fil_katalog='c:/temp'; //On windows use
"//computername/share/filename" or "\\\\computername\share\filename" to check
files on network shares.
+
+ var $debug;
+ var $client_code = 14;
+ protected $connection = false;
+ protected $global_lock = false;
+ protected $orders_affected = array();
+ protected $min_period;
+
+ function __construct()
+ {
+ $GLOBALS['phpgw_info']['flags']['currentapp'] =
'property';
+ $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
+ $this->db = &
$GLOBALS['phpgw']->db;
+ $this->join = &
$this->db->join;
+
+ $this->soXport =
CreateObject('property.soXport');
+ $this->config =
CreateObject('admin.soconfig',$GLOBALS['phpgw']->locations->get_id('property',
'.invoice'));
+ $this->cats =
CreateObject('phpgwapi.categories', -1, 'property', '.project');
+ $this->cats->supress_info = true;
+
+
if(!isset($this->config->config_data['common']['method']))
+ {
+ $GLOBALS['phpgw']->redirect_link('/index.php',
array('menuaction' => 'admin.uiconfig2.index', 'location_id' =>
$GLOBALS['phpgw']->locations->get_id('property', '.invoice')) );
+ }
+
+ if
(isset($this->config->config_data['export']['cleanup_old']) &&
$this->config->config_data['export']['cleanup_old'])
+ {
+ $this->cleanup_old();
+ }
+
+ $sogeneric =
CreateObject('property.sogeneric','period_transition');
+ $period_config =
$sogeneric->read(array('allrows' => true));
+
+ $period_transition = array();
+ foreach($period_config as $entry)
+ {
+ $period_transition[$entry['month']] = $entry;
+ }
+
+ $current_month = date('n');
+
+ if(isset($period_transition[$current_month]))
+ {
+ $_lag_day =
(int)$period_transition[$current_month]['day'];
+ $_lag_hour =
(int)$period_transition[$current_month]['hour'];
+ $_lag_seconds = ($_lag_day * 24 * 3600) +
($_lag_hour * 3600);
+ }
+ else if(isset($period_transition[13]))
+ {
+ $_lag_day = (int)$period_transition[13]['day'];
+ $_lag_hour =
(int)$period_transition[13]['hour'];
+ $_lag_seconds = ($_lag_day * 24 * 3600) +
($_lag_hour * 3600);
+ }
+ else
+ {
+ $_lag = date('n') == 1 ? 17 :
7;//6 days into next month, 16 days into next year
+ $_lag_seconds = $_lag * 24 * 3600;
+ }
+
+ $_lag_seconds -= phpgwapi_datetime::user_timezone();
+
+//_debug_array($period_transition);
+ $time = time();
+ $timestamp_at_start_month = mktime( $hour = 0, $minute
= 0, $second = 0, $month = date("n"), $day = 0, $year = date("Y") );
+
+ if(($time - $timestamp_at_start_month) < $_lag_seconds)
+ {
+ $time = $time - $_lag_seconds;
+ }
+
+ $month = date('n', $time);
+ $year = date('Y',$time);
+
+ $this->min_period = sprintf("%s%02d",$year,$month);
+
+ }
+
+ protected function cleanup_old()
+ {
+ $this->db->transaction_begin();
+ $date = date($this->db->datetime_format(),time());
+ $sql= "UPDATE fm_ecobilag SET saksigndato = '{$date}',
saksbehandlerid = 'admin' WHERE external_ref IS NULL AND saksigndato IS NULL";
+//_debug_array($sql);
+ $this->db->query($sql,__LINE__,__FILE__);
+ $sql= "UPDATE fm_ecobilag SET budsjettsigndato =
'{$date}', budsjettansvarligid = 'admin' WHERE external_ref IS NULL AND
budsjettsigndato IS NULL";
+//_debug_array($sql);
+ $this->db->query($sql,__LINE__,__FILE__);
+ $sql= "UPDATE fm_ecobilag SET utbetalingsigndato =
'{$date}', utbetalingid = 'admin' WHERE external_ref IS NULL AND
utbetalingsigndato IS NULL";
+//_debug_array($sql);
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->overfor('on');
+
+ $sql= "SELECT min(bilagsnr) as bilagsnr FROM
fm_ecobilagoverf";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->next_record();
+ $bilagsnr = (int)$this->db->f('bilagsnr');
+ if($bilagsnr)
+ {
+ $correction = $bilagsnr -1;
+ $sql= "UPDATE fm_ecobilagoverf SET bilagsnr =
bilagsnr - {$correction}";
+//_debug_array($sql);
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+ $this->db->transaction_commit();
+ }
+
+ protected function select_vouchers_to_transfer()
+ {
+
if(isset($this->config->config_data['common']['invoice_approval']) &&
$this->config->config_data['common']['invoice_approval']== 1)
+ {
+ $sql= "SELECT DISTINCT fm_ecobilag.bilagsnr
FROM fm_ecobilag {$this->join} fm_ecobilag_sum_view ON fm_ecobilag.bilagsnr =
fm_ecobilag_sum_view.bilagsnr WHERE approved_amount = '0.00' OR
budsjettsigndato IS NOT NULL ORDER BY bilagsnr ASC";
+ }
+ else
+ {
+ $sql= "SELECT DISTINCT fm_ecobilag.bilagsnr
FROM fm_ecobilag {$this->join} fm_ecobilag_sum_view ON fm_ecobilag.bilagsnr =
fm_ecobilag_sum_view.bilagsnr WHERE approved_amount = '0.00' OR (
budsjettsigndato IS NOT NULL AND (saksigndato IS NOT NULL OR oppsynsigndato IS
NOT NULL) ) ORDER BY bilagsnr ASC";
+ }
+ $this->db->query($sql,__LINE__,__FILE__);
+ $vouchers_step1 = array();
+ while ($this->db->next_record())
+ {
+ $vouchers_step1[] =
$this->db->f('bilagsnr');
+ }
+
+ //Filter out partially approved
+ $vouchers = array();
+ foreach($vouchers_step1 as $bilagsnr)
+ {
+ $sql = "SELECT bilagsnr FROM fm_ecobilag WHERE
bilagsnr = {$bilagsnr} AND budsjettsigndato IS NULL";
+ $this->db->query($sql,__LINE__,__FILE__);
+ if( !$this->db->next_record() )
+ {
+ $vouchers[] = $bilagsnr;
+ }
+ }
+
+
+ //Add vouchers with split-line and approved amount =
0.00
+ $extra_candidates = array();
+ $sql = "SELECT DISTINCT bilagsnr FROM fm_ecobilag WHERE
(godkjentbelop = '0' OR godkjentbelop = '0.00') AND budsjettsigndato IS NULL";
+ $this->db->query($sql,__LINE__,__FILE__);
+ while( $this->db->next_record() )
+ {
+ $extra_candidates[] =
$this->db->f('bilagsnr');
+ }
+
+ foreach($extra_candidates as $extra_candidate)
+ {
+ if(in_array($extra_candidate, $vouchers))
+ {
+ continue;
+ }
+
+ $sql = "SELECT
bilagsnr,oppsynsigndato,saksigndato,budsjettsigndato FROM fm_ecobilag WHERE
bilagsnr = {$extra_candidate} AND (godkjentbelop > 0 OR godkjentbelop < 0)";
+
+ $this->db->query($sql,__LINE__,__FILE__);
+ $transfer_extra = true;
+ while( $this->db->next_record() )
+ {
+ $oppsynsigndato =
$this->db->f('oppsynsigndato');
+ $saksigndato =
$this->db->f('saksigndato');
+ $budsjettsigndato =
$this->db->f('budsjettsigndato');
+
+
if(isset($this->config->config_data['common']['invoice_approval']) &&
$this->config->config_data['common']['invoice_approval']== 1)
+ {
+ if(!$budsjettsigndato)
+ {
+ $transfer_extra = false;
+ }
+ }
+ else
+ {
+ if (!$budsjettsigndato)
+ {
+ $transfer_extra = false;
+ }
+ else if ($budsjettsigndato &&
!$saksigndato && !$oppsynsigndato)
+ {
+ $transfer_extra = false;
+ }
+ }
+ }
+
+ if($transfer_extra)
+ {
+ $vouchers[] = $extra_candidate;
+ }
+ }
+
+ return $vouchers;
+ }
+
+ protected function log_end($batchid)
+ {
+ $tid=date($this->soXport->datetimeformat);
+ $sql= "insert into fm_ecologg (batchid,melding,tid)
values ('$batchid','End transfer','$tid')";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ protected function log_error($batchid,$error_desr)
+ {
+ $tid = date($this->soXport->datetimeformat);
+ $sql = "INSERT INTO fm_ecologg
(batchid,ecobilagid,status,melding,tid) VALUES
('$batchid',NULL,0,'$error_desr','$tid')";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ protected function increment_batchid()
+ {
+ $this->db->query("UPDATE fm_idgenerator SET value =
value + 1 WHERE name = 'Ecobatchid'",__LINE__,__FILE__);
+ $this->db->query("SELECT value from fm_idgenerator
WHERE name = 'Ecobatchid'",__LINE__,__FILE__);
+ $this->db->next_record();
+ $batchid = $this->db->f('value');
+ return $batchid;
+ }
+
+ protected function next_batchid()
+ {
+ $this->db->query("SELECT value from fm_idgenerator
WHERE name = 'Ecobatchid'",__LINE__,__FILE__);
+ $this->db->next_record();
+ $batchid = $this->db->f('value')+1;
+ return $batchid;
+ }
+
+ //Lagre start melding
+ protected function log_start($batchid)
+ {
+ $tid = date($this->db->datetime_format());
+ $sql= "INSERT INTO fm_ecologg (batchid,melding,tid)
VALUES ('$batchid','Start transfer','$tid')";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ protected function get_vendor_info($vendor_id='')
+ {
+ $sql = "SELECT org_nr, konto_nr FROM fm_vendor WHERE
id='$vendor_id'";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->next_record();
+
+ $vendor_info= array
+ (
+ 'org_nr' => $this->db->f('org_nr'),
+ 'konto_nr' => $this->db->f('konto_nr')
+ );
+
+ return $vendor_info;
+ }
+
+ protected function get_order_info($order_id='')
+ {
+ $order_info = array();
+ $sql = "SELECT type FROM fm_orders WHERE
id='$order_id'";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->next_record();
+
+ switch($this->db->f('type'))
+ {
+ case 'workorder':
+ $sql2 = "SELECT title, category FROM
fm_workorder WHERE id='$order_id'";
+
$this->db->query($sql2,__LINE__,__FILE__);
+ $this->db->next_record();
+ $order_info['title'] =
$this->db->f('title');
+ $cat_id = (int)$this->db->f('category');
+ $category =
$this->cats->return_single($cat_id);
+ $category_arr =
explode('-',$category[0]['name']);
+ $order_info['category'] =
(int)trim($category_arr[0]);
+ break;
+ case 's_agreement':
+ $sql2 = "SELECT descr as title FROM
fm_s_agreement WHERE id='$order_id'";
+
$this->db->query($sql2,__LINE__,__FILE__);
+ $this->db->next_record();
+ $order_info['title'] =
$this->db->f('title');
+ break;
+ }
+
+ return $order_info;
+ }
+
+
+ protected function select_invoice_rollback($date,
$Filnavn,$rollback_voucher,$rollback_internal_voucher)
+ {
+ $date_array = phpgwapi_datetime::date_array($date);
+ $day = $date_array['day'];
+ $month = $date_array['month'];
+ $year = $date_array['year'];
+
+ switch($GLOBALS['phpgw_info']['server']['db_type'])
+ {
+ case 'mssql':
+ $datepart_year =
"datepart(year,overftid)";
+ $datepart_month =
"datepart(month,overftid)";
+ $datepart_day =
"datepart(day,overftid)";
+ break;
+ case 'mysql':
+ $datepart_year =
"YEAR(overftid)";
+ $datepart_month =
"MONTH(overftid)";
+ $datepart_day =
"DAYOFMONTH(overftid)";
+ break;
+ case 'pgsql':
+ $datepart_year =
"date_part('year',overftid)";
+ $datepart_month =
"date_part('month',overftid)";
+ $datepart_day =
"date_part('day',overftid)";
+ break;
+ case 'postgres':
+ $datepart_year =
"date_part('year',overftid)";
+ $datepart_month =
"date_part('month',overftid)";
+ $datepart_day =
"date_part('day',overftid)";
+ break;
+ }
+
+ if($rollback_voucher)
+ {
+ $rollback_voucher = (int)$rollback_voucher;
+ $sql="SELECT * FROM fm_ecobilagoverf WHERE
bilagsnr_ut = {$rollback_voucher} AND manual_record IS NULL";
+ }
+ else if($rollback_internal_voucher)
+ {
+ $rollback_internal_voucher =
(int)$rollback_internal_voucher;
+ $sql="SELECT * FROM fm_ecobilagoverf WHERE
bilagsnr = {$rollback_internal_voucher} AND manual_record IS NULL";
+ }
+ else
+ {
+ $sql="SELECT * FROM fm_ecobilagoverf WHERE
filnavn='$Filnavn' AND $datepart_year=$year AND $datepart_month=$month AND
$datepart_day= $day";
+ }
+ $this->db->query($sql,__LINE__,__FILE__);
+
+ $invoice_rollback = array();
+ while ($this->db->next_record())
+ {
+ $invoice_rollback[] = array
+ (
+ 'id'
=> $this->db->f('id'),
+ 'bilagsnr'
=> $this->db->f('bilagsnr'),
+ 'bilagsnr_ut' =>
$this->db->f('bilagsnr_ut'),
+ 'kidnr'
=> $this->db->f('kidnr'),
+ 'typeid'
=> $this->db->f('typeid'),
+ 'kildeid'
=> $this->db->f('kildeid'),
+ 'pmwrkord_code' =>
$this->db->f('pmwrkord_code'),
+ 'belop'
=> $this->db->f('belop'),
+ 'fakturadato' =>
$this->db->f('fakturadato'),
+ 'periode'
=> $this->db->f('periode'),
+ 'periodization' =>
$this->db->f('periodization'),
+ 'periodization_start' =>
$this->db->f('periodization_start'),
+ 'forfallsdato' =>
$this->db->f('forfallsdato'),
+ 'fakturanr'
=> $this->db->f('fakturanr'),
+ 'spbudact_code' =>
$this->db->f('spbudact_code'),
+ 'regtid'
=> $this->db->f('regtid'),
+ 'artid'
=> $this->db->f('artid'),
+ 'godkjentbelop' =>
(int) $this->db->f('godkjentbelop') == 0 ? $this->db->f('belop') :
$this->db->f('godkjentbelop'),//restore original amount
+ 'spvend_code' =>
$this->db->f('spvend_code'),
+ 'dima'
=> $this->db->f('dima'),
+ 'loc1'
=> $this->db->f('loc1'),
+ 'dimb'
=> $this->db->f('dimb'),
+ 'mvakode'
=> $this->db->f('mvakode'),
+ 'dimd'
=> $this->db->f('dimd'),
+ 'dime'
=> $this->db->f('dime'),
+ 'project_id' =>
$this->db->f('project_id'),
+ 'kostra_id'
=> $this->db->f('kostra_id'),
+ 'item_type'
=> $this->db->f('item_type'),
+ 'item_id'
=> $this->db->f('item_id'),
+ 'oppsynsmannid' =>
$this->db->f('oppsynsmannid'),
+ 'saksbehandlerid' =>
$this->db->f('saksbehandlerid'),
+ 'budsjettansvarligid' =>
$this->db->f('budsjettansvarligid'),
+ 'oppsynsigndato' =>
$this->db->f('oppsynsigndato'),
+ 'saksigndato' =>
$this->db->f('saksigndato'),
+ // 'budsjettsigndato' =>
$this->db->f('budsjettsigndato'), // må anvises på nytt etter tilbakerulling
+ 'merknad'
=> $this->db->f('merknad',true),
+ 'line_text'
=> $this->db->f('line_text',true),
+ 'splitt'
=> $this->db->f('splitt'),
+ 'ordrebelop' =>
$this->db->f('ordrebelop'),
+ // 'utbetalingid' =>
$this->db->f('utbetalingid'),
+ // 'utbetalingsigndato' =>
$this->db->f('utbetalingsigndato'),
+ 'external_ref' =>
$this->db->f('external_ref'),
+ 'external_voucher_id' =>
$this->db->f('external_voucher_id'),
+ 'currency'
=> $this->db->f('currency'),
+ 'process_log' =>
$this->db->f('process_log',true),
+ 'process_code' =>
$this->db->f('process_code'),
+
+ );
+ }
+
+ return $invoice_rollback;
+ }
+
+ //rollback function
+ protected function bilag_update_overf($BilagOverf)
+ {
+ $values= array
+ (
+ $BilagOverf['project_id'],
+ $BilagOverf['kostra_id'],
+ $BilagOverf['pmwrkord_code'],
+ $BilagOverf['bilagsnr'],
+ $BilagOverf['bilagsnr_ut'],
+ $BilagOverf['splitt'],
+ $BilagOverf['kildeid'],
+ $BilagOverf['kidnr'],
+ $BilagOverf['typeid'],
+ $BilagOverf['fakturadato'],
+ $BilagOverf['forfallsdato'],
+ $BilagOverf['regtid'],
+ $BilagOverf['artid'],
+ $BilagOverf['spvend_code'],
+ $BilagOverf['dimb'],
+ $BilagOverf['oppsynsmannid'],
+ $BilagOverf['saksbehandlerid'],
+ $BilagOverf['budsjettansvarligid'],
+ $BilagOverf['fakturanr'],
+ $BilagOverf['spbudact_code'],
+ $BilagOverf['dima'],
+ $BilagOverf['loc1'],
+ $BilagOverf['dimd'],
+ $BilagOverf['dime'],
+ $BilagOverf['mvakode'],
+ $BilagOverf['periode'],
+ $BilagOverf['periodization'],
+ $BilagOverf['periodization_start'],
+
$this->db->db_addslashes($BilagOverf['merknad']),
+
$this->db->db_addslashes($BilagOverf['line_text']),
+ $BilagOverf['utbetalingid'],
+ $BilagOverf['oppsynsigndato'],
+ $BilagOverf['saksigndato'],
+ $BilagOverf['budsjettsigndato'],
+ $BilagOverf['utbetalingsigndato'],
+ $BilagOverf['item_type'],
+ $BilagOverf['item_id'],
+ $BilagOverf['external_ref'],
+ $BilagOverf['external_voucher_id'],
+ $BilagOverf['belop'],
+ $BilagOverf['godkjentbelop'],
+ $BilagOverf['currency'],
+
$this->db->db_addslashes($BilagOverf['process_log']),
+ $BilagOverf['process_code'],
+ );
+
+ $values = $this->db->validate_insert($values);
+
+ $sql= "INSERT INTO fm_ecobilag
(project_id,kostra_id,pmwrkord_code,bilagsnr,bilagsnr_ut,splitt,kildeid,kidnr,typeid,"
+ . "
fakturadato,forfallsdato,regtid,artid,spvend_code,dimb,oppsynsmannid,"
+ . "
saksbehandlerid,budsjettansvarligid,fakturanr,spbudact_code,dima,loc1,dimd,dime,mvakode,"
+ . "
periode,periodization,periodization_start,merknad,line_text,utbetalingid,oppsynsigndato,saksigndato,budsjettsigndato,utbetalingsigndato,"
+ . "
item_type,item_id,external_ref,external_voucher_id,belop,godkjentbelop,currency,process_log,process_code)"
+ . " VALUES ({$values})";
+
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ public function overfor($download,$force_period_year='')
+ {
+// $download = 'on';
+// $download = False;
+// $this->debug=True;
+
+ //Generer batch ID
+ $batchid = $this->soXport->next_batchid();
+ if ($download=='on')
+ {
+ $this->increment_batchid();
+ //Lagre melding
+ $this->log_start($batchid);
+ }
+
+ //Velg ut alle hoved bilag som skal overføres
+ $vouchers = $this->select_vouchers_to_transfer();
+
+ foreach ($vouchers as $voucher_id)
+ {
+ $receipt['message'][]= array('msg' =>
$this->transfer_voucher($batchid, $voucher_id, $download, $force_period_year));
+ }
+
+ if($this->connection)
+ {
+ switch
($this->config->config_data['common']['method'])
+ {
+ case 'ftp';
+ ftp_quit($this->connection);
+ break;
+ case 'ssh';
+ ssh2_exec($this->connection,
'exit');
+ break;
+ }
+ }
+ //Lagre melding
+ if ($download=='on')
+ {
+ $this->log_end($batchid); //Lagre melding
+ }
+
+ return $receipt;
+ }
+
+ protected function errorhandler($batchid,$error_desr)
+ {
+ if($this->db->get_transaction())
+ {
+ $this->db->transaction_abort();
+ }
+
+ $meld = $error_desr;
+
+ //Vis feilmelding
+ echo $meld;
+
+ //Lagre feilmelding
+ $this->log_error($batchid,$error_desr);
+ }
+
+ public function RullTilbake($Filnavn,
$date,$rollback_voucher,$rollback_internal_voucher)
+ {
+ $voucher = $this->select_invoice_rollback($date,
$Filnavn,$rollback_voucher,$rollback_internal_voucher);
+
+ if ( $this->db->get_transaction() )
+ {
+ $this->global_lock = true;
+ }
+ else
+ {
+ $this->global_lock = false;
+ $this->db->transaction_begin();
+ }
+
+ foreach ($voucher as $line)
+ {
+ $this->bilag_update_overf($line);
+
+ if($line['pmwrkord_code'])
+ {
+
$orders_affected[$line['pmwrkord_code']] = true;
+
+ $Belop = sprintf("%01.2f",
$line['ordrebelop'])*100;
+
+ if ($line['dimd'] % 2 == 0)
+ {
+
$actual_cost_field='act_mtrl_cost';
+ }
+ else
+ {
+
$actual_cost_field='act_vendor_cost';
+ }
+
+ $operator='-';
+
+
$this->soXport->correct_actual_cost($line['pmwrkord_code'],$Belop,$actual_cost_field,$operator);
+ }
+
+ //Slett fra avviks tabell
+ // $this->soXport->delete_avvik($line['bilagsnr']);
+
+ //Slett fra arkiv
+
$this->soXport->delete_invoice($line['bilagsnr']);
+ }
+
+ $antall = count($voucher);
+ if($antall > 0)
+ {
+ $fil_katalog =
$this->config->config_data['export']['path'];
+
+ if($rollback_voucher ||
$rollback_internal_voucher)
+ {
+ if ( !$this->global_lock )
+ {
+ $this->db->transaction_commit();
+ }
+
+ $receipt['message'][]= array('msg' =>
$antall . ' ' . lang('bilag/underbilag rullet tilbake'));
+ }
+ else if(unlink ($fil_katalog. '/' . $Filnavn))
+ {
+ if ( !$this->global_lock )
+ {
+ $this->db->transaction_commit();
+ }
+
+ $receipt['message'][]= array('msg' =>
$antall . ' ' . lang('bilag/underbilag rullet tilbake'));
+ $receipt['message'][]= array('msg' =>
lang('File %1 is deleted',$Filnavn));
+ }
+ else
+ {
+ $this->db->transaction_abort();
+ $receipt['error'][]= array('msg' =>
'Noe gikk galt!');
+ }
+ }
+ else
+ {
+ if ( !$this->global_lock )
+ {
+ $this->db->transaction_commit();
+ }
+
+ $receipt['error'][]= array('msg' => lang('Sorry
- No hits'));
+ }
+ return $receipt;
+ }
+
+ protected function LagFilnavn($external_voucher_id = '')
+ {
+ if(!$external_voucher_id)
+ {
+ throw new Exception('Agresso_X114::LagFilnavn()
Mangler SCANNINGNO' );
+ }
+ $fil_katalog =
$this->config->config_data['export']['path'];
+
+ $Filnavn = $fil_katalog .
"/x114_14_{$external_voucher_id}.xml";
+
+ //Sjekk om filen eksisterer
+ if (file_exists($Filnavn))
+ {
+ unlink($Filnavn);
+ }
+
+ return $Filnavn;
+ }
+
+ protected function transfer_voucher($batchid, $voucher_id,
$download, $force_period_year = '')
+ {
+ $oRsBilag = $this->soXport->get_voucher($voucher_id);
+
+ $skip_agresso = false;
+ //FIXME
+ if(!isset($oRsBilag[0]['external_ref']) ||
!$oRsBilag[0]['external_ref'])
+ {
+ $skip_agresso = true;
+ }
+
+ //Bestem filnavn
+ $Filnavn =
$this->LagFilnavn($oRsBilag[0]['external_voucher_id']);
+
+ //FIXME
+ if (!$Filnavn)
+ {
+ $message='LagFilnavn: Filnavn er i bruk';
+ $this->errorhandler($batchid,$message);
+ return $message;
+ }
+
+ //Test om filen kan opprettes og skrives til
+ if(!$skip_agresso)
+ {
+ if (@fopen($Filnavn, "wb"))
+ {
+ unlink($Filnavn);
+ }
+ else
+ {
+ $message='kan ikke lagre til fil: '.
$Filnavn .'<br>';
+ if($this->debug)
+ {
+ echo $message;
+ }
+ else
+ {
+ return $message;
+ }
+ }
+ }
+
+ $antall = count($oRsBilag);
+
+ if ( $this->db->get_transaction() )
+ {
+ $this->global_lock = true;
+ }
+ else
+ {
+ $this->db->transaction_begin();
+ }
+
+ $bilagsnr_ut = $oRsBilag[0]['bilagsnr_ut'];
+ if(!$bilagsnr_ut)
+ {
+ $get_bilagsnr_ut = false;
+ foreach ($oRsBilag as $line)
+ {
+ if(abs($line['godkjentbelop']) > 0)
+ {
+ $get_bilagsnr_ut = true;
+ }
+ }
+
+ if($get_bilagsnr_ut)
+ {
+ $bilagsnr_ut =
$this->increment_voucher_id();
+ }
+ }
+
+ $tranfser_bilag = $bilagsnr_ut ? array($bilagsnr_ut) :
array($voucher_id);
+
+ $localtime = phpgwapi_datetime::user_localtime();
+
+ $transactioninformation = array
+ (
+ 0 => array
+ (
+ 'TRANSACTIONTYPE' => 'X114',
+ 'TRANSFER' => array
+ (
+ 0 => array
+ (
+ 'TRANSFERDATE' =>
date('d.m.Y', $localtime),//28.05.2009
+ 'TRANSFERTIME' =>
date('H:i:s', $localtime)//14:29:52
+ )
+ )
+ )
+ );
+
+ $invoiceheader = array
+ (
+ 0 => array
+ (
+ 'TRANSACTIONTYPE'
=> 'X114',
+ 'KEY'
=> '', //dummy
+ 'VOUCHERID'
=> $bilagsnr_ut,
+ 'SCANNINGNO'
=> $oRsBilag[0]['external_ref'], // 11E28NJINL3VR6
+ 'PROFILE'
=> 'TRAINVPOMA',
+ 'CLIENT.CODE'
=> $this->client_code, //14,
+ 'POATTRIB1'
=> '', //dummy
+ 'POATTRIB2'
=> '', //dummy
+ 'POPURCHASER'
=> '', //dummy
+ 'PREVOUCHERID'
=> '', //dummy
+ 'PURCHASEORDERNO'
=> $oRsBilag[0]['order_id'], // 1409220008
+ 'PURCHASEORDEROWNER.CODE' =>
$oRsBilag[0]['spvend_code'], // 100644
+ 'PURCHASEORDERSTATUS.CODE' => 'OK',
+ 'GENERALCOMMENT'
=> $comment, // Denne er fakturert i 3 deler OBS OBS!
+ )
+ );
+
+ $accountline = array();
+
+ if ( $oRsBilag[0]['periode'] )
+ {
+ if((int)$this->min_period <
(int)$oRsBilag[0]['periode'])
+ {
+ $periode = $this->min_period;
+ }
+ else
+ {
+ $periode = $oRsBilag[0]['periode'];
+ }
+ }
+ else if
(isset($this->config->config_data['export']['dato_aarsavslutning']) && time() <
$this->config->config_data['export']['dato_aarsavslutning'] )
+ {
+ if(date('Y',time()) == date('Y',
$this->config->config_data['export']['dato_aarsavslutning']))
+ {
+ $periode = date('Y',time()) - 1 . '12';
+ }
+ else
+ {
+ $periode = date('Ym',time());
+ }
+ }
+ else
+ {
+ $time = time();
+
+ if ( date('j',$time) < 7 ) //Day of the month
without leading zeros
+ {
+ $time = $time - (7 * 24 * 3600);
+ }
+
+ $periode = date('Ym',$time);
+ }
+
+ $comment = array();
+ foreach ($oRsBilag as $line)
+ {
+ $comment[] =
"{$line['belop']}::{$line['process_log']}";
+
+ $BelopFelt = 'godkjentbelop';
+
+/*
+ //Bestem belops felt
+ if ($line['splitt'] == 0)
+ {
+ //Bilaget er ikke splittet
+ if ($line['godkjentbelop'] <>
$line['belop'])
+ {
+ $BelopFelt = 'godkjentbelop';
+ //Logg til avviks tabell
+ if ($download=='on')
+ {
+//
$this->soXport->log_to_deviation_table($line);
+ }
+ }
+ else
+ {
+ $BelopFelt = 'belop';
+ }
+ }
+
+*/
+ //Bilaget er splittet
+/*
+ if ($line['godkjentbelop'] == $line['belop'])
+ {
+ $BelopFelt = 'godkjentbelop';
+ }
+ else
+ {
+ //Ikke lovlig
+ $message = lang('Avvik mellom
fakturabelop og godkjent belop pa splittet faktura!');
+ $this->errorhandler($batchid,$message);
+ return $message;
+ }
+*/
+ $amount = $line[$BelopFelt] * 100;
+ $amount = number_format($amount,0,'','');
+
+ if($line['order_id'])
+ {
+ $orders_affected[$line['order_id']] =
true;
+
+ //Oppdater beløp på arbeidsordre
+ if ($download=='on')
+ {
+ if ($line['dimd'] % 2 == 0)
+ {
+
$actual_cost_field='act_mtrl_cost';
+ }
+ else
+ {
+
$actual_cost_field='act_vendor_cost';
+ }
+ $operator='+';
+
+ if(!$this->debug)
+ {
+
$this->soXport->correct_actual_cost($line['order_id'],$amount,
$actual_cost_field,$operator);
+ }
+ }
+ }
+
+ $oRsOverfBilag
= $line;
+ $oRsOverfBilag['filnavn'] =
$Filnavn? basename($Filnavn) : date('d.m.Y-H:i:s',
phpgwapi_datetime::user_localtime());
+ $oRsOverfBilag['ordrebelop'] =
$line[$BelopFelt];
+ $oRsOverfBilag['pmwrkord_code'] =
$line['order_id'];
+ $oRsOverfBilag['bilagsnr_ut'] = $bilagsnr_ut;
+ $oRsOverfBilag['periode'] =
$periode;
+
+ if($line['dime'])
+ {
+ $category =
$this->cats->return_single($line['dime']);
+ $category_arr =
explode('-',$category[0]['name']);
+ $dim6 =
(int)trim($category_arr[0]);
+ }
+ else
+ {
+ $dim6 = '';
+ }
+
+ //Kopier verdier til fm_ecobilagoverf
+ if ($download=='on' && !$this->debug)
+ {
+
$this->soXport->add_OverfBilag($oRsOverfBilag);
+ }
+
+ if ($line['order_id'])
+ {
+ $order_info =
$this->get_order_info($line['order_id']);
+ if(!$dim6)
+ {
+ $dim6 =
isset($order_info['category']) && $order_info['category'] ?
$order_info['category'] : '';
+ }
+ }
+
+ $descr = '';
+ if($line['line_text'])
+ {
+ $descr =
substr($line['line_text'],0,60);
+ }
+ else if ($line['order_id'])
+ {
+ $descr =
substr($order_info['title'],0,60);
+ }
+
+ $accountline[] = array
+ (
+ 'TRANSACTIONTYPE' =>
'R114',
+ 'ACCOUNTLINK.CODE' =>
$line['spbudact_code'], // 4180
+ 'AMOUNT'
=> $amount, // 312500
+ 'APPROVER.FULLNAME' =>
$line['budsjettansvarligid'], //Batch 04 - 14
+ 'DIMENSION.D1.CODE' =>
$line['dimb'], // 1111
+ 'DIMENSION.D2.CODE' =>
'',//$line['dima'], // 62000
+ 'DIMENSION.D3.CODE' => '',
+ 'DIMENSION.D4.CODE' =>
$line['project_id'], // dummy
+ 'DIMENSION.D5.CODE' =>
$dim5, // dummy
+ 'DIMENSION.D6.CODE' =>
$dim6, // dummy
+ 'DIMENSION.D7.CODE' =>
$dim7, // dummy
+ 'DIMENSION.D8.CODE' =>
$dim8, // dummy
+ 'POITEMDESCRIPTION' =>
$descr, // Sugerør,plast,fleksibelt,20cm
+ 'POITEMNUMBER' =>
$itemnumber, //200200
+ 'POITEMTYPE' => 'C',
// A = Item, B = Special Product (SP), C = Text based (Misc.)
+ 'POLINENUMBER' =>
$linenumber, // 10
+ 'RECEIVER.FULLNAME' =>
$line['budsjettansvarligid'], // Batch 04 - 14
+ 'STATUS'
=> 5,
+ 'SUBACCOUNT' =>
$periode, //200905 Accounting period YYYYMM
+ 'ALLOCATION.KEY' =>
$line['periodization'],//0
+ 'ALLOCATION.PERIOD' =>
$line['periodization_start'] //dummy
+ );
+
+ }
+
+ $invoiceheader[0]['GENERALCOMMENT'] =
implode("\n",$comment);
+ $invoices = array
+ (
+ 0 => array
+ (
+ 'INVOICE' => array
+ (
+ 0 => array
+ (
+ 'INVOICEHEADER' =>
$invoiceheader,
+ 'ACCOUNTLINES' => array
+ (
+ 0 => array
+ (
+
'ACCOUNTLINE' => $accountline
+ )
+ )
+ )
+ )
+ )
+ );
+
+ $export_data = array
+ (
+ 'TRANSACTIONINFORMATION' =>
$transactioninformation,
+ 'INVOICES'
=> $invoices
+ );
+
+ $xmltool = CreateObject('phpgwapi.xmltool');
+
+ $buffer = $xmltool->import_var('INVOICEIMPORT',
$export_data,true, true);
+ $buffer = str_replace('<INVOICEIMPORT>',
'<INVOICEIMPORT TYPE="INVOICE">', $buffer);
+
+ //Slett bilaget i fm_ecobilag
+ if ($download=='on' && !$this->debug)
+ {
+ $this->_delete_from_fm_ecobilag($voucher_id);
+ //Logg transaksjon
+
$this->soXport->log_transaction($batchid,$voucher_id,lang('Invoice
transferred'));
+ }
+
+ //Fullfør transaksjon
+ if ($download=='on' && !$this->debug)
+ {
+ // $file_written = true;
+
+ // -- Start
+
+ if($skip_agresso)
+ {
+ if ( !$this->global_lock )
+ {
+ $this->db->transaction_commit();
+ }
+ $message = "Antall bilag/underbilag
overført til historikk (ikke til Basware): {$antall}";
+ return $message;
+ }
+
+ $file_written = false;
+ $fp = fopen($Filnavn, "wb");
+ fwrite($fp,$buffer);
+
+ if(fclose($fp))
+ {
+ $file_written=true;
+ }
+
+ // -- END
+ if( $file_written &&
($this->config->config_data['common']['method'] != 'ftp' &&
$this->config->config_data['common']['method'] != 'ssh'))
+ {
+ $transfer_ok = true;
+ }
+ else if($file_written)
+ {
+ $transfer_ok =
$this->transfer($buffer,$Filnavn,$batchid,$tranfser_bilag);
+ }
+
+ if($transfer_ok)
+ {
+
$this->soXport->update_actual_cost_from_archive($this->orders_affected);
+
+ if ( !$this->global_lock )
+ {
+ $this->db->transaction_commit();
+ }
+
+ $message = "Antall bilag/underbilag
overfort: {$antall}, fil: {$Filnavn}";
+ }
+ else
+ {
+ $this->db->transaction_abort();
+ $message = 'Noe gikk galt med
overforing av godkjendte fakturaer!';
+ }
+ }
+ else
+ {
+ $message = $buffer;
+ $this->db->transaction_abort();
+
+ }
+
+ return $message;
+ }
+
+ protected function increment_voucher_id()
+ {
+ $name = 'bilagsnr_ut';
+ $now = time();
+ $this->db->query("SELECT value, start_date FROM
fm_idgenerator WHERE name='{$name}' AND start_date < {$now} ORDER BY start_date
DESC");
+ $this->db->next_record();
+ $next_id = $this->db->f('value') +1;
+ $start_date = (int)$this->db->f('start_date');
+ $this->db->query("UPDATE fm_idgenerator SET value =
$next_id WHERE name = '{$name}' AND start_date = {$start_date}");
+
+ return $next_id;
+ }
+
+ protected function _delete_from_fm_ecobilag($bilagsnr)
+ {
+ $bilagsnr = (int) $bilagsnr;
+ $sql="DELETE FROM fm_ecobilag WHERE bilagsnr =
$bilagsnr";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ protected function
transfer($buffer,$Filnavn,$batchid,$tranfser_bilag)
+ {
+ $transfer_ok = false;
+
if($this->config->config_data['common']['method']=='ftp' ||
$this->config->config_data['common']['method']=='ssh')
+ {
+ if(!$connection = $this->connection)
+ {
+ $connection =
$this->phpftp_connect();
+ }
+
+ $basedir =
$this->config->config_data['export']['remote_basedir'];
+ if($basedir)
+ {
+ $remote_file = $basedir . '/' .
basename($Filnavn);
+ }
+ else
+ {
+ $remote_file = basename($Filnavn);
+ }
+
+ switch
($this->config->config_data['common']['method'])
+ {
+ case 'ftp';
+ $transfer_ok =
ftp_put($connection,$remote_file, $Filnavn, FTP_BINARY);
+ break;
+ case 'ssh';
+ $sftp = ssh2_sftp($connection);
+ $stream =
@fopen("ssh2.sftp://$sftp$remote_file", 'w');
+ $data_to_send =
@file_get_contents($Filnavn);
+ fwrite($stream, $data_to_send);
+ $transfer_ok = @fclose($stream);
+ break;
+ default:
+ $transfer_ok = false;
+ }
+ if ($transfer_ok)
+ {
+ for
($i=0;$i<count($tranfser_bilag);$i++)
+ {
+
$this->soXport->log_transaction($batchid,$tranfser_bilag[$i],lang('Invoice
transferred %1 to Basware',basename($Filnavn)));
+ }
+ }
+ else
+ {
+ for
($i=0;$i<count($tranfser_bilag);$i++)
+ {
+
$this->soXport->log_transaction($batchid,$tranfser_bilag[$i],lang('Failed to
transfere %1 to Basware',basename($Filnavn)));
+ }
+ }
+ if(!$transfer_ok)
+ {
+ unlink($Filnavn);
+ }
+ }
+ return $transfer_ok;
+ }
+
+ protected function phpftp_connect()
+ {
+ $server =
$this->config->config_data['common']['host'];
+ $user =
$this->config->config_data['common']['user'];
+ $password =
$this->config->config_data['common']['password'];
+ $port = 22;
+
+ switch ($this->config->config_data['common']['method'])
+ {
+ case 'ftp';
+ if($connection = ftp_connect($server))
+ {
+
ftp_login($connection,$user,$password);
+ }
+ break;
+ case 'ssh';
+ if (!function_exists("ssh2_connect"))
+ {
+ die("function ssh2_connect
doesn't exist");
+ }
+ if(!($connection =
ssh2_connect("$server", $port)))
+ {
+ $message = "fail: unable to
establish connection";
+ _debug_array($message);
+ //$receipt['error'][]=
array('msg' => $message);
+ }
+ else
+ {
+ // try to authenticate with
username root, password secretpassword
+
if(!ssh2_auth_password($connection, $user, $password))
+ {
+ $message = "fail:
unable to authenticate";
+ _debug_array($message);
+ //$receipt['error'][]=
array('msg' => $message);
+ }
+ }
+ break;
+ }
+ $this->connection = $connection;
+ return $connection;
+ }
+ }
Modified: trunk/property/setup/tables_current.inc.php
===================================================================
--- trunk/property/setup/tables_current.inc.php 2013-10-11 13:08:03 UTC (rev
11367)
+++ trunk/property/setup/tables_current.inc.php 2013-10-11 14:06:32 UTC (rev
11368)
@@ -1194,7 +1194,7 @@
'periodization' => array('type' =>
'int','precision' => '4','nullable' => True),
'periodization_start' => array('type' =>
'int','precision' => '4','nullable' => True),
'line_text' => array('type' =>
'varchar','precision' => '255','nullable' => True),
- 'external_voucher_id' => array('type' =>
'int','precision' => '4','nullable' => True)
+ 'external_voucher_id' => array('type' =>
'int','precision' => '8','nullable' => True)
),
'pk' => array('id'),
'ix' => array(),
@@ -1252,7 +1252,7 @@
'periodization_start' => array('type' =>
'int','precision' => '4','nullable' => True),
'manual_record' => array('type' =>
'int','precision' => '2','nullable' => True),
'line_text' => array('type' =>
'varchar','precision' => '255','nullable' => True),
- 'external_voucher_id' => array('type' =>
'int','precision' => '4','nullable' => True)
+ 'external_voucher_id' => array('type' =>
'int','precision' => '8','nullable' => True)
),
'pk' => array('id'),
'ix' => array(),
Modified: trunk/property/setup/tables_update.inc.php
===================================================================
--- trunk/property/setup/tables_update.inc.php 2013-10-11 13:08:03 UTC (rev
11367)
+++ trunk/property/setup/tables_update.inc.php 2013-10-11 14:06:32 UTC (rev
11368)
@@ -7728,8 +7728,8 @@
{
$GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
- $GLOBALS['phpgw_setup']->oProc->AddColumn('fm_ecobilag',
'external_voucher_id', array('type' => 'int','precision' => '4','nullable' =>
True));
- $GLOBALS['phpgw_setup']->oProc->AddColumn('fm_ecobilagoverf',
'external_voucher_id', array('type' => 'int','precision' => '4','nullable' =>
True));
+ $GLOBALS['phpgw_setup']->oProc->AddColumn('fm_ecobilag',
'external_voucher_id', array('type' => 'int','precision' => '8','nullable' =>
True));
+ $GLOBALS['phpgw_setup']->oProc->AddColumn('fm_ecobilagoverf',
'external_voucher_id', array('type' => 'int','precision' => '8','nullable' =>
True));
if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [11368] property: new integration with accounting system,
Sigurd Nes <=