[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] property/export/Ecolink, 1.1.1.3
From: |
nomail |
Subject: |
[Phpgroupware-cvs] property/export/Ecolink, 1.1.1.3 |
Date: |
Fri, 21 May 2004 16:13:24 -0000 |
Update of /property/export
Modified Files:
Branch:
Ecolink
date: 2004/04/23 21:26:32; author: sigurdne; state: Exp; lines: +625 -625
Log Message:
no message
=====================================================================
Index: property/export/Ecolink
diff -u property/export/Ecolink:1.1.1.2 property/export/Ecolink:1.1.1.3
--- property/export/Ecolink:1.1.1.2 Fri Apr 23 20:27:19 2004
+++ property/export/Ecolink Fri Apr 23 21:26:32 2004
@@ -1,625 +1,625 @@
-<?php
-
- class export_conv
- {
- //var $fil_katalog='c:/temp'; //On windows use
"//computername/share/filename" or "\\\\computername\share\filename" to check
files on network shares.
- function export_conv()
- {
- $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
- $this->db = $GLOBALS['phpgw']->db;
-
- $this->soXport = CreateObject('property.soXport');
- $this->$config =
CreateObject('phpgwapi.config','property');
- $this->$config->read_repository();
- $this->bocommon =
CreateObject($this->currentapp.'.bocommon');
-
- }
-
- function select_periods_with_invoice_to_transfer()
- {
- $sql= "SELECT DISTINCT periode from fm_ecobilag where
budsjettsigndato is not null and (saksigndato is not null or oppsynsigndato is
not null) and utbetalingsigndato is not null ";
- $this->db->query($sql,__LINE__,__FILE__);
- while ($this->db->next_record())
- {
- $periode[] = $this->db->f('periode');
- }
- return $periode;
- }
-
- 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__);
- }
-
- function log_error($batchid,$error_desr)
- {
- $tid=date($this->datetimeformat);
- $sql= "insert into fm_ecologg
(batchid,ecobilagid,status,melding,tid) values
('$batchid',NULL,0,'$error_desr','$tid')";
- $this->db->query($sql,__LINE__,__FILE__);
- }
-
- function increment_batchid()
- {
-
- $this->db->query("update fm_idgenerator set value =
value + 1 where name = 'Ecobatchid'");
- $this->db->query("select value from fm_idgenerator
where name = 'Ecobatchid'");
- $this->db->next_record();
- $bilagsnr = $this->db->f('value');
- return $bilagsnr;
-
- }
-
- function next_batchid()
- {
-
- $this->db->query("select value from fm_idgenerator
where name = 'Ecobatchid'");
- $this->db->next_record();
- $batchid = $this->db->f('value')+1;
-
- return $batchid;
- }
-
- //Lagre start melding
- function log_start($batchid)
- {
- $tid=date($this->soXport->datetimeformat);
- $sql= "insert into fm_ecologg (batchid,melding,tid)
values ('$batchid','Start transfer','$tid')";
- $this->db->query($sql,__LINE__,__FILE__);
- }
-
- function select_invoice_roleback($day,$month,$year,$Filnavn)
- {
-
- 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;
- }
-
-
- $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__);
-
- $i = 0;
- while ($this->db->next_record())
- {
- $invoice_roleback[$i]['id'] =
$this->db->f('id');
- $invoice_roleback[$i]['bilagsnr'] =
$this->db->f('bilagsnr');
- $invoice_roleback[$i]['kidnr'] =
$this->db->f('kidnr');
- $invoice_roleback[$i]['typeid'] =
$this->db->f('typeid');
- $invoice_roleback[$i]['kildeid'] =
$this->db->f('kildeid');
- $invoice_roleback[$i]['pmwrkord_code'] =
$this->db->f('pmwrkord_code');
- $invoice_roleback[$i]['belop'] =
$this->db->f('belop');
- $invoice_roleback[$i]['fakturadato'] =
$this->db->f('fakturadato');
- $invoice_roleback[$i]['periode'] =
$this->db->f('periode');
- $invoice_roleback[$i]['forfallsdato'] =
$this->db->f('forfallsdato');
- $invoice_roleback[$i]['fakturanr'] =
$this->db->f('fakturanr');
- $invoice_roleback[$i]['spbudact_code'] =
$this->db->f('spbudact_code');
- $invoice_roleback[$i]['regtid'] =
$this->db->f('regtid');
- $invoice_roleback[$i]['artid'] =
$this->db->f('artid');
- $invoice_roleback[$i]['godkjentbelop'] =
$this->db->f('godkjentbelop');
- $invoice_roleback[$i]['spvend_code'] =
$this->db->f('spvend_code');
- $invoice_roleback[$i]['dima'] =
$this->db->f('dima');
- $invoice_roleback[$i]['loc1'] =
$this->db->f('loc1');
- $invoice_roleback[$i]['dimb'] =
$this->db->f('dimb');
- $invoice_roleback[$i]['mvakode'] =
$this->db->f('mvakode');
- $invoice_roleback[$i]['dimd'] =
$this->db->f('dimd');
- if($this->db->f('oppsynsmannid'))
- {
- $invoice_roleback[$i]['oppsynsmannid']
= $this->db->f('oppsynsmannid');
- }
- if($this->db->f('saksbehandlerid'))
- {
-
$invoice_roleback[$i]['saksbehandlerid'] =
$this->db->f('saksbehandlerid');
- }
-
- $invoice_roleback[$i]['budsjettansvarligid']
= $this->db->f('budsjettansvarligid');
-
- if($this->db->f('oppsynsigndato'))
- {
- $invoice_roleback[$i]['oppsynsigndato']
= $this->db->f('oppsynsigndato');
- }
- if($this->db->f('saksigndato'))
- {
- $invoice_roleback[$i]['saksigndato']
= $this->db->f('saksigndato');
- }
-
- $invoice_roleback[$i]['budsjettsigndato']
= $this->db->f('budsjettsigndato');
- $invoice_roleback[$i]['merknad'] =
$this->db->f('merknad');
- $invoice_roleback[$i]['splitt'] =
$this->db->f('splitt');
- $invoice_roleback[$i]['ordrebelop'] =
$this->db->f('ordrebelop');
- $invoice_roleback[$i]['utbetalingid'] =
$this->db->f('utbetalingid');
- $invoice_roleback[$i]['utbetalingsigndato']
= $this->db->f('utbetalingsigndato');
- $i++;
- }
- return $invoice_roleback;
- }
-
-
- //roleback function
- function bilag_update_overf($BilagOverf)
- {
- $values= array(
- $BilagOverf['pmwrkord_code'],
- $BilagOverf['bilagsnr'],
- $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['mvakode'],
- $BilagOverf['periode'],
- $BilagOverf['merknad'],
- $BilagOverf['utbetalingid'],
- $BilagOverf['oppsynsigndato'],
- $BilagOverf['saksigndato'],
- $BilagOverf['budsjettsigndato'],
- $BilagOverf['utbetalingsigndato'],
- );
-
- $values = $this->bocommon->validate_db_insert($values);
-
- $sql= "INSERT INTO fm_ecobilag
(pmwrkord_code,bilagsnr,splitt,kildeid,kidnr,typeid,"
- . "
fakturadato,forfallsdato,regtid,artid,spvend_code,dimb,oppsynsmannid,"
- . "
saksbehandlerid,budsjettansvarligid,fakturanr,spbudact_code,dima,loc1,dimd,mvakode,"
- . "
periode,merknad,utbetalingid,oppsynsigndato,saksigndato,budsjettsigndato,utbetalingsigndato,belop,godkjentbelop)"
- . " values ($values,"
- . $this->bocommon->moneyformat($BilagOverf['belop']) .
","
- .
$this->bocommon->moneyformat($BilagOverf['godkjentbelop']) . ")";
-
- $this->db->query($sql,__LINE__,__FILE__);
- }
-
-
- //Oppdater beløp på arbeidsordre operator="-" ved tilbakerulling
- function
correct_actual_cost($pmwrkord_code,$Belop,$actual_cost_field,$operator)
- {
- $Belop=$Belop/100;
-
- $sql="update fm_workorder set
$actual_cost_field=$actual_cost_field $operator $Belop where
id='$pmwrkord_code'";
- $this->db->query($sql,__LINE__,__FILE__);
- }
-
- // Hent leverandørklasse
-
- function select_vendor_class($spvend_code)
- {
- $sql= "select contact_value from
phpgw_addressbook_extra where contact_id=$spvend_code and
contact_name='klasse'";
- $this->db->query($sql,__LINE__,__FILE__);
- $this->db->next_record();
- $pmlabor_code = $this->db->f('contact_value');
-
- return $pmlabor_code;
- }
-
- function overfor($download)
- {
- //Generer batch ID
- $batchid = $this->soXport->next_batchid();
- if ($download=='on')
- {
- $this->increment_batchid();
- //Lagre melding
- $this->log_start($batchid);
- }
-
- //Velg ut alle perioder som har bilag som skal overføres
-
- $periode =
$this->select_periods_with_invoice_to_transfer();
-
- for ($i=0;$i<count($periode);$i++)
- {
- $receipt['message'][]= array('msg' =>
$this->OverforPeriode($batchid,$periode[$i],$download));
- }
-
- //Lagre melding
- if ($download=='on')
- {
- $this->log_end($batchid); //Lagre melding
- }
-
- return $receipt;
- }
-
- function errorhandler($error_desr)
- {
- $meld = $error_desr;
-
- //Vis feilmelding
-// echo $meld;
-
- //Lagre feilmelding
- $this->log_error($batchid,$error_desr);
- }
-
- function RullTilbake($Filnavn,$Dato)
- {
- $dateformat =
strtolower($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
- $dateformat = str_replace(".","",$dateformat);
- $dateformat = str_replace("-","",$dateformat);
- $dateformat = str_replace("/","",$dateformat);
- $y=strpos($dateformat,'y');
- $d=strpos($dateformat,'d');
- $m=strpos($dateformat,'m');
-
- $dateparts = explode('/', $Dato);
- $day = $dateparts[$d];
- $month = $dateparts[$m];
- $year = $dateparts[$y];
- /* $date1 = mktime (2,0,0,$month,$day,$year);
- if ($date1)
- {
- $Dato=$date1;
- }
-
- $Dato= date("M d Y",$Dato);
- */
-
-
$BilagOverf=$this->select_invoice_roleback($day,$month,$year,$Filnavn);
- $GLOBALS['phpgw']->db->begintrans();
-
- for ($i=0;$i<count($BilagOverf);$i++)
- {
- $this->bilag_update_overf($BilagOverf[$i]);
-
-
- if($BilagOverf[$i]['pmwrkord_code'])
- {
- if ($BilagOverf[$i]['artid']==1)
- {
- $Belop = sprintf("%01.2f",
$BilagOverf[$i]['ordrebelop'])*100;
- }
- else
- {
- $Belop = sprintf("%01.2f",
-$BilagOverf[$i]['ordrebelop'])*100;
- }
-
- if ($BilagOverf[$i]['dimd'] % 2 == 0)
- {
-
$actual_cost_field='act_mtrl_cost';
- }
- else
- {
-
$actual_cost_field='act_vendor_cost';
- }
-
- $operator='-';
-
-
$this->correct_actual_cost($BilagOverf[$i]['pmwrkord_code'],$Belop,$actual_cost_field,$operator);
- }
-
- //Slett fra avviks tabell
- //
$this->soXport->delete_avvik($BilagOverf[$i]['bilagsnr']);
-
- //Slett fra arkiv
-
$this->soXport->delete_invoice($BilagOverf[$i]['bilagsnr']);
-
- $antall = $antall + 1;
- }
-
- if($antall > 0)
- {
- $fil_katalog =
$this->$config->config_data['export_path'];
-
- if(unlink ($fil_katalog. SEP . $Filnavn))
- {
- $GLOBALS['phpgw']->db->committrans();
- $receipt['message'][]= array('msg' =>
$antall . ' ' . lang('bilag/underbilag rullet tilbake'));
- $receipt['message'][]= array('msg' =>
lang('File %1 is deleted',$Filnavn));
- }
- else
- {
- $GLOBALS['phpgw']->db->rollbacktrans();
- $receipt['message'][]= array('msg' =>
'Noe gikk galt!');
- }
- }
- else
- {
- $receipt['error'][]= array('msg' => lang('Sorry
- None hits'));
- }
- return $receipt;
- }
-
-
- function LagFilnavn ($batchid)
- {
- $fil_katalog =
$this->$config->config_data['export_path'];
- //Beregn løpenr
- $StartLopeNr = ($batchid % 30) + 70;
- $LopeNr = $StartLopeNr;
-
- do
- {
- //Konstruer filnavn
- $Filnavn = $fil_katalog . '/DTF1'.
sprintf("%2d",$LopeNr) . '10.TXT';
-
- //Sjekk om filen eksisterer
- If (!file_exists($Filnavn))
- {
- return $Filnavn;
- }
-
- //Genererer nytt løpenr
- $batchid = $batchid + 1;
- $LopeNr = ($batchid % 30) + 70;
- }
- while ($LopeNr != $StartLopeNr);
-
- //Ingen løpenr er ledige, gi feilmelding
- return False;
- }
-
- function OverforPeriode($batchid,$periode,$download)
- {
- $BilagId = 'NULL';
-
- //Bestem filnavn
-
- $Filnavn = $this->LagFilnavn($batchid);
- if (!$Filnavn)
- {
- $message='LagFilnavn'.lang('Alle løpenr for
filnavn er i bruk!');
- $this->errorhandler($message);
- return $message;
- }
-
- //Test om filen kan opprettes og skrives til
- if (@fopen($Filnavn, "wb"))
- {
- unlink($Filnavn);
- }
- else
- {
- $message='kan ikke lagre til fil: '. $Filnavn
.'<br>';
- return $message;
- }
-
- //Velg ut alle hoved bilag som skal overføres
-
- $oRsBilag=$this->soXport->hoved_bilag($periode);
-
- $GLOBALS['phpgw']->db->begintrans();
-
- $bilag_count= count($oRsBilag);
- for ($k=0;$k<$bilag_count;$k++)
- {
- //Hent leverandørklasse
-
- $pmlabor_code
=$this->select_vendor_class($oRsBilag[$k]['spvend_code']);
-
- //Bestem belops felt
- if ($oRsBilag[$k]['splitt']==0)
- {
- //Bilaget er ikke splittet
- if ($oRsBilag[$k]['godkjentbelop'] <>
$oRsBilag[$k]['belop'])
- {
- $BelopFelt = 'godkjentbelop';
- //Logg til avviks tabell
- if ($download=='on')
- {
-//
$this->soXport->log_to_deviation_table($oRsBilag[$k]);
- }
- }
- else
- {
- $BelopFelt = 'belop';
- }
- }
-
- //Bilaget er splittet
- if ($oRsBilag[$k]['godkjentbelop'] ==
$oRsBilag[$k]['belop'])
- {
- $BelopFelt = 'godkjentbelop';
- }
- else
- {
- //Ikke lovlig
- $message = lang('Avvik mellom
fakturabeløp og godkjent beløp på splittet faktura!');
- $this->errorhandler($message);
- return $message;
- }
-
- //Formater beløp
- if ($oRsBilag[$k]['artid'] == 1)
- {
- $Belop = sprintf("%01.2f",
-$oRsBilag[$k][$BelopFelt]);
- }
- else
- {
- $Belop = sprintf("%01.2f",
$oRsBilag[$k][$BelopFelt]);
-
- }
-
- $Belop =$Belop *100;
- // $Belop = substr($Belop,0,strlen($Belop) - 3) +
substr($Belop, -2);
-
- //Skriv hovedbilag
-
- $periode_aar = date("y") .
sprintf("%02d",$periode);
- $f1per =
$periode_aar;//date(ym,strtotime($oRsBilag[$k]['fakturadato']));
- $f1bilnr =
substr($oRsBilag[$k]['bilagsnr'],-6);
- $f1bildat =
date(ymd,strtotime($oRsBilag[$k]['fakturadato']));
- $f1bilart = $oRsBilag[$k]['artid'];
- $f1belop = $Belop;
- $f1fordat =
date(ymd,strtotime($oRsBilag[$k]['forfallsdato']));
- $f1tekst = '';
- $f1iper =
substr($periode_aar,2,2);//date(m,strtotime($oRsBilag[$k]['fakturadato']));
- $f1dime = $oRsBilag[$k]['spvend_code'];
-
- $f3per =
$periode_aar;//date(ym,strtotime($oRsBilag[$k]['fakturadato']));
- $f3bilnr =
substr($oRsBilag[$k]['bilagsnr'],-6);
- $f3rkonto = $oRsBilag[$k]['spvend_code'];
- $f3pnr =
substr($oRsBilag[$k]['bilagsnr'],-6);
- $f3klasse = $pmlabor_code;
- $f3bildat =
date(ymd,strtotime($oRsBilag[$k]['fakturadato']));
- $f3bilart = $oRsBilag[$k]['artid'];
- $f3belopr = $Belop;
- $f3fordat =
date(ymd,strtotime($oRsBilag[$k]['forfallsdato']));
- $f3sakb =
$oRsBilag[$k]['saksbehandler'];
- $f3idkode = $oRsBilag[$k]['kidnr'];
- $f3tekst = '';
-
- $buffer .= 'F3 7 1'. $f3per . $f3bilnr .
sprintf("%6s",$f3rkonto) . sprintf("%6s",$f3pnr)
- . ' 0'. sprintf("%-4s",$f3klasse). ' ' .
sprintf("%6s",$f3bildat).sprintf("%2s",$f3bilart)
- . 'NOK 1000
10005'.sprintf("%14s",$f3belopr).' '.sprintf("%6s",$f3fordat)
- . sprintf("%6s",$f3fordat).' 0 0 0
001 '
- . sprintf("%-8s",$f3sakb).' 0 0 0
0 0 01 0 0'
- . sprintf("%28s",$f3idkode).' 0'."\r\n"
- .'F112
1'.sprintf("%4s",$f1per).sprintf("%6s",$f1bilnr).' 2001 2001 0
0 0'
- .
sprintf("%2s",$f1bilart).'0'.sprintf("%6s",$f1bildat).sprintf("%6s",$f1fordat)
- .'NOK 1000 1000'.sprintf("%6s",$f1dime).'
0 0 0 0 0 0 0 0'
- .
sprintf("%15s",$f1belop).sprintf("%15s",$f1tekst).sprintf("%2s",$f1iper).'0101
0'
- . sprintf("%6s",$f1bilnr).' 0
'."\r\n";
-
-
- //Velg ut alle underbilag
-
$oRsUnderbilag=$this->soXport->select_underbilag($oRsBilag[$k]['bilagsnr']);
-
- $underbilag_count= count($oRsUnderbilag);
- for ($i=0;$i<$underbilag_count;$i++)
- {
- $BilagId = $oRsUnderbilag[$i]['id'];
-
- if ($oRsUnderbilag[$i]['artid'] == 1)
- {
- $Belop = sprintf("%01.2f",
$oRsUnderbilag[$i][$BelopFelt]);
- }
- else
- {
- $Belop = sprintf("%01.2f",
-$oRsUnderbilag[$i][$BelopFelt]);
- }
-
- $Belop =$Belop *100;
-
- //$Belop =
substr($Belop,0,strlen($Belop) - 3) + substr($Belop, -2);
-
-
- if($oRsUnderbilag[$i]['pmwrkord_code'])
- {
- //Hent DIM C
- $dimc =
$this->soXport->select_dimc($oRsUnderbilag[$i]['pmwrkord_code']);
-
- //Oppdater beløp på arbeidsordre
- if ($download=='on')
- {
- if
($oRsUnderbilag[$i]['dimd'] % 2 == 0)
- {
-
$actual_cost_field='act_mtrl_cost';
- }
- else
- {
-
$actual_cost_field='act_vendor_cost';
- }
- $operator='+';
-
$this->correct_actual_cost($oRsUnderbilag[$i]['pmwrkord_code'],$Belop,$actual_cost_field,$operator);
- }
- }
- else
- {
- $dimc = '';
- }
-
- //Overfør til fm_ecobilagoverf
-
- $oRsOverfBilag=$oRsUnderbilag[$i];
- $oRsOverfBilag['filnavn']=
basename($Filnavn);
-
$oRsOverfBilag['ordrebelop']=$oRsUnderbilag[$i][$BelopFelt];
-
$oRsOverfBilag['dima']=substr($oRsOverfBilag['dima'],0,6);
-
- //Kopier verdier
- if ($download=='on')
- {
-
$this->soXport->add_OverfBilag($oRsOverfBilag);
- }
- //Skriv til fil
-
- $f1kto =
$oRsOverfBilag['spbudact_code'];
- $f1dima =
substr($oRsOverfBilag['dima'],0,6);
- $f1dimb =
$oRsOverfBilag['dimb'];
- $f1dimc = $dimc;
- $f1dimd =
$oRsOverfBilag['dimd'];
- $f1avgkod =
$oRsOverfBilag['mvakode'];
- $f1belop = $Belop;
- $f1tekst =
'';//$oRsOverfBilag['merknad'];
-
- $buffer .='F1 2 1'.
sprintf("%4s",$f1per).sprintf("%6s",$f1bilnr).sprintf("%8s",$f1kto).' 0'
-
.sprintf("%6s",$f1dima).sprintf("%6s",$f1dimb).sprintf("%6s",$f1dimc).sprintf("%6s",$f1dimd).sprintf("%2s",$f1bilart).'0'
-
.sprintf("%6s",$f1bildat).sprintf("%6s",$f1fordat).'NOK 1000
1000'.sprintf("%6s",$f1dime).' 0 0 0 0 0 0 0'
-
.sprintf("%2s",$f1avgkod).sprintf("%15s",$f1belop).sprintf("%15s",$f1tekst).sprintf("%2s",$f1iper).'0101
0'
- .sprintf("%6s",$f1bilnr).' 0
'."\r\n";
-
-
- //Slett post i fm_ecobilag
- if ($download=='on')
- {
-
$this->soXport->delete_from_fm_ecobilag($oRsUnderbilag[$i]['id']);
- //Logg transaksjon
-
$this->soXport->log_transaction($batchid,$BilagId);
- }
-
- $BilagId = 'NULL';
-
- $antall = $antall + 1;
- }
- }
-
- $f9per = $periode_aar;
- $buffer .='F999 1'.sprintf("%4s",$f9per).'
0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0
'."\r\n";
-
- //Fullfør transaksjon
- //g_db.SluttTransaksjon
-
-
- if ($download=='on')
- {
- $message = 'periode: '.$periode_aar.' antall
bilag/underbilag overført:'.$antall . ' , fil: ' . $Filnavn;
- $fp = fopen($Filnavn, "wb");
- fwrite($fp,$buffer);
- if(fclose($fp))
- {
- $GLOBALS['phpgw']->db->committrans();
-
- }
- else
- {
- $GLOBALS['phpgw']->db->rollbacktrans();
- $message = 'Noe gikk galt!';
- }
- }
- else
- {
- $message = $buffer;
- }
-
- return $message;
- }
- }
-?>
+<?php
+
+ class export_conv
+ {
+ //var $fil_katalog='c:/temp'; //On windows use
"//computername/share/filename" or "\\\\computername\share\filename" to check
files on network shares.
+ function export_conv()
+ {
+ $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
+ $this->db = $GLOBALS['phpgw']->db;
+
+ $this->soXport = CreateObject('property.soXport');
+ $this->$config =
CreateObject('phpgwapi.config','property');
+ $this->$config->read_repository();
+ $this->bocommon =
CreateObject($this->currentapp.'.bocommon');
+
+ }
+
+ function select_periods_with_invoice_to_transfer()
+ {
+ $sql= "SELECT DISTINCT periode from fm_ecobilag where
budsjettsigndato is not null and (saksigndato is not null or oppsynsigndato is
not null) and utbetalingsigndato is not null ";
+ $this->db->query($sql,__LINE__,__FILE__);
+ while ($this->db->next_record())
+ {
+ $periode[] = $this->db->f('periode');
+ }
+ return $periode;
+ }
+
+ 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__);
+ }
+
+ function log_error($batchid,$error_desr)
+ {
+ $tid=date($this->datetimeformat);
+ $sql= "insert into fm_ecologg
(batchid,ecobilagid,status,melding,tid) values
('$batchid',NULL,0,'$error_desr','$tid')";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ function increment_batchid()
+ {
+
+ $this->db->query("update fm_idgenerator set value =
value + 1 where name = 'Ecobatchid'");
+ $this->db->query("select value from fm_idgenerator
where name = 'Ecobatchid'");
+ $this->db->next_record();
+ $bilagsnr = $this->db->f('value');
+ return $bilagsnr;
+
+ }
+
+ function next_batchid()
+ {
+
+ $this->db->query("select value from fm_idgenerator
where name = 'Ecobatchid'");
+ $this->db->next_record();
+ $batchid = $this->db->f('value')+1;
+
+ return $batchid;
+ }
+
+ //Lagre start melding
+ function log_start($batchid)
+ {
+ $tid=date($this->soXport->datetimeformat);
+ $sql= "insert into fm_ecologg (batchid,melding,tid)
values ('$batchid','Start transfer','$tid')";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ function select_invoice_roleback($day,$month,$year,$Filnavn)
+ {
+
+ 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;
+ }
+
+
+ $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__);
+
+ $i = 0;
+ while ($this->db->next_record())
+ {
+ $invoice_roleback[$i]['id'] =
$this->db->f('id');
+ $invoice_roleback[$i]['bilagsnr'] =
$this->db->f('bilagsnr');
+ $invoice_roleback[$i]['kidnr'] =
$this->db->f('kidnr');
+ $invoice_roleback[$i]['typeid'] =
$this->db->f('typeid');
+ $invoice_roleback[$i]['kildeid'] =
$this->db->f('kildeid');
+ $invoice_roleback[$i]['pmwrkord_code'] =
$this->db->f('pmwrkord_code');
+ $invoice_roleback[$i]['belop'] =
$this->db->f('belop');
+ $invoice_roleback[$i]['fakturadato'] =
$this->db->f('fakturadato');
+ $invoice_roleback[$i]['periode'] =
$this->db->f('periode');
+ $invoice_roleback[$i]['forfallsdato'] =
$this->db->f('forfallsdato');
+ $invoice_roleback[$i]['fakturanr'] =
$this->db->f('fakturanr');
+ $invoice_roleback[$i]['spbudact_code'] =
$this->db->f('spbudact_code');
+ $invoice_roleback[$i]['regtid'] =
$this->db->f('regtid');
+ $invoice_roleback[$i]['artid'] =
$this->db->f('artid');
+ $invoice_roleback[$i]['godkjentbelop'] =
$this->db->f('godkjentbelop');
+ $invoice_roleback[$i]['spvend_code'] =
$this->db->f('spvend_code');
+ $invoice_roleback[$i]['dima'] =
$this->db->f('dima');
+ $invoice_roleback[$i]['loc1'] =
$this->db->f('loc1');
+ $invoice_roleback[$i]['dimb'] =
$this->db->f('dimb');
+ $invoice_roleback[$i]['mvakode'] =
$this->db->f('mvakode');
+ $invoice_roleback[$i]['dimd'] =
$this->db->f('dimd');
+ if($this->db->f('oppsynsmannid'))
+ {
+ $invoice_roleback[$i]['oppsynsmannid']
= $this->db->f('oppsynsmannid');
+ }
+ if($this->db->f('saksbehandlerid'))
+ {
+
$invoice_roleback[$i]['saksbehandlerid'] =
$this->db->f('saksbehandlerid');
+ }
+
+ $invoice_roleback[$i]['budsjettansvarligid']
= $this->db->f('budsjettansvarligid');
+
+ if($this->db->f('oppsynsigndato'))
+ {
+ $invoice_roleback[$i]['oppsynsigndato']
= $this->db->f('oppsynsigndato');
+ }
+ if($this->db->f('saksigndato'))
+ {
+ $invoice_roleback[$i]['saksigndato']
= $this->db->f('saksigndato');
+ }
+
+ $invoice_roleback[$i]['budsjettsigndato']
= $this->db->f('budsjettsigndato');
+ $invoice_roleback[$i]['merknad'] =
$this->db->f('merknad');
+ $invoice_roleback[$i]['splitt'] =
$this->db->f('splitt');
+ $invoice_roleback[$i]['ordrebelop'] =
$this->db->f('ordrebelop');
+ $invoice_roleback[$i]['utbetalingid'] =
$this->db->f('utbetalingid');
+ $invoice_roleback[$i]['utbetalingsigndato']
= $this->db->f('utbetalingsigndato');
+ $i++;
+ }
+ return $invoice_roleback;
+ }
+
+
+ //roleback function
+ function bilag_update_overf($BilagOverf)
+ {
+ $values= array(
+ $BilagOverf['pmwrkord_code'],
+ $BilagOverf['bilagsnr'],
+ $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['mvakode'],
+ $BilagOverf['periode'],
+ $BilagOverf['merknad'],
+ $BilagOverf['utbetalingid'],
+ $BilagOverf['oppsynsigndato'],
+ $BilagOverf['saksigndato'],
+ $BilagOverf['budsjettsigndato'],
+ $BilagOverf['utbetalingsigndato'],
+ );
+
+ $values = $this->bocommon->validate_db_insert($values);
+
+ $sql= "INSERT INTO fm_ecobilag
(pmwrkord_code,bilagsnr,splitt,kildeid,kidnr,typeid,"
+ . "
fakturadato,forfallsdato,regtid,artid,spvend_code,dimb,oppsynsmannid,"
+ . "
saksbehandlerid,budsjettansvarligid,fakturanr,spbudact_code,dima,loc1,dimd,mvakode,"
+ . "
periode,merknad,utbetalingid,oppsynsigndato,saksigndato,budsjettsigndato,utbetalingsigndato,belop,godkjentbelop)"
+ . " values ($values,"
+ . $this->bocommon->moneyformat($BilagOverf['belop']) .
","
+ .
$this->bocommon->moneyformat($BilagOverf['godkjentbelop']) . ")";
+
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+
+ //Oppdater beløp på arbeidsordre operator="-" ved tilbakerulling
+ function
correct_actual_cost($pmwrkord_code,$Belop,$actual_cost_field,$operator)
+ {
+ $Belop=$Belop/100;
+
+ $sql="update fm_workorder set
$actual_cost_field=$actual_cost_field $operator $Belop where
id='$pmwrkord_code'";
+ $this->db->query($sql,__LINE__,__FILE__);
+ }
+
+ // Hent leverandørklasse
+
+ function select_vendor_class($spvend_code)
+ {
+ $sql= "select contact_value from
phpgw_addressbook_extra where contact_id=$spvend_code and
contact_name='klasse'";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->next_record();
+ $pmlabor_code = $this->db->f('contact_value');
+
+ return $pmlabor_code;
+ }
+
+ function overfor($download)
+ {
+ //Generer batch ID
+ $batchid = $this->soXport->next_batchid();
+ if ($download=='on')
+ {
+ $this->increment_batchid();
+ //Lagre melding
+ $this->log_start($batchid);
+ }
+
+ //Velg ut alle perioder som har bilag som skal overføres
+
+ $periode =
$this->select_periods_with_invoice_to_transfer();
+
+ for ($i=0;$i<count($periode);$i++)
+ {
+ $receipt['message'][]= array('msg' =>
$this->OverforPeriode($batchid,$periode[$i],$download));
+ }
+
+ //Lagre melding
+ if ($download=='on')
+ {
+ $this->log_end($batchid); //Lagre melding
+ }
+
+ return $receipt;
+ }
+
+ function errorhandler($error_desr)
+ {
+ $meld = $error_desr;
+
+ //Vis feilmelding
+// echo $meld;
+
+ //Lagre feilmelding
+ $this->log_error($batchid,$error_desr);
+ }
+
+ function RullTilbake($Filnavn,$Dato)
+ {
+ $dateformat =
strtolower($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
+ $dateformat = str_replace(".","",$dateformat);
+ $dateformat = str_replace("-","",$dateformat);
+ $dateformat = str_replace("/","",$dateformat);
+ $y=strpos($dateformat,'y');
+ $d=strpos($dateformat,'d');
+ $m=strpos($dateformat,'m');
+
+ $dateparts = explode('/', $Dato);
+ $day = $dateparts[$d];
+ $month = $dateparts[$m];
+ $year = $dateparts[$y];
+ /* $date1 = mktime (2,0,0,$month,$day,$year);
+ if ($date1)
+ {
+ $Dato=$date1;
+ }
+
+ $Dato= date("M d Y",$Dato);
+ */
+
+
$BilagOverf=$this->select_invoice_roleback($day,$month,$year,$Filnavn);
+ $GLOBALS['phpgw']->db->begintrans();
+
+ for ($i=0;$i<count($BilagOverf);$i++)
+ {
+ $this->bilag_update_overf($BilagOverf[$i]);
+
+
+ if($BilagOverf[$i]['pmwrkord_code'])
+ {
+ if ($BilagOverf[$i]['artid']==1)
+ {
+ $Belop = sprintf("%01.2f",
$BilagOverf[$i]['ordrebelop'])*100;
+ }
+ else
+ {
+ $Belop = sprintf("%01.2f",
-$BilagOverf[$i]['ordrebelop'])*100;
+ }
+
+ if ($BilagOverf[$i]['dimd'] % 2 == 0)
+ {
+
$actual_cost_field='act_mtrl_cost';
+ }
+ else
+ {
+
$actual_cost_field='act_vendor_cost';
+ }
+
+ $operator='-';
+
+
$this->correct_actual_cost($BilagOverf[$i]['pmwrkord_code'],$Belop,$actual_cost_field,$operator);
+ }
+
+ //Slett fra avviks tabell
+ //
$this->soXport->delete_avvik($BilagOverf[$i]['bilagsnr']);
+
+ //Slett fra arkiv
+
$this->soXport->delete_invoice($BilagOverf[$i]['bilagsnr']);
+
+ $antall = $antall + 1;
+ }
+
+ if($antall > 0)
+ {
+ $fil_katalog =
$this->$config->config_data['export_path'];
+
+ if(unlink ($fil_katalog. SEP . $Filnavn))
+ {
+ $GLOBALS['phpgw']->db->committrans();
+ $receipt['message'][]= array('msg' =>
$antall . ' ' . lang('bilag/underbilag rullet tilbake'));
+ $receipt['message'][]= array('msg' =>
lang('File %1 is deleted',$Filnavn));
+ }
+ else
+ {
+ $GLOBALS['phpgw']->db->rollbacktrans();
+ $receipt['message'][]= array('msg' =>
'Noe gikk galt!');
+ }
+ }
+ else
+ {
+ $receipt['error'][]= array('msg' => lang('Sorry
- None hits'));
+ }
+ return $receipt;
+ }
+
+
+ function LagFilnavn ($batchid)
+ {
+ $fil_katalog =
$this->$config->config_data['export_path'];
+ //Beregn løpenr
+ $StartLopeNr = ($batchid % 30) + 70;
+ $LopeNr = $StartLopeNr;
+
+ do
+ {
+ //Konstruer filnavn
+ $Filnavn = $fil_katalog . '/DTF1'.
sprintf("%2d",$LopeNr) . '10.TXT';
+
+ //Sjekk om filen eksisterer
+ If (!file_exists($Filnavn))
+ {
+ return $Filnavn;
+ }
+
+ //Genererer nytt løpenr
+ $batchid = $batchid + 1;
+ $LopeNr = ($batchid % 30) + 70;
+ }
+ while ($LopeNr != $StartLopeNr);
+
+ //Ingen løpenr er ledige, gi feilmelding
+ return False;
+ }
+
+ function OverforPeriode($batchid,$periode,$download)
+ {
+ $BilagId = 'NULL';
+
+ //Bestem filnavn
+
+ $Filnavn = $this->LagFilnavn($batchid);
+ if (!$Filnavn)
+ {
+ $message='LagFilnavn'.lang('Alle løpenr for
filnavn er i bruk!');
+ $this->errorhandler($message);
+ return $message;
+ }
+
+ //Test om filen kan opprettes og skrives til
+ if (@fopen($Filnavn, "wb"))
+ {
+ unlink($Filnavn);
+ }
+ else
+ {
+ $message='kan ikke lagre til fil: '. $Filnavn
.'<br>';
+ return $message;
+ }
+
+ //Velg ut alle hoved bilag som skal overføres
+
+ $oRsBilag=$this->soXport->hoved_bilag($periode);
+
+ $GLOBALS['phpgw']->db->begintrans();
+
+ $bilag_count= count($oRsBilag);
+ for ($k=0;$k<$bilag_count;$k++)
+ {
+ //Hent leverandørklasse
+
+ $pmlabor_code
=$this->select_vendor_class($oRsBilag[$k]['spvend_code']);
+
+ //Bestem belops felt
+ if ($oRsBilag[$k]['splitt']==0)
+ {
+ //Bilaget er ikke splittet
+ if ($oRsBilag[$k]['godkjentbelop'] <>
$oRsBilag[$k]['belop'])
+ {
+ $BelopFelt = 'godkjentbelop';
+ //Logg til avviks tabell
+ if ($download=='on')
+ {
+//
$this->soXport->log_to_deviation_table($oRsBilag[$k]);
+ }
+ }
+ else
+ {
+ $BelopFelt = 'belop';
+ }
+ }
+
+ //Bilaget er splittet
+ if ($oRsBilag[$k]['godkjentbelop'] ==
$oRsBilag[$k]['belop'])
+ {
+ $BelopFelt = 'godkjentbelop';
+ }
+ else
+ {
+ //Ikke lovlig
+ $message = lang('Avvik mellom
fakturabeløp og godkjent beløp på splittet faktura!');
+ $this->errorhandler($message);
+ return $message;
+ }
+
+ //Formater beløp
+ if ($oRsBilag[$k]['artid'] == 1)
+ {
+ $Belop = sprintf("%01.2f",
-$oRsBilag[$k][$BelopFelt]);
+ }
+ else
+ {
+ $Belop = sprintf("%01.2f",
$oRsBilag[$k][$BelopFelt]);
+
+ }
+
+ $Belop =$Belop *100;
+ // $Belop = substr($Belop,0,strlen($Belop) - 3) +
substr($Belop, -2);
+
+ //Skriv hovedbilag
+
+ $periode_aar = date("y") .
sprintf("%02d",$periode);
+ $f1per =
$periode_aar;//date(ym,strtotime($oRsBilag[$k]['fakturadato']));
+ $f1bilnr =
substr($oRsBilag[$k]['bilagsnr'],-6);
+ $f1bildat =
date(ymd,strtotime($oRsBilag[$k]['fakturadato']));
+ $f1bilart = $oRsBilag[$k]['artid'];
+ $f1belop = $Belop;
+ $f1fordat =
date(ymd,strtotime($oRsBilag[$k]['forfallsdato']));
+ $f1tekst = '';
+ $f1iper =
substr($periode_aar,2,2);//date(m,strtotime($oRsBilag[$k]['fakturadato']));
+ $f1dime = $oRsBilag[$k]['spvend_code'];
+
+ $f3per =
$periode_aar;//date(ym,strtotime($oRsBilag[$k]['fakturadato']));
+ $f3bilnr =
substr($oRsBilag[$k]['bilagsnr'],-6);
+ $f3rkonto = $oRsBilag[$k]['spvend_code'];
+ $f3pnr =
substr($oRsBilag[$k]['bilagsnr'],-6);
+ $f3klasse = $pmlabor_code;
+ $f3bildat =
date(ymd,strtotime($oRsBilag[$k]['fakturadato']));
+ $f3bilart = $oRsBilag[$k]['artid'];
+ $f3belopr = $Belop;
+ $f3fordat =
date(ymd,strtotime($oRsBilag[$k]['forfallsdato']));
+ $f3sakb =
$oRsBilag[$k]['saksbehandler'];
+ $f3idkode = $oRsBilag[$k]['kidnr'];
+ $f3tekst = '';
+
+ $buffer .= 'F3 7 1'. $f3per . $f3bilnr .
sprintf("%6s",$f3rkonto) . sprintf("%6s",$f3pnr)
+ . ' 0'. sprintf("%-4s",$f3klasse). ' ' .
sprintf("%6s",$f3bildat).sprintf("%2s",$f3bilart)
+ . 'NOK 1000
10005'.sprintf("%14s",$f3belopr).' '.sprintf("%6s",$f3fordat)
+ . sprintf("%6s",$f3fordat).' 0 0 0
001 '
+ . sprintf("%-8s",$f3sakb).' 0 0 0
0 0 01 0 0'
+ . sprintf("%28s",$f3idkode).' 0'."\r\n"
+ .'F112
1'.sprintf("%4s",$f1per).sprintf("%6s",$f1bilnr).' 2001 2001 0
0 0'
+ .
sprintf("%2s",$f1bilart).'0'.sprintf("%6s",$f1bildat).sprintf("%6s",$f1fordat)
+ .'NOK 1000 1000'.sprintf("%6s",$f1dime).'
0 0 0 0 0 0 0 0'
+ .
sprintf("%15s",$f1belop).sprintf("%15s",$f1tekst).sprintf("%2s",$f1iper).'0101
0'
+ . sprintf("%6s",$f1bilnr).' 0
'."\r\n";
+
+
+ //Velg ut alle underbilag
+
$oRsUnderbilag=$this->soXport->select_underbilag($oRsBilag[$k]['bilagsnr']);
+
+ $underbilag_count= count($oRsUnderbilag);
+ for ($i=0;$i<$underbilag_count;$i++)
+ {
+ $BilagId = $oRsUnderbilag[$i]['id'];
+
+ if ($oRsUnderbilag[$i]['artid'] == 1)
+ {
+ $Belop = sprintf("%01.2f",
$oRsUnderbilag[$i][$BelopFelt]);
+ }
+ else
+ {
+ $Belop = sprintf("%01.2f",
-$oRsUnderbilag[$i][$BelopFelt]);
+ }
+
+ $Belop =$Belop *100;
+
+ //$Belop =
substr($Belop,0,strlen($Belop) - 3) + substr($Belop, -2);
+
+
+ if($oRsUnderbilag[$i]['pmwrkord_code'])
+ {
+ //Hent DIM C
+ $dimc =
$this->soXport->select_dimc($oRsUnderbilag[$i]['pmwrkord_code']);
+
+ //Oppdater beløp på arbeidsordre
+ if ($download=='on')
+ {
+ if
($oRsUnderbilag[$i]['dimd'] % 2 == 0)
+ {
+
$actual_cost_field='act_mtrl_cost';
+ }
+ else
+ {
+
$actual_cost_field='act_vendor_cost';
+ }
+ $operator='+';
+
$this->correct_actual_cost($oRsUnderbilag[$i]['pmwrkord_code'],$Belop,$actual_cost_field,$operator);
+ }
+ }
+ else
+ {
+ $dimc = '';
+ }
+
+ //Overfør til fm_ecobilagoverf
+
+ $oRsOverfBilag=$oRsUnderbilag[$i];
+ $oRsOverfBilag['filnavn']=
basename($Filnavn);
+
$oRsOverfBilag['ordrebelop']=$oRsUnderbilag[$i][$BelopFelt];
+
$oRsOverfBilag['dima']=substr($oRsOverfBilag['dima'],0,6);
+
+ //Kopier verdier
+ if ($download=='on')
+ {
+
$this->soXport->add_OverfBilag($oRsOverfBilag);
+ }
+ //Skriv til fil
+
+ $f1kto =
$oRsOverfBilag['spbudact_code'];
+ $f1dima =
substr($oRsOverfBilag['dima'],0,6);
+ $f1dimb =
$oRsOverfBilag['dimb'];
+ $f1dimc = $dimc;
+ $f1dimd =
$oRsOverfBilag['dimd'];
+ $f1avgkod =
$oRsOverfBilag['mvakode'];
+ $f1belop = $Belop;
+ $f1tekst =
'';//$oRsOverfBilag['merknad'];
+
+ $buffer .='F1 2 1'.
sprintf("%4s",$f1per).sprintf("%6s",$f1bilnr).sprintf("%8s",$f1kto).' 0'
+
.sprintf("%6s",$f1dima).sprintf("%6s",$f1dimb).sprintf("%6s",$f1dimc).sprintf("%6s",$f1dimd).sprintf("%2s",$f1bilart).'0'
+
.sprintf("%6s",$f1bildat).sprintf("%6s",$f1fordat).'NOK 1000
1000'.sprintf("%6s",$f1dime).' 0 0 0 0 0 0 0'
+
.sprintf("%2s",$f1avgkod).sprintf("%15s",$f1belop).sprintf("%15s",$f1tekst).sprintf("%2s",$f1iper).'0101
0'
+ .sprintf("%6s",$f1bilnr).' 0
'."\r\n";
+
+
+ //Slett post i fm_ecobilag
+ if ($download=='on')
+ {
+
$this->soXport->delete_from_fm_ecobilag($oRsUnderbilag[$i]['id']);
+ //Logg transaksjon
+
$this->soXport->log_transaction($batchid,$BilagId);
+ }
+
+ $BilagId = 'NULL';
+
+ $antall = $antall + 1;
+ }
+ }
+
+ $f9per = $periode_aar;
+ $buffer .='F999 1'.sprintf("%4s",$f9per).'
0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0
'."\r\n";
+
+ //Fullfør transaksjon
+ //g_db.SluttTransaksjon
+
+
+ if ($download=='on')
+ {
+ $message = 'periode: '.$periode_aar.' antall
bilag/underbilag overført:'.$antall . ' , fil: ' . $Filnavn;
+ $fp = fopen($Filnavn, "wb");
+ fwrite($fp,$buffer);
+ if(fclose($fp))
+ {
+ $GLOBALS['phpgw']->db->committrans();
+
+ }
+ else
+ {
+ $GLOBALS['phpgw']->db->rollbacktrans();
+ $message = 'Noe gikk galt!';
+ }
+ }
+ else
+ {
+ $message = $buffer;
+ }
+
+ return $message;
+ }
+ }
+?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] property/export/Ecolink, 1.1.1.3,
nomail <=