use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(DoSelect isotime DoFn);
use Dbase::Globals qw(name_kunde find_descr);
use Fehler qw(problem);
use Loader qw(line_printer);

# Flag:
#  8 auch Detail-Datensätze der Tarife ausgeben

sub list_knextrech($;$$$) {
	my($rnr,$flag,$kn,$akunde) = @_;
	$flag=0 unless defined $flag;
	line_printer;
	my $hdr;

	if($akunde) {
		$akunde=" and knextrech.kunde=$akunde";
	} else {
		$akunde="";
	}
	DoSelect {
	    my($id,$timestamp,$kunde,$wann,$mwst,$beginn,$ende,$rbeginn,$rende) = @_;
	    print $Db::pr_fh "===============================\n" if $hdr++;
	    print $Db::pr_fh "ID       : $id\n";
	    print $Db::pr_fh "Rechnung : $rnr\n";
	    print $Db::pr_fh "Kunde    : #$kunde ".name_kunde($kunde)."\n";
		print $Db::pr_fh "Timestamp: ".isotime($timestamp)."\n";
		print $Db::pr_fh "R-Datum  : ".isotime($wann)."\n";
	    print $Db::pr_fh "AcctZeit : ".sdaterange($beginn,$ende,1)."\n";
	    print $Db::pr_fh "InfoZeit : ".sdaterange($rbeginn,$rende,1)."\n";

		if($flag&8) {
			DoSelect {
				my($ktarif,$beginn,$ende,$anzahl,$name,$info) = @_;
				$info = "" unless defined $info;
				printf $Db::pr_fh "Tarif  %2s: %d %s %s %s\n",$anzahl?$anzahl/100:"",$ktarif,sdaterange($beginn,$ende,1),$name,$info;
			} "select nextrech.tarifkunde,nextrech.beginn,nextrech.ende,nextrech.anzahl,tarifname.name,tarifkunde.infotext from nextrech,tarifkunde,tarifname where nextrech.knextrech=$id and tarifkunde.id=nextrech.tarifkunde and tarifkunde.tarifname=tarifname.id"
				or print $Db::pr_fh "Tarife   : -keine\n";
		} else {
			my $bs = DoFn("select count(*) from nextrech where knextrech=$id");
			print $Db::pr_fh "Tarife   : ",($bs==1)?"1 Datensatz\n":($bs?"$bs":"keine")." Datensätze\n";
		}
	} "select knextrech.id,knextrech.timestamp,knextrech.kunde,rechnungen.datum,knextrech.mwst,knextrech.beginn,knextrech.ende,knextrech.rbeginn,knextrech.rende from knextrech,rechnungen where knextrech.rnr=$rnr and rechnungen.rnr=knextrech.rnr $akunde"
		or problem "Rechnungsdaten fuer '$rnr' unbekannt";
}
1;
