Fix Calc Papedruck

This commit is contained in:
Thomas Peterson 2020-09-08 21:05:07 +02:00
parent b69493d314
commit 84a989ed60
22 changed files with 3197 additions and 6 deletions

View File

@ -55,12 +55,12 @@ class Calc
/** @var Select\Opt $opt */
foreach($option->getOptions() as $opt) {
if($opt->isValid() && $opt->isSelected()) {
$gesamt = $this->parseEdgeCollection($gesamt, $option, $opt->getEdgesCollectionContainer());
$gesamt = $this->parseEdgeCollection($gesamt, $option, $opt->getEdgesCollectionContainer(), [$option->getId()]);
}
}
}
$gesamt = $this->parseEdgeCollection($gesamt, $option, $option->getEdgesCollectionContainer());
$gesamt = $this->parseEdgeCollection($gesamt, $option, $option->getEdgesCollectionContainer(), [$option->getId()]);
}
return $gesamt;
@ -72,7 +72,7 @@ class Calc
* @param EdgeCollectionContainer $container
* @return int
*/
private function parseEdgeCollection($gesamt, $option, EdgeCollectionContainer $container)
private function parseEdgeCollection($gesamt, $option, EdgeCollectionContainer $container, $calcValueId = [])
{
$calcValue1 = 0;
@ -115,6 +115,7 @@ class Calc
$cv = $this->formelCalc->parse($edge->getCalcValue());
eval('$cv = ' . $cv . ';');
$this->engine->addCalcVariable($option->getId() . '_' . $collection->getName(), $cv);
$this->engine->setCalcVaribleStack($cv, $calcValueId);
}
if($edge->getFormel() != "") {
@ -141,7 +142,8 @@ class Calc
}
if($edge->getEdgesCollectionContainer()->count() > 0) {
$gesamt = $this->parseEdgeCollection($gesamt, $option, $edge->getEdgesCollectionContainer());
$calcValueId[] = $collection->getName();
$gesamt = $this->parseEdgeCollection($gesamt, $option, $edge->getEdgesCollectionContainer(), $calcValueId);
}
}
}

View File

@ -110,7 +110,7 @@ class CalcValues
if ($edge->getCalcValue() != "") {
$cv = $this->formelCalc->parse($edge->getCalcValue());
echo $id . ' '. $this->formelCalc->parse($edge->getCalcValue()) . ' ' . $cv . ' '. PHP_EOL.PHP_EOL;
//echo $id . ' '. $this->formelCalc->parse($edge->getCalcValue()) . ' ' . $cv . ' '. PHP_EOL.PHP_EOL;
eval('$cv = ' . $cv . ';');
$this->engine->addCalcVariable($id, $cv);

View File

@ -312,6 +312,21 @@ class Engine
$this->calcVariables = $calcVariables;
}
/**
* @param $value
* @param array $stack
*/
public function setCalcVaribleStack($value, $stack = [])
{
$id = array_shift($stack);
foreach($stack as $row) {
$id = $id . '_' . $row;
if(!isset($this->calcVariables[$id]) || $this->calcVariables[$id] == 0) {
$this->calcVariables[$id] = $value;
}
}
}
public function addCalcVariable($id, $value) {
$this->calcVariables[$id] = $value;
}

View File

@ -3,6 +3,7 @@ namespace PSC\Library\Calc\Option;
use PSC\Library\Calc\Option\Parser\Hidden;
use PSC\Library\Calc\Option\Parser\Input;
use PSC\Library\Calc\Option\Parser\Radio;
use PSC\Library\Calc\Option\Parser\Select;
use PSC\Library\Calc\Option\Parser\Template;
use PSC\Library\Calc\Option\Parser\Text;
@ -30,6 +31,9 @@ class Parser
case 'select':
$obj = new Select($node);
break;
case 'radio':
$obj = new Radio($node);
break;
case 'text':
$obj = new Text($node);
break;

View File

@ -0,0 +1,48 @@
<?php
namespace PSC\Library\Calc\Option\Parser;
use Doctrine\Common\Persistence\ObjectRepository;
use PSC\Library\Calc\General\Parser\EdgeCollectionContainer;
use PSC\Library\Calc\Option\Parser\Select\Opt;
use PSC\Library\Calc\PaperContainer;
use PSC\Library\Calc\Tests\Mock\Paper;
class Radio extends Base
{
protected $element;
/** @var \SimpleXMLElement $node */
protected $node;
public function __construct(\SimpleXMLElement $node)
{
$this->element = new \PSC\Library\Calc\Option\Type\Radio();
parent::__construct($node);
}
public function parse()
{
parent::parse();
if(isset($this->node->grenzen) && $this->node->grenzen->children()) {
$edgeCollectionContainerParser = new EdgeCollectionContainer($this->node->grenzen);
$this->element->setEdgesCollectionContainer($edgeCollectionContainerParser->parse());
}
$this->parseModeNormal();
return $this->element;
}
private function parseModeNormal()
{
foreach ($this->node->opt as $opt) {
$optParser = new Opt($opt);
$this->element->addOption($optParser->parse());
}
}
}

View File

@ -0,0 +1,31 @@
<?php
namespace PSC\Library\Calc\Option\Parser\Radio;
use PSC\Library\Calc\General\Parser\EdgeCollectionContainer;
use PSC\Library\Calc\Option\Parser\Base;
class Opt
{
protected $element;
public function __construct(\SimpleXMLElement $node)
{
$this->element = new \PSC\Library\Calc\Option\Type\Radio\Opt();
$this->node = $node;
}
public function parse()
{
$this->element->setId((string)$this->node['id']);
$this->element->setLabel((string)$this->node['name']);
if($this->node->children()) {
$edgeCollectionContainerParser = new EdgeCollectionContainer($this->node);
$this->element->setEdgesCollectionContainer($edgeCollectionContainerParser->parse());
}
return $this->element;
}
}

52
src/Option/Type/Radio.php Normal file
View File

@ -0,0 +1,52 @@
<?php
namespace PSC\Library\Calc\Option\Type;
use PSC\Library\Calc\Option\Type\Select\Opt;
class Radio extends Base
{
static public $type = 'radio';
/** @var \ArrayIterator $options */
protected $options;
public function __construct()
{
parent::__construct();
$this->options = new \ArrayIterator();
}
public function addOption($option)
{
$this->options->append($option);
}
/**
* Verarbeitet das Value
*/
public function processValue()
{
$option = $this->getSelectedOption();
if($option) {
$this->setValue($option->getLabel());
}
}
/**
* @return \ArrayIterator
*/
public function getOptions()
{
return $this->options;
}
public function getSelectedOption()
{
/** @var Opt $opt */
foreach($this->getOptions() as $opt) {
if($opt->isSelected()) return $opt;
}
}
}

View File

@ -0,0 +1,112 @@
<?php
namespace PSC\Library\Calc\Option\Type\Radio;
use PSC\Library\Calc\General\Type\EdgeCollectionContainer;
use PSC\Library\Calc\Option\Type\Base;
class Opt
{
/** @var string $id */
protected $id;
/** @var string $label */
protected $label;
/** @var EdgeCollectionContainer */
protected $edgesCollectionContainer;
/** @var bool */
protected $isValid = true;
/** @var bool */
protected $isSelected = false;
/**
* Opt constructor.
*/
public function __construct()
{
$this->edgesCollectionContainer = new EdgeCollectionContainer();
}
/**
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* @param string $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* @return string
*/
public function getLabel()
{
return $this->label;
}
/**
* @param string $label
*/
public function setLabel($label)
{
$this->label = $label;
}
/**
* @return EdgeCollectionContainer
*/
public function getEdgesCollectionContainer()
{
return $this->edgesCollectionContainer;
}
/**
* @param EdgeCollectionContainer $edgesCollectionContainer
*/
public function setEdgesCollectionContainer($edgesCollectionContainer)
{
$this->edgesCollectionContainer = $edgesCollectionContainer;
}
/**
* @return bool
*/
public function isValid()
{
return $this->isValid;
}
/**
* @param bool $isValid
*/
public function setIsValid($isValid)
{
$this->isValid = $isValid;
}
/**
* @return bool
*/
public function isSelected()
{
return $this->isSelected;
}
/**
* @param bool $isSelected
*/
public function setIsSelected($isSelected)
{
$this->isSelected = $isSelected;
}
}

View File

@ -6,7 +6,7 @@ use PSC\Library\Calc\Engine;
use PSC\Library\Calc\Option\Type\Base;
use PSC\Library\Calc\PaperContainer\Container;
class PreisPauschale extends \PHPUnit_Framework_TestCase
class PreisPauschaleTest extends \PHPUnit_Framework_TestCase
{
/** @var Engine */
protected $engine = null;

View File

@ -0,0 +1,48 @@
<?php
namespace PSC\Library\Calc\Tests\Customer\E;
use PSC\Library\Calc\Article;
use PSC\Library\Calc\Engine;
use PSC\Library\Calc\PaperContainer;
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
class CalcTest extends \PHPUnit_Framework_TestCase
{
/** @var Engine */
protected $engine = null;
public function setUp()
{
$repository = new PaperRepostory();
$paperContainer = new PaperContainer();
$paperContainer->parse(simplexml_load_string(file_get_contents(__DIR__ . '/papierContainer.xml')));
$this->engine = new Engine();
$this->engine->setPaperContainer($paperContainer);
$this->engine->setPaperRepository($repository);
$this->engine->setFormulas(file_get_contents(__DIR__ . '/formels.txt'));
$this->engine->setParameters(file_get_contents(__DIR__ . '/parameters.txt'));
$this->engine->setTemplates(file_get_contents(__DIR__ . '/calcTemplates.xml'));
$this->engine->loadString(file_get_contents(__DIR__ . '/calc.xml'));
}
public function tearDown()
{
$this->engine = null;
}
public function testIfDefaultPriceIsOk()
{
$this->assertEquals(33 , $this->engine->getPrice());
}
public function testIfAnwender2PriceIsOk()
{
$this->engine->setVariable("anz_user", 2);
$this->assertEquals(102 , $this->engine->getPrice());
}
}

549
tests/Customer/E/calc.xml Normal file
View File

@ -0,0 +1,549 @@
<?xml version="1.0" encoding="utf-8"?>
<kalkulation>
<artikel>
<name>AEB-Exportfilling</name>
<kommentar>Testkalkulation</kommentar>
<uploads>
<upload id="neutral" name="Druckdaten" description="Bitte laden sie eine PDF für den Druck hoch"/>
</uploads>
<!-- ab hier beginnt die Eingabemaske -->
<!-- type= Checkbox oder Radiobutton
<option id="land" name="Land" type="Checkbox" default="3">
<opt id="1" name="e-dec/Schweiz"></opt>
<opt id="11" name="PLDA/Belgien"></opt>
<opt id="111" name="ATLAS/Deutschland"></opt>
<opt id="1111" name="SKAT/Dänemark"></opt>
<opt id="11111" name="DELTA/Frankreich"></opt>
<opt id="111111" name="AGS/Niederlande"></opt>
<opt id="1111111" name="PUESC/Polen TDS/Schweden"></opt>
<opt id="11111111" name="CHIEF-CDS/UK"></opt>
<opt id="111111111" name="e-zoll/Österreich"></opt>
</option>
-->
<option id="de" name="ATLAS" type="Radio" default="100" >
<opt id="0" name="nein"></opt>
<opt id="100" name="JA"></opt>
</option>
<option id="fr" name="DELTA" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="nl" name="AGS" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="pl" name="PUESC" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="uk" name="CHIEF-CDS" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="at" name="e-zoll" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="ch" name="e-dec" type="Radio" default="0">
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="bg" name="PLDA" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="dk" name="SKAT" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="sw" name="TDS" type="Radio" default="0" >
<opt id="0" name="nein"></opt>
<opt id="1" name="JA"></opt>
</option>
<option id="anz_ausfuhren" name="Wie viele Ausfuhranmeldungen benötigen Sie im Jahr?" type="Input" default="1" min="1" max="25000"/>
<option id="anz_user" name="Anzahl Anwender" type="Select" default="1">
<opt id="1" name="1 Anwender"></opt>
<opt id="2" name="2 Anwender"></opt>
<opt id="3" name="3 Anwender"></opt>
<opt id="4" name="4 Anwender"></opt>
<opt id="5" name="5 Anwender"></opt>
<opt id="6" name="6 Anwender"></opt>
<opt id="7" name="7 Anwender"></opt>
<opt id="8" name="8 Anwender"></opt>
<opt id="9" name="9 Anwender"></opt>
<opt id="10" name="10 Anwender"></opt>
<opt id="11" name="11 Anwender"></opt>
<opt id="12" name="12 Anwender"></opt>
<opt id="13" name="13 Anwender"></opt>
<opt id="14" name="14 Anwender"></opt>
<opt id="15" name="15 Anwender"></opt>
<opt id="16" name="16 Anwender"></opt>
<opt id="17" name="17 Anwender"></opt>
<opt id="18" name="18 Anwender"></opt>
<opt id="19" name="19 Anwender"></opt>
<opt id="20" name="20 Anwender"></opt>
<opt id="21" name="21 Anwender"></opt>
<opt id="22" name="22 Anwender"></opt>
<opt id="23" name="23 Anwender"></opt>
<opt id="24" name="24 Anwender"></opt>
<opt id="25" name="25 Anwender"></opt>
</option>
<option id="zusatzopt_txt" name="----------------------- ZUSATZOPTIONEN -----------------------" type="Text" default=""/>
//Diese Option gibt es für Deutschland eigentlich noch nicht nicht!!
<option id="reporting" name="Reporting und Analytics 1 System (nocht nicht für DE)" type="Select" default="0">
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja">
<reporting formel="$Vch$V+$Vbg$V+$Vde$V+$Vdk$V+$Vfr$V+$Vnl$V+$Vpl$V+$Vsw$V+$Vuk$V+$Vat$V">
<grenze>1-99,101-</grenze> // Anzahl der Länder als aufgelöste Berechnung, da $CV nicht geht
</reporting> // Die Bezeichnung hier "reporting" ist relativ egal,
</opt> // muss nur gültig sein, da ohnehin die Formel verwendet wird
</option>
//Diese Option gibt es nur für die Schweiz
<option id="transitverfahren" name="Transitverfahren (Nur CH)" type="Select" default="0">
<grenzen>
<ch>
<grenze>1</grenze>
</ch>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für Belgien -> Tarifwechsel, nicht in Basic möglich
<option id="hafen_c_point" name="Hafenbenarichtigung (C-Point) (Nur Belgien)" type="Select" default="0">
<grenzen>
<bg>
<grenze>1</grenze>
</bg>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für Deutschland -> Tarifwechsel, nicht in Starter möglich
<option id="unterlagen_taric" name="Unterlagenprüfung nach TARIC (Nur DE)" type="Select" default="0">
<grenzen>
<de>
<grenze>100</grenze>
</de>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für Deutschland -> Tarifwechsel, nicht in Starter möglich
<option id="transitverfahren_ncts_zv" name="Transitverfahren (NCTS Zugel. Versender (ZV)) (Nur DE)" type="Select" default="0">
<grenzen>
<de>
<grenze>100</grenze>
</de>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für Niederlande -> Tarifwechsel, nicht in Basic möglich
<option id="hafen_portbase" name="Hafenbenachrichtigungen (Portbase) (Nur NL)" type="Select" default="0">
<grenzen>
<nl>
<grenze>1</grenze>
</nl>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für Niederlande
<option id="transitverfahren_ncts_ta" name="Transitverfahren (NCTS Toegelaten Afzender (TA)) (Nur NL)" type="Select" default="0">
<grenzen>
<nl>
<grenze>1</grenze>
</nl>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für UK
<option id="erzeug_ausfuhr" name="Erzeugung von Ausfuhrdokumenten (ua. ABD) (Nur UK)" type="Select" default="0">
<grenzen>
<uk>
<grenze>1</grenze>
</uk>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
//Diese Option gibt es nur für UK
<option id="transitverfahren_ncts_cr" name="Transitverfahren (NCTS Authorized Consignor (CR)) (NUr UK)" type="Select" default="0">
<grenzen>
<uk>
<grenze>1</grenze>
</uk>
</grenzen>
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja"></opt>
</option>
<option id="integrationen_txt" name="----------------------- INTEGRATIONEN -----------------------" type="Text" default=""/>
//Diese Option gibt es NUR GEGEN Aufpreis; Projektarbeit, deshalb keine Bestellung möglich
<option id="sap_plugin" name="SAP Plugins (Bitte Angebot anfordern)" type="Select" default="0">
<opt id="0" name="Nein"></opt>
<opt id="1" name="SAP ECC"></opt>
<opt id="2" name="SAP S/4HANA"></opt>
</option>
//Diese Option gibt es OHNE Aufpreis; Projektarbeit, deshalb keine Bestellung möglich
<option id="erp_plugin" name="ERP Plugins (Bitte Angebot anfordern)" type="Select" default="0">
<opt id="0" name="Nein"></opt>
<opt id="1" name="Ja Bitte Angebot anfordern"></opt>
</option>
<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
<!-- Beginn Kalkulation - Beginn Kalkulation - Beginn Kalkulation - Beginn Kalkulation -->
<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
<!-- ANFANG Ermittlung Anzahl Länder für den Tarifwechsel -->
<option id="anzahl_laender" name="anzahl_laender" type="Hidden" default="1">
<ch>
<grenze calc_value="$Vch$V+$Vbg$V+$Vde$V+$Vdk$V+$Vfr$V+$Vnl$V+$Vpl$V+$Vsw$V+$Vuk$V+$Vat$V">0,1</grenze>
</ch>
</option>
<!-- ENDE Ermittlung Anzahl Länder für den Tarifwechsel -->
<option id="anzahl_laender_check" name="anzahl_laender" type="Hidden" default="1">
<ch>
<grenze calc_value="$Fanzahl_laender_ext$F">0,1</grenze>
</ch>
</option>
//
<!-- Berechnung des Tarifmodells auf Basis Länder, Anz. User und Anz. Ausfuhren -->
<option id="monatspreis" name="monatspreis" type="Hidden" default="1">
<anzahl_laender formel="$CVanzahl_laender_ch$CV">
<grenze value="1,100"> //Länder
<anz_user>
<grenze value="1"> //User
<de>
<grenze value="100"> //Land de = 1 -> ATLAS, nur dann Starter möglich
<unterlagen_taric> //Nur ohne "unterlagen_taric" Starter möglich
<grenze value="0">
<transitverfahren_ncts_zv> //Nur ohne "transitverfahren_ncts_zv" Starter möglich
<grenze value="0">
<anz_ausfuhren>
<grenze calc_value="$Ptarif_starter$P">1-158</grenze> //Ausfuhren 158
</anz_ausfuhren>
</grenze>
</transitverfahren_ncts_zv>
</grenze>
</unterlagen_taric>
</grenze>
</de>
</grenze>
<grenze value="1"> //User
<hafen_portbase> //Wenn Hafen Portbase dazu kommt, dann geht Basic nicht mehr (NL)
<grenze value="0"> //Hafen Portbase = 0, dann Basic möglich
<hafen_c_point> //Hafen C Point = 0, dann Basic möglich
<grenze value="0">
<anz_ausfuhren>
<grenze calc_value="$Ptarif_basic$P">1-1374</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
</hafen_c_point>
</grenze>
<grenze value="1"> //Wenn Hafen Portbase = 1, dann Business
<anz_ausfuhren>
<grenze calc_value="$Ptarif_business$P">1-1374</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
</hafen_portbase>
<hafen_c_point> //Wenn Hafen C Point dazu kommt, dann geht Basic nicht mehr (BG)
<grenze value="0"> //Hafen Portbase = 0, dann Basic möglich
<anz_ausfuhren>
<grenze calc_value="$Ptarif_basic$P">1-1374</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
<grenze value="1"> //Wenn Hafen C Point = 1, dann Business
<anz_ausfuhren>
<grenze calc_value="$Ptarif_business$P">1-1374</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
</hafen_c_point>
</grenze>
<grenze value="1"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_business$P">1375-13749</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
<grenze value="1"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_enterprise$P">13750-</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze> //Bis hier 1 User
<grenze value="2,3"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_basic$P">1-1374</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
<grenze value="4-10"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_business$P">1-13749</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
<grenze value="11-25"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_enterprise$P">1-</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
</anz_user>
</grenze>
<grenze value="2,3,101,102"> //Länder
<anz_user>
<grenze value="1-10"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_business$P">1-13749</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
<grenze value="1-10"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_enterprise$P">13750-</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
<grenze value="11-25"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_enterprise$P">1-</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
</anz_user>
</grenze>
<grenze value="4,5,6,7,8,9,10,101-"> //Länder
<anz_user>
<grenze value="1-25"> //User
<anz_ausfuhren>
<grenze calc_value="$Ptarif_enterprise$P">1-</grenze> //Ausfuhren
</anz_ausfuhren>
</grenze>
</anz_user>
</grenze>
</anzahl_laender>
</option>
//Berechnung des Tarifmodells - Nach der Berechnung des Monatspreises
<option id="tarif" name="Errechnetes Tarifmodell (keine Auswahl möglich)" type="Select" default="1" >
<opt id="1" name="Starter">
<monatspreis formel="$CVmonatspreis_anzahl_laender_anz_user$CV">
<grenze>1-33</grenze> // Anzeige Starter
</monatspreis>
</opt>
<opt id="2" name="Basic">
<monatspreis formel="$CVmonatspreis_anzahl_laender_anz_user$CV">
<grenze>34-102</grenze> // Anzeige Starter
</monatspreis>
</opt>
<opt id="2" name="Business">
<monatspreis formel="$CVmonatspreis_anzahl_laender_anz_user$CV">
<grenze>103-395</grenze> // Anzeige Starter
</monatspreis>
</opt>
<opt id="2" name="Enterprise">
<monatspreis formel="$CVmonatspreis_anzahl_laender_anz_user$CV">
<grenze>396-</grenze> // Anzeige Starter
</monatspreis>
</opt>
</option>
<!-- Berechnung des Aufpreises der Ausfuhren -->
<option id="aufpreis_ausfuhren_starter" name="aufpreis_ausfuhren" type="Hidden" default="1">
<monatspreis formel="$CVmonatspreis_anzahl_laender_anz_user$CV">
<grenze value="33"> //Starter bis 25 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="0">1-25</grenze>
<grenze formel="($Vanz_ausfuhren$V-$Penthaltene_ausfuhren_starter$P)*$Pkosten_ausfuhren_starter$P/12">26-</grenze>
</anz_ausfuhren>
</grenze>
<grenze value="102"> //Basic bis 250 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="0">1-250</grenze>
<grenze formel="($Vanz_ausfuhren$V-$Penthaltene_ausfuhren_basic$P)*$Pkosten_ausfuhren_basic$P/12">251-</grenze>
</anz_ausfuhren>
</grenze>
<grenze value="395"> //Business bis 2500 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="0">1-2500</grenze>
<grenze formel="($Vanz_ausfuhren$V-$Penthaltene_ausfuhren_business$P)*$Pkosten_ausfuhren_business$P/12">2501-</grenze>
</anz_ausfuhren>
</grenze>
<grenze value="2048"> //Enterprise bis 25000 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="0">1-25000</grenze>
<grenze formel="($Vanz_ausfuhren$V-$Penthaltene_ausfuhren_enterprise$P)*$Pkosten_ausfuhren_enterprise$P/12">25001-</grenze>
</anz_ausfuhren>
</grenze>
</monatspreis>
</option>
<!--
<option id="tarif_als_text" name="tarif_als_text" type="Text" default="1">
<monatspreis formel="$CVmonatspreis_anzahl_laender$CV">
<grenze value="33"> //Starter bis 25 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="Starter">1-</grenze>
</anz_ausfuhren>
</grenze>
<grenze value="102"> //Basic bis 250 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="Basic">1-</grenze>
</anz_ausfuhren>
</grenze>
<grenze value="395"> //Business bis 2500 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="Business">1-</grenze>
</anz_ausfuhren>
</grenze>
<grenze value="2048"> //Enterprise bis 25000 Ausfuhren enthalten
<anz_ausfuhren>
<grenze formel="Enterprise">1-</grenze>
</anz_ausfuhren>
</grenze>
</monatspreis>
</option>
-->
<!-- Berechnung Reporting und Analytics (nicht für DE, sobald ein 2. Land dazu kommt, dann ja) -->
<option id="kosten_reporting" name="kosten_reporting" type="Hidden" default="1">
<monatspreis formel="$CVmonatspreis_anzahl_laender$CV">
<grenze value="33"> //Bei Starter
<reporting>
<grenze formel="0">0,1</grenze>
</reporting>
</grenze>
<grenze value="102"> //Bei Basic
<anzahl_laender formel="$CVanzahl_laender_ch$CV">
<grenze value="100">
<de> // Prüfung bei einem Land, ob DE
<grenze value="100">
<reporting>
<grenze formel="0">0,1</grenze> // Wenn DE, dann 0
</reporting>
</grenze>
</de>
</grenze>
<grenze value="1-10,101-120"> // Wenn mehr als ein Land, dann berechnen
<reporting>
<grenze formel="0">0</grenze>
<grenze formel="30">1</grenze>
</reporting>
</grenze>
</anzahl_laender>
</grenze>
<grenze value="395"> //Bei Business
<anzahl_laender formel="$CVanzahl_laender_ch$CV">
<grenze value="100">
<de>
<grenze value="100">
<reporting>
<grenze formel="0">0,1</grenze>
</reporting>
</grenze>
</de>
</grenze>
<grenze value="1-10,101-120">
<reporting>
<grenze formel="0">0</grenze>
<grenze formel="60">1</grenze>
</reporting>
</grenze>
</anzahl_laender>
</grenze>
<grenze value="2048"> //Bei Enterprise
<anzahl_laender formel="$CVanzahl_laender_ch$CV">
<grenze value="100">
<de>
<grenze value="1">
<reporting>
<grenze formel="0">0,1</grenze>
</reporting>
</grenze>
</de>
</grenze>
<grenze value="1-10,101-120">
<reporting>
<grenze formel="0">0</grenze>
<grenze formel="315">1</grenze>
</reporting>
</grenze>
</anzahl_laender>
</grenze>
</monatspreis>
</option>
<!-- Berechnung SAP Schnittstelle -->
<option id="sap" name="sap" type="Hidden" default="1">
<sap_plugin>
<grenze formel="0">0</grenze>
<grenze formel="(250+250)">1</grenze>
<grenze formel="(250+1000)">2</grenze>
</sap_plugin>
</option>
<option id="summe_aeb" name="summe_aeb" type="Hidden" default="1">
<anzahl_laender formel="$CVanzahl_laender_ch$CV">
<grenze formel="$CVmonatspreis_anzahl_laender$CV">1-</grenze>
</anzahl_laender>
</option>
</artikel>
</kalkulation>

View File

@ -0,0 +1,4 @@
<root>
</root>

View File

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<container>
</container>

View File

@ -0,0 +1,44 @@
// AEB Exportfilling
//Tairfe pro Monat Export
$tarif_starter=33;
$tarif_basic=102;
$tarif_business=395;
$tarif_enterprise=2048;
//Schwellwerte für Tarifwechsel Export
//bis jetzt nich verwendbar in Grenzen
$schwellwert_starter=158;
$schwellwert_basic=1374;
$schwellwert_business=13749;
$schwellwert_enterprise_ab=13750;
//enthaltene Ausfuhren Export
$enthaltene_ausfuhren_starter=25;
$enthaltene_ausfuhren_basic=250;
$enthaltene_ausfuhren_business=2500;
$enthaltene_ausfuhren_enterprise=25000;
//Kosten zusätzliche Ausfuhren Export
$kosten_ausfuhren_starter=6.25;
$kosten_ausfuhren_basic=3.13;
$kosten_ausfuhren_business=1.76;
$kosten_ausfuhren_enterprise=0.98;
//AEB Importfilling
//Tarife pro Monat Import
$tarif_basic_import=102;
$tarif_business_import=695;
$tarif_enterprise_import=2048;
//enthaltene Ausfuhren Import
$enthaltene_ausfuhren_basic_import=100;
$enthaltene_ausfuhren_business_import=2500;
$enthaltene_ausfuhren_enterprise_import=10000;
//Kosten zusätzliche Ausfuhren Import
$kosten_ausfuhren_basic_import=5.93;
$kosten_ausfuhren_business_import=4.33;
$kosten_ausfuhren_enterprise_import=2.46;

View File

@ -0,0 +1,55 @@
<?php
namespace PSC\Library\Calc\Tests\Customer\F;
use PSC\Library\Calc\Article;
use PSC\Library\Calc\Engine;
use PSC\Library\Calc\PaperContainer;
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
class CalcTest extends \PHPUnit_Framework_TestCase
{
/** @var Engine */
protected $engine = null;
public function setUp()
{
$repository = new PaperRepostory();
$paperContainer = new PaperContainer();
$paperContainer->parse(simplexml_load_string(file_get_contents(__DIR__ . '/papierContainer.xml')));
$this->engine = new Engine();
$this->engine->setPaperContainer($paperContainer);
$this->engine->setPaperRepository($repository);
$this->engine->setFormulas(file_get_contents(__DIR__ . '/formels.txt'));
$this->engine->setParameters(file_get_contents(__DIR__ . '/parameters.txt'));
$this->engine->setTemplates(file_get_contents(__DIR__ . '/calcTemplates.xml'));
$this->engine->loadString(file_get_contents(__DIR__ . '/calc.xml'));
}
public function tearDown()
{
$this->engine = null;
}
public function testIfDefaultPriceIsOk()
{
$this->assertEquals(103.80 , $this->engine->getPrice());
}
public function testIfOtherPriceIsOk()
{
$this->engine->setVariable("papierum2", "10080");
$this->assertEquals(105.53 , $this->engine->getPrice());
}
public function testIfOtherPrice2IsOk()
{
$this->engine->setVariable("papierum2", "10080");
$this->engine->setVariable("druckum2", "40fschluss");
$this->assertEquals(114.67 , $this->engine->getPrice());
}
}

345
tests/Customer/F/calc.xml Normal file
View File

@ -0,0 +1,345 @@
<?xml version="1.0" encoding="utf-8"?>
<kalkulation>
<artikel>
<name>Digitaldruck</name>
<kommentar>Loseblattsammlung DIN A4 </kommentar>
<option id="nutzen" name="nutzen" type="Hidden" default="2"/>
<option id="blattflaeche" name="blattflaeche" type="Hidden" default="0.06237"/>
<option id="drbginhalt" name="Druckbogen Inhalt" type="Hidden" default="0" amount="0">
<auflage>
<grenze formel="$Vauflage$V*$Vanzblatt$V/$Vnutzen$V">1-</grenze>
</auflage>
</option>
<precalc>
<calc name="10">
<auflage>10</auflage>
</calc>
<calc name="50">
<auflage>50</auflage>
</calc>
<calc name="100">
<auflage>100</auflage>
</calc>
<calc name="200">
<auflage>200</auflage>
</calc>
<calc name="300">
<auflage>300</auflage>
</calc>
<calc name="500">
<auflage>500</auflage>
</calc>
</precalc>
<option id="weight" name="weight" type="Hidden" default="0">
<auflage>
<grenze formel="($Vauflage$V*$Vanzblatt$V*$Vblattflaeche$V*$Vpapier_grammatur$V)+($Vauflage$V*$Vblattflaeche$V*$Vpapierum1_grammatur$V)+($Vauflage$V*$Vblattflaeche$V*$Vpapierum2_grammatur$V)+($Vauflage$V*$Vblattflaeche$V*$Vfolieum_grammatur$V)">1-</grenze>
</auflage>
</option>
<option id="auflage" name="Anzahl Sammlungen" type="Input" width="3" default="100" require="true" help="Geben Sie hier bitte Ihre Auflage ein">
</option>
<option id="anzblatt" name="Anz. Blätter pro Sammlung" type="Input" width="3" default="20" require="true" help="Geben Sie hier bitte die Anzahl Blätter ein">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Vpapier_value$V)+$Ploseblattfix$P">1-</grenze>
</auflage>
</option>
<option id="papier" name="Papier" type="Select" mode="papierdb" container="PK-LB2" default="10080" help="Aus welchem Papier soll Ihr Produkt bestehen?">
</option>
<option id="druck" name="Druck" type="Select" default="40" help="Wie sollen die Blätter bedruckt werden?">
<opt id="44" name="4/4-farbig (alle Blätter beidseitig farbig bedruckt)">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Ploseblatt44g$P)">1-</grenze>
</auflage>
</opt>
<opt id="40" name="4/0-farbig (alle Blätter einseitig farbig, Rückseite unbedruckt)">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Ploseblatt40g$P)">1-</grenze>
</auflage>
</opt>
<opt id="11" name="1/1-farbig (alle Blätter beidseitig schwarz bedruckt)">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Ploseblatt11g$P)">1-</grenze>
</auflage>
</opt>
<opt id="10" name="1/0-farbig (alle Blätter einseitig schwarz, Rückseite unbedruckt)">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Ploseblatt10g$P)">1-</grenze>
</auflage>
</opt>
<opt id="1411" name="Farb- u. Schwarzseiten gemischt (alle Blätter beidseitig bedruckt)">
<auflage>
<grenze formel="($Vauflage$V*($Vanzfarbseit$V/2/$Vnutzen$V)*$Ploseblatt44g$P)+(($Vauflage$V*(($Vanzblatt$V*2)-$Vanzfarbseit$V)/2/$Vnutzen$V)*$Ploseblatt1414d11g$P)+$Ploseblattgemischtfix$P">1-</grenze>
</auflage>
</opt>
<opt id="1410" name="Farb- u. Schwarzseiten gemischt (alle Blätter einseitig bedruckt)">
<auflage>
<grenze formel="($Vauflage$V*($Vanzfarbseit$V/$Vnutzen$V)*$Ploseblatt40g$P)+(($Vauflage$V*($Vanzblatt$V-$Vanzfarbseit$V)/$Vnutzen$V)*$Ploseblatt1414d10g$P)+$Ploseblattgemischtfix$P">1-</grenze>
</auflage>
</opt>
</option>
<option id="anzfarbseit" name="Anzahl Farbseiten" type="Input" width="3" default="10" require="true" help="Geben Sie hier bitte die Anzahl der farbig gedruckten Seiten ein">
<druck>
<grenze>1410-</grenze>
</druck>
</option>
<option id="angabefarbseiten" name="Welche Seiten werden farbig gedruckt" type="Input" width="3" default="1,2,3,4 hier bitte die Seitenzahlen der Farbseiten angeben " help="Bitte geben Sie hier die Seiten an, die farbig gedruckt werden sollen. Diese müssen mit Komma getrennt werden.">
<druck>
<grenze>1410-</grenze>
</druck>
</option>
<option id="papierum1" name="Papier Deckblatt" type="Select" mode="papierdb" container="PK-LB-Deck2" default="100" help="Aus welchem Papier sollen die Deckblätter bestehen?">
</option>
<option id="druckum1" name="Druck Deckblatt" type="Select" default="00fdeck" help="Wie soll Ihr Deckblatt bedruckt werden?">
<opt id="00fdeck" name="Deckblatt unbedruckt">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Vpapierum1_value$V*2)">1-</grenze>
</auflage>
</opt>
<opt id="40fdeck" name="Deckblatt 4/0-farbig (einseitig farbig, Rückseite unbedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt40$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum1_value$V)+$Ploseblattdeckfix$P">1-</grenze>
</auflage>
</opt>
<opt id="44fdeck" name="Deckblatt 4/4-farbig (beidseitig farbig bedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt44$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum1_value$V)+$Ploseblattdeckfix$P">1-</grenze>
</auflage>
</opt>
<opt id="10fdeck" name="Deckblatt 1/0-farbig (einseitig schwarz, Rückseite unbedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt10$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum1_value$V)+$Ploseblattdeckfix$P">1-</grenze>
</auflage>
</opt>
<opt id="11fdeck" name="Deckblatt 1/1-farbig (beidseitig schwarz bedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt11$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum1_value$V)+$Ploseblattdeckfix$P">1-</grenze>
</auflage>
</opt>
<grenzen>
<papierum1>
<grenze>1000-</grenze>
</papierum1>
</grenzen>
</option>
<option id="papierum2" name="Papier Schlussblatt" type="Select" mode="papierdb" container="PK-LB-Schluss2" default="101" help="Aus welchem Papier sollen die Schlussblätter bestehen?">
</option>
<option id="druckum2" name="Druck Schlussblatt" type="Select" default="00fschluss" help="Wie soll Ihr Schlussblatt bedruckt werden?">
<opt id="00fschluss" name="Schlussblatt unbedruckt">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Vpapierum2_value$V*2)">1-</grenze>
</auflage>
</opt>
<opt id="40fschluss" name="Schlussblatt 4/0-farbig (einseitig farbig, Rückseite unbedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt40$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum2_value$V)+$Ploseblattschlussfix$P">1-</grenze>
</auflage>
</opt>
<opt id="44fschluss" name="Schlussblatt 4/4-farbig (beidseitig farbig bedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt44$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum2_value$V)+$Ploseblattschlussfix$P">1-</grenze>
</auflage>
</opt>
<opt id="10fschluss" name="Schlussblatt 1/0-farbig (einseitig schwarz, Rückseite unbedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblatt10$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum2_value$V)+$Ploseblattschlussfix$P">1-</grenze>
</auflage>
</opt>
<opt id="11fschluss" name="Schlussblatt 1/1-farbig (beidseitig schwarz bedruckt)">
<auflage>
<grenze formel="(($Vauflage$V/2)*$Ploseblatt11$P)+(($Vauflage$V/$Vnutzen$V)*$Vpapierum2_value$V)+$Ploseblattschlussfix$P">1-</grenze>
</auflage>
</opt>
<grenzen>
<papierum2>
<grenze>1000-</grenze>
</papierum2>
</grenzen>
</option>
<option id="sortierung" name="Sortierung der Sammlungen" type="Select" default="12345" help="Wie wollen Sie Ihre Loseblattsammlungen sortiert haben?">
<opt id="12345" name="sortiert: 1,2,3,4,5 | 1,2,3,4,5 ... (Deck-/Schlussblatt gesondert)">
<auflage>
<grenze formel="(($Vauflage$V/$Vnutzen$V)*$Ploseblattzwisch$P)">1-</grenze>
</auflage>
</opt>
<opt id="112233" name="sortenweise: 11111 | 22222 | 33333, ...">
<auflage>
<grenze formel="(($Vanzblatt$V/$Vnutzen$V)*$Ploseblattzwisch$P)">1-</grenze>
</auflage>
</opt>
</option>
<option id="lochen" name="Lochung" type="Select" default="ohne" help="Sollen die Blätter gelocht werden?">
<opt id="ohne" name="- - -">
</opt>
<opt id="2loch" name="mit 2-fach LOCHUNG an der langen Seite">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/250)*$Plochen2var$P)+$Plochenfix$P">1-</grenze>
</auflage>
</opt>
<opt id="2loch1" name="mit 2-fach LOCHUNG an der kurzen Seite">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/250)*$Plochen2var$P)+$Plochenfix$P">1-</grenze>
</auflage>
</opt>
<opt id="4loch" name="mit 4-fach LOCHUNG an der langen Seite">
<auflage>
<grenze formel="((($Vauflage$V*$Vanzblatt$V)/250)*$Plochen4var$P)+$Plochenfix$P">1-</grenze>
</auflage>
</opt>
</option>
<option id="option" name="Option" type="Select" default="trennblatt" help="Wie sollen die Sammlungen getrennt werden?">
<opt id="trennblatt" name="Sammlungen mit Trennblatt trennen">
<auflage>
<grenze formel="($Vauflage$V/2)*0">1-</grenze>
</auflage>
</opt>
<opt id="banderole" name="Sammlungen einzeln BANDEROLIEREN">
<auflage>
<grenze formel="$Vauflage$V*$Ploseblattbanderole$P">1-</grenze>
</auflage>
</opt>
<opt id="einschweissen" name="Sammlungen einzeln EINSCHWEISSEN">
<auflage>
<grenze formel="$Vauflage$V*$Ploseblatteinschweis$P">1-</grenze>
</auflage>
</opt>
</option>
<option id="heften" name="Klammerheftung" type="Select" default="ohne" help="Soll die Loseblattsammlung geklammert werden?">
<opt id="ohne" name="- - -">
</opt>
<opt id="1heft" name="oben links 1 x KLAMMERN">
<anzblatt>
<grenze formel="($Ploseblattklammf$P+$Vauflage$V*$Ploseblattklamm1$P)">1-25</grenze>
</anzblatt>
</opt>
</option>
<option id="produktion" name="Produktionszeit" type="Select" default="std" help="Entscheiden Sie, wieviel Tage wir für Ihren Auftrag einplanen dürfen - Dateneingang bis 10 Uhr">
<opt id="std" name="Standard: 3 Arbeitstage">
<auflage>
<grenze pauschale="0">1-</grenze>
</auflage>
</opt>
<opt id="exp" name="EXPRESS: am nächsten Arbeitstag versendet, Dateneingang heute bis 10 Uhr">
<auflage>
<grenze formel="$Ploseblattexpress$P+((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Ploseblattexpressauf$P)">1-</grenze>
</auflage>
</opt>
<opt id="expp" name="EXPRESS-PLUS: am gleichen Tag verschickt, Dateneingang bis 10 Uhr">
<auflage>
<grenze formel="$Ploseblattexpplus$P+((($Vauflage$V*$Vanzblatt$V)/$Vnutzen$V)*$Ploseblattexpplusauf$P)">1-</grenze>
</auflage>
</opt>
</option>
<option id="musterdruck" name="Musterdruck" type="Select" default="keinmuster" help="Sie haben hier die Möglichkeit zur Endkontrolle von Ihrem Produkt ein Muster vorab per Post zu bekommen">
<opt id="keinmuster" name="- - -">
<auflage>
<grenze pauschale="0">1-</grenze>
</auflage>
</opt>
<opt id="muster" name="MUSTERDRUCK vorab per Post schicken">
<auflage>
<grenze formel="($Ploseblattmuster$P)">1-</grenze>
</auflage>
</opt>
</option>
<option id="klima" name="Klimaneutral drucken" type="Select" default="1">
<opt id="1" name="- - -">
</opt>
<opt id="2" name="KLIMANEUTRAL gedruckt (Aufschlag 1 %)">
</opt>
</option>
<option id="klima_neutral" name="klima_neutral" type="Hidden" default="1">
<klima>
<grenze formel="round(($gesamt*0.01),2)">2</grenze>
</klima>
</option>
<option id="labeldruck" name="Klimalabel" type="Select" default="1" help="Sie können das Klimaschutzlabel ">
<grenzen>
<klima>
<grenze>2-</grenze>
</klima>
</grenzen>
<opt id="1" name="Ich benötige das Klimalabel nicht">
<auflage>
<grenze pauschale="0">1-</grenze>
</auflage>
</opt>
<opt id="2" name="Ich möchte das Klimalabel nicht auf mein Druckprodukt aufbringen, trotzdem bitte per E-Mail schicken">
<auflage>
<grenze pauschale="0">1-</grenze>
</auflage>
</opt>
<opt id="3" name="Ich möchte das Klimalabel auf meinem Druckprodukt aufbringen, dazu dieses bitte per E-Mail schicken">
<auflage>
<grenze pauschale="0">1-</grenze>
</auflage>
</opt>
</option>
<option id="schneiden" name="Sammlung beschneiden auf (mm x mm)" type="Input" width="3" default=" " help="Möchten Sie Ihre Loseblattsammlung auf ein Sonderformat beschnitten haben? Dann geben Sie hier das Endformat an.">
</option>
<option id="bezeichnung" name="Bezeichnung" type="Input" width="3" default=" " help="Hier können Sie Ihrer Drucksache einen Namen oder eine Nummer geben. Dieser erscheint auf Lieferschein und Rechnung.">
</option>
<uploads><upload id="inhalt" name="Druckdaten" description="Bitte laden sie eine PDF für den Druck hoch"/></uploads></artikel>
</kalkulation>

View File

@ -0,0 +1,4 @@
<root>
</root>

View File

@ -0,0 +1,117 @@
$formel1='0.20*$Vauflage$V/2';
$formel2='0.20*$Vauflage$V*500';
$formelflex1='($Vauflage$V*1/((300/$Vhoehe$V)*(435/$Vbreite$V)-1))';
$forbroschoa41351='(0.00758933333333333*$Vseiteno$V*$Vauflage$V)+(9.366*$Vseiteno$V)';
$forbroschoa41352='(0.00773684742857143*$Vseiteno$V*$Vauflage$V)+(5.392068*$Vseiteno$V)';
$forbroschoa41353='(0.007560687*$Vseiteno$V*$Vauflage$V)+(9.3360655*$Vseiteno$V)';
$forbroschoa41352501='(0.008732143*$Vseiteno$V*$Vauflage$V)+(9.48571425*$Vseiteno$V)';
$forbroschoa41352502='(0.008046783*$Vseiteno$V*$Vauflage$V)+(6.99752125*$Vseiteno$V)';
$forbroschoa41352503='(0.007796406*$Vseiteno$V*$Vauflage$V)+(11.82172125*$Vseiteno$V)';
$forbroschoa4901='(0.007665625*$Vseiteno$V*$Vauflage$V)+(12.54375*$Vseiteno$V)';
$forbroschoa4902='(0.007917616875*$Vseiteno$V*$Vauflage$V)+(9.79429875*$Vseiteno$V)';
$forbroschoa4903='(0.00325611826785714*$Vseiteno$V*$Vauflage$V)+(62.68934425*$Vseiteno$V)';
$forbroschoa4902501='(0.010541071375*$Vseiteno$V*$Vauflage$V)+(11.26785725*$Vseiteno$V)';
$forbroschoa4902502='(0.00906252025*$Vseiteno$V*$Vauflage$V)+(14.01235825*$Vseiteno$V)';
$forbroschoa4902503='(0.00716677175*$Vseiteno$V*$Vauflage$V)+(36.93196725*$Vseiteno$V)';
$forbroschoa4r1351='(0.00986904766666667*$Vseiteno$V*$Vauflage$V)+(12.1714285*$Vseiteno$V)';
$forbroschoa4r1352='(0.0100603804285714*$Vseiteno$V*$Vauflage$V)+(7.002337*$Vseiteno$V)';
$forbroschoa4r1353='(0.00982610340384615*$Vseiteno$V*$Vauflage$V)+(12.16065575*$Vseiteno$V)';
$forbroschoa4r1353001='(0.011270982125*$Vseiteno$V*$Vauflage$V)+(15.55803575*$Vseiteno$V)';
$forbroschoa4r1353002='(0.01100553925*$Vseiteno$V*$Vauflage$V)+(14.91122525*$Vseiteno$V)';
$forbroschoa4r1353003='(0.0122372950892857*$Vseiteno$V*$Vauflage$V)+(1.12786875*$Vseiteno$V)';
$forbroschoa5135s8='0.0468*$Vauflage$V+55';
$forbroschoa5135s12='0.0607*$Vauflage$V+72';
$forbroschoa5135s16='0.0693*$Vauflage$V+102';
$forbroschoa5135s20='0.0898*$Vauflage$V+100';
$forbroschoa5135s24='0.1008*$Vauflage$V+118';
$forbroschoa5135s28='0.1194*$Vauflage$V+127';
$forbroschoa5135s32='0.1344*$Vauflage$V+135';
$forbroschoa5135s36='0.1483*$Vauflage$V+158';
$forbroschoa5135s40='0.1623*$Vauflage$V+173';
$forbroschoa5135s44='0.1772*$Vauflage$V+188';
$forbroschoa5135s48='0.1832*$Vauflage$V+226';
$forbroschoa5135s52='0.2062*$Vauflage$V+216';
$forbroschoa5135s56='0.2204*$Vauflage$V+223';
$forbroschoa5135s60='0.2353*$Vauflage$V+225';
$forbroschoa5135s64='0.2468*$Vauflage$V+235';
$forbroschoa5135s68='0.2643*$Vauflage$V+275';
$forbroschoa5135s72='0.2786*$Vauflage$V+293';
$forbroschoa5135s76='0.2881*$Vauflage$V+363';
$forbroschoa5135s80='0.3007*$Vauflage$V+401';
$forbroschoa5135250s8='0.0688*$Vauflage$V+99';
$forbroschoa5135250s12='0.0672*$Vauflage$V+106';
$forbroschoa5135250s16='0.0814*$Vauflage$V+124';
$forbroschoa5135250s20='0.0959*$Vauflage$V+139';
$forbroschoa5135250s24='0.1103*$Vauflage$V+156';
$forbroschoa5135250s28='0.1243*$Vauflage$V+175';
$forbroschoa5135250s32='0.1391*$Vauflage$V+189';
$forbroschoa5135250s36='0.1535*$Vauflage$V+206';
$forbroschoa5135250s40='0.1676*$Vauflage$V+226';
$forbroschoa5135250s44='0.1822*$Vauflage$V+240';
$forbroschoa5135250s48='0.1964*$Vauflage$V+256';
$forbroschoa5135250s52='0.211*$Vauflage$V+272';
$forbroschoa5135250s56='0.2252*$Vauflage$V+291';
$forbroschoa5135250s60='0.2397*$Vauflage$V+307';
$forbroschoa5135250s64='0.2541*$Vauflage$V+323';
$forbroschoa5135250s68='0.2683*$Vauflage$V+340';
$forbroschoa5135250s72='0.2829*$Vauflage$V+357';
$forbroschoa5135250s76='0.2871*$Vauflage$V+487';
$forbroschoa5135250s80='0.2963*$Vauflage$V+570';
$forbroschoa590s8='0.051*$Vauflage$V+83';
$forbroschoa590s12='0.0629*$Vauflage$V+111';
$forbroschoa590s16='0.0719*$Vauflage$V+128';
$forbroschoa590s20='0.0918*$Vauflage$V+142';
$forbroschoa590s24='0.103*$Vauflage$V+147';
$forbroschoa590s28='0.1264*$Vauflage$V+160';
$forbroschoa590s32='0.1392*$Vauflage$V+159';
$forbroschoa590s36='0.1502*$Vauflage$V+251';
$forbroschoa590s40='0.1616*$Vauflage$V+262';
$forbroschoa590s44='0.1821*$Vauflage$V+273';
$forbroschoa590s48='0.194*$Vauflage$V+284';
$forbroschoa590s52='0.2063*$Vauflage$V+293';
$forbroschoa590s56='0.2191*$Vauflage$V+293';
$forbroschoa590s60='0.2319*$Vauflage$V+294';
$forbroschoa590s64='0.2453*$Vauflage$V+287';
$forbroschoa590s68='0.291*$Vauflage$V+435';
$forbroschoa590s72='0.3064*$Vauflage$V+446';
$forbroschoa590s76='0.3223*$Vauflage$V+462';
$forbroschoa590s80='0.3367*$Vauflage$V+449';
$forbroschoa590250s12='0.0769*$Vauflage$V+137';
$forbroschoa590250s16='0.0914*$Vauflage$V+160';
$forbroschoa590250s20='0.1116*$Vauflage$V+180';
$forbroschoa590250s24='0.1237*$Vauflage$V+211';
$forbroschoa590250s28='0.1461*$Vauflage$V+218';
$forbroschoa590250s32='0.1537*$Vauflage$V+266';
$forbroschoa590250s36='0.1737*$Vauflage$V+285';
$forbroschoa590250s40='0.2047*$Vauflage$V+259';
$forbroschoa590250s44='0.2158*$Vauflage$V+315';
$forbroschoa590250s48='0.2288*$Vauflage$V+343';
$forbroschoa590250s52='0.2433*$Vauflage$V+350';
$forbroschoa590250s56='0.2319*$Vauflage$V+450';
$forbroschoa590250s60='0.2308*$Vauflage$V+515';
$forbroschoa590250s64='0.231*$Vauflage$V+564';
$forbroschoa590250s68='0.2311*$Vauflage$V+613';
$forbroschoa590250s72='0.2332*$Vauflage$V+638';
$forbroschoa590250s76='0.222*$Vauflage$V+813';
$forbroschoa590250s80='0.2224*$Vauflage$V+856';
$forbroschoa5r1351='(0.005291517875*$Vseiteno$V*$Vauflage$V)+(6.69196425*$Vseiteno$V)';
$forbroschoa5r1352='(0.00535270132142857*$Vseiteno$V*$Vauflage$V)+(3.90609075*$Vseiteno$V)';
$forbroschoa5r1353='(0.00522370744230769*$Vseiteno$V*$Vauflage$V)+(6.76680325*$Vseiteno$V)';
$forbroschoa5r1353001='(0.006046875*$Vseiteno$V*$Vauflage$V)+(9.73125*$Vseiteno$V)';
$forbroschoa5r1353002='(0.00611549978571429*$Vseiteno$V*$Vauflage$V)+(8.3415015*$Vseiteno$V)';
$forbroschoa5r1353003='(0.0067658575*$Vseiteno$V*$Vauflage$V)+(0.0688525*$Vseiteno$V)';

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,561 @@
$pauschal1='25';
$pauschal2='36';
$datenemail='0';
$datenpost='4';
$datenjpg='3';
$datenandere='5';
$lackbogenfix='9';
$lackbogenfixpart='20';
$lackbogen1='0.15';
$lackbogen2='0.30';
$nummerfix='19';
$nummer1='0.005';
$barcodefix='26';
$barcode1='0.009';
$foliefix='12';
$foliem1='0.23';
$foliem2='0.46';
$folieg1='0.15';
$folieg2='0.29';
$foliesamt1='0.25';
$foliesamt2='0.49';
$einschweisfix='2';
$einschweis1='0.23';
$banderolfix='2';
$banderol1='0.12';
$lochenfix='5';
$lochen2var='0.5';
$lochen4var='0.9';
$adkrueckseite='0.69';
$adkschweiss='0.20';
$adkexpressfix='19';
$adkexpressvar='0.22';
$adkexpplusfix='29';
$adkexpplusvar='0.33';
$adkemail='0';
$adkmuster='21';
$adkmusterkarton='9';
$aufkdatenandere='5';
$aufkdigf1='10';
$aufkdigsorte='5';
$aufkdig40='0.11';
$aufkdig10='0.04';
$aufkmuster='9';
$aufkexpress='10';
$aufkexpplus='15';
$aufkdigschlitzfix='7';
$aufkdigschlitz='0.02';
$biergast40fix='0';
$biergast44fix='0';
$biergastp1='1.00';
$blockoffsetf1='5.1';
$blockoffsetp1='1.01';
$briefoffsetf1='10';
$briefoffsetp1='1.01';
$briefoffsetf2='20';
$briefoffsetp2='1.15';
$briefdatenjpg='3';
$briefdatenandere='5';
$briefdatenemail='0';
$briefdatenpost='4';
$briefdigf1='12';
$briefdig44='0.17';
$briefdig40='0.10';
$briefdig41='0.13';
$briefdig11='0.06';
$briefdig10='0.03';
$briefmuster='9';
$briefexpress='9';
$briefexpplus='14';
$briefuoffsetf1='19';
$briefuoffsetp1='1.05';
$digbogenfix='9';
$digbogensortfix='3';
$digbogen44='0.17';
$digbogen40='0.10';
$digbogen41='0.13';
$digbogen55='0.53';
$digbogen54='0.35';
$digbogen50='0.28';
$digbogen11='0.042';
$digbogen10='0.021';
$digbogenmuster='11';
$digbogenexpress='14';
$digbogenexpplus='19';
$eddoseeink='0.45';
$eddoseherstw='0.45';
$eddoseherstt='0.53';
$eddosefixk='17';
$eddosep1='1.15';
$eintrittfix='8';
$eintrittsortfix='7';
$eintritt44='0.18';
$eintritt40='0.10';
$eintritt11='0.042';
$eintritt10='0.021';
$eintrittnummerfix1='19';
$eintrittnummer1='0.005';
$eintrittnummerfix2='25';
$eintrittnummer2='0.008';
$eintrittnummerfix3='29';
$eintrittnummer3='0.01';
$eintrittperfofix1='15';
$eintrittperfo1='0.01';
$eintrittperfofix2='22';
$eintrittperfo2='0.015';
$eintrittexpress='9';
$eintrittexpressproz='0.05';
$eintrittexpplus='14';
$eintrittexpplusproz='0.10';
$eintrittdatenandere='5';
$eintrittdatenjpg='2';
$eintrittmuster='8';
$etikdigf1='10';
$etiksortfix='5';
$etikdig40='0.10';
$etikdig10='0.04';
$etikmuster='7';
$etikexpress='8';
$etikexpressproz='0.05';
$etikexpplus='11';
$faltoffsetf1='5.3';
$faltoffsetp1='1.00';
$faltdatenjpg='3';
$faltdatenandere='5';
$faltdatenemail='0';
$faltdatenpost='4';
$faltdigf1='10';
$faltsortfix='4';
$faltdig44='0.17';
$faltdig40='0.10';
$faltdig41='0.15';
$faltdig11='0.042';
$faltdig10='0.021';
$faltdig54='0.31';
$faltdig50='0.24';
$faltfixfalz1='5';
$faltvarfalz1='0.01';
$faltfixnutfalz1='6';
$faltvarnutfalz1='0.05';
$faltfixnutplan1='5';
$faltvarnutplan1='0.02';
$faltfixfalz2='7';
$faltvarfalz2='0.015';
$faltfixnutfalz2='10';
$faltvarnutfalz2='0.08';
$faltfixnutplan2='5';
$faltvarnutplan2='0.05';
$faltfixfalz3='10';
$faltvarfalz3='0.020';
$faltfixnutfalz3='15';
$faltvarnutfalz3='0.10';
$faltfixnutplan3='8';
$faltvarnutplan3='0.08';
$faltexpress='10';
$faltexpressproz='0.05';
$faltexpplus='15';
$faltexpplusproz='0.08';
$faltdatenjpg='3';
$faltdatenandere='5';
$faltschneidfix='7';
$faltschneidvar='3';
$faltmuster='9';
$flyoffsetf1='5.1';
$flyoffsetp1='1.00';
$flydatenjpg='3';
$flydatenandere='5';
$flydatenemail='0';
$flydatenpost='4';
$flydigf1='10';
$flysortfix='2';
$flydig44='0.16';
$flydig40='0.085';
$flydig41='0.14';
$flydig11='0.040';
$flydig10='0.023';
$flymuster='8';
$flyexpress='8';
$flyexpressproz='0.05';
$flyexpplus='11';
$flyexpplusproz='0.08';
$flydigfbogen='8';
$flyschneidfix='4';
$flyschneidvar='2';
$flystanzoffsetf1='40';
$flystanzoffsetstanz='0.014';
$flystanzoffsetp1='1.03';
$flystanzdigf1='28';
$flystanzdigstanz='0.011';
$flystanzdig44='0.16';
$flystanzdig40='0.085';
$flystanzdig41='0.14';
$flystanzdig11='0.08';
$flystanzdig10='0.04';
$flystanzmuster='12';
$flystanzexpress='15';
$flystanzexpressproz='0.005';
$flystanzexpplus='22';
$flystanzexpplusproz='0.01';
$flystanzdigfbogen='8';
$fotokihrentwurffix='20';
$fotokihrentwurfdruck='0.09';
$fotokbindtisch='1.10';
$fotokf1='35';
$fotok40='0.12';
$fotokbinda3h='0.90';
$fotokbinda3q='1.10';
$fotokbinda4='0.50';
$fotokindex='1.4';
$fotokfolie='0.6';
$fotokfoliefix='1';
$fotokschweiss='0.21';
$fotokschweissfix='1';
$fotokexpress='15';
$fotokexpressvar='0.23';
$fotokemail='2';
$fotokpost='2';
$kartdigf1='12';
$kartsortfix='4';
$kartfixnutplan1='5';
$kartvarnutplan1='0.04';
$kartdig44='0.20';
$kartdig40='0.10';
$kartdig41='0.15';
$kartdig11='0.06';
$kartdig10='0.03';
$kartexpress='9';
$kartexpplus='14';
$kartdatenandere='5';
$kartschneidfix='7';
$kartschneidvar='3';
$kartmuster='9';
$klebebindfix='35';
$klebebindgemischtfix='8';
$klebebind='0.60';
$klebebind44='0.15';
$klebebind40='0.10';
$klebebind54='0.31';
$klebebind50='0.24';
$klebebind11='0.042';
$klebebind10='0.022';
$klebebind1414druck11='0.062';
$klebebind1414druck10='0.032';
$kle1414druck11='0.062';
$klebebindmuster='14';
$klebebindexpress='15';
$klebebindexpressproz='0.10';
$klebebindexpplus='19';
$klebebindexpplusproz='0.20';
$klebebindeinschweiss='0.19';
$loseblattfix='15';
$loseblattdeckfix='6';
$loseblattschlussfix='6';
$loseblattgemischtfix='8';
$loseblattvar='0.05';
$loseblattzwisch='0.03';
$loseblatt44='0.155';
$loseblatt40='0.080';
$loseblatt41='0.14';
$loseblatt11='0.042';
$loseblatt10='0.022';
$loseblatt1414d10='0.032';
$loseblatt1414d11='0.062';
$loseblatt44g='0.140';
$loseblatt40g='0.070';
$loseblatt11g='0.031';
$loseblatt10g='0.018';
$loseblatt1414d10g='0.028';
$loseblatt1414d11g='0.052';
$loseblattmuster='9';
$loseblattexpress='11';
$loseblattexpressauf='0.005';
$loseblattexpplus='16';
$loseblattexpplusauf='0.008';
$loseblattdatenjpg='5';
$loseblattdatenandere='8';
$loseblattbanderole='0.15';
$loseblatteinschweis='0.19';
$loseblattklammf='5';
$loseblattklamm1='0.05';
$pdoseeink='0.92';
$pdoseherstw='0.46';
$pdoseherstt='0.51';
$pdosefixk='17';
$pdosep1='1.15';
$pkmailingdigf='40';
$pkmailingdig44='0.16';
$pkmailingdig41='0.16';
$pkmailingdig11='0.08';
$pkmailingdig10='0.05';
$pkmailingexpress='13';
$pkmailingexpressproz='0.05';
$pkmailingexpplus='19';
$pkmailingexpplusproz='0.10';
$pkmailingdatenjpg='4';
$pkmailingdatenandere='10';
$pkmailingmuster='9';
$pkmailingsort='5';
$planenf1='5';
$planenp1='1.01';
$saumschmal='1.9';
$saumrund='4.6';
$planefix='6';
$planevar='1.04';
$planesort='5';
$poesschmal='0.5';
$poeslang='0.95';
$poesrund='1.1';
$plakoffsetf1='5';
$plakoffsetp1='1.03';
$plottdigf1='12';
$plottdigp1='1.10';
$plakdigf1='10';
$plakdig44='0.18';
$plakdig40='0.10';
$plakdig11='0.04';
$plakdig10='0.02';
$postdigf1='10';
$postdigsortfix='5';
$postdig54='0.30';
$postdig44='0.18';
$postdig50='0.22';
$postdig40='0.10';
$postdig51='0.26';
$postdig41='0.14';
$postdig11='0.06';
$postdig10='0.03';
$postmuster='8';
$postexpress='9';
$postexpressproz='0.05';
$postexpplus='14';
$postexpplusproz='0.10';
$postdigfbogen='8';
$postoffsetf1='10';
$postoffsetp1='1.10';
$postdatenandere='5';
$postdatenjpg='3';
$rbroschoffsf1='0';
$rbroschoffsp1='1.00';
$rbroschfixproseite135a4='9.00';
$rbroschfixvomfix135a4='38.00';
$rbroschfixvon500135a4='10.00';
$rbroschvarproseitevon500135a4='3.75';
$rbroschoffauf1='1.03';
$rbroschoffauf2='1.02';
$rbroschoffauf4='1.04';
$rbroschoffauf6='1.06';
$rbroschoffauf8='1.08';
$rbroschoffauf10='1.10';
$rbroschdigf1='20';
$rbroschgemischtfix='10';
$szrbroschdigf1='15';
$rbroschdig44='0.14';
$rbroschdig54='0.31';
$rbroschdig50='0.24';
$rbroschdig11='0.042';
$rbroschdig40='0.10';
$rbroschdig10='0.021';
$rbroschdig1414dr11='0.062';
$rbroschumfix='11';
$persofix1='69';
$persovar1='0.01';
$persofix2='99';
$persovar2='0.02';
$rbroschklammer1='0.055';
$rbroschklammer4='0.13';
$rbroschringklammer1='0.19';
$rbroschringklammer4='0.24';
$rbroschklammerfix1='5';
$rbroschklammerfix2='8';
$rbroschklammerfix4='12';
$rbroschexpress='12';
$rbroschexpressauf='0.02';
$rbroschexpplus='18';
$rbroschexpplusauf='0.05';
$rbroschdatenandere='11';
$rbroschmuster='14';
$schokoverfix='8';
$schokoversortfix='8';
$schokovervariabel='0.65';
$schokoverkarton='0.18';
$schokovermilka1='0.85';
$schokoverlindt1='1.25';
$schokovergut1='1.00';
$schokover44='0.20';
$schokover40='0.12';
$schokover50='0.27';
$schokover54='0.35';
$schokoverexpress='9';
$schokoverexpressproz='0.1';
$schokoverexpplus='16';
$schokoverexpplusproz='0.15';
$schokoschweiss='0.17';
$schokovermuster='8';
$spiralfix='10';
$spiralumfix='9';
$spiralgemischtfix='9';
$spiraldeckfix='5';
$spiralschlussfix='5';
$spiralbind='0.5';
$spiralbindungfix='0.50';
$spiralbindungvar='0.001';
$spiral44='0.165';
$spiral40='0.09';
$spiral11='0.042';
$spiral10='0.024';
$spiral00='0.005';
$spiral1414d11='0.062';
$spiral1414d10='0.034';
$abheftstreifen='0.21';
$spiralmuster='9';
$spiralexpress='11';
$spiralexpressauf='0.11';
$spiralexpplus='17';
$spiralexpplusauf='0.16';
$spiraldatenjpg='5';
$spiraldatenandere='8';
$cspiralfix='15';
$cspiralgemischtfix='9';
$cspiralumfix='9';
$cspiraldeckfix='7';
$cspiralschlussfix='7';
$cspiralbindungfix='0.5';
$cspiralbindungvar='0.003';
$cspiral44='0.165';
$cspiral40='0.09';
$cspiral11='0.042';
$cspiral10='0.024';
$cspiral1414d11='0.062';
$cspiral1414d10='0.034';
$schulspiralbindungfix='0.5';
$schulspiralgemischtfix='8';
$schulspiral44='0.165';
$schulspiral40='0.09';
$schulspiral11='0.041';
$schulspiral10='0.023';
$schulspiral1414d11='0.061';
$schulspiral1414d10='0.033';
$schulpapiersorten='0.2';
$schulpapiersortenfix='12';
$cspiraltaschea5='0.33';
$cspiraltaschea4='0.52';
$cspiralgummia5='0.22';
$cspiralgummia4='0.38';
$cspiralmuster='9';
$schulpmuster='0';
$cspiralexpress='11';
$cspiralexpressauf='0.11';
$cspiralexpplus='17';
$cspiralexpplusauf='0.16';
$stempelfix='7';
$stempelp1='1.4';
$stempelprofix='7';
$stempelp2='1.3';
$stempelprifix='7';
$stempelp3='1.3';
$tischdatenandere='5';
$tischdigfix='18';
$tischdig40='0.20';
$tischmuster='8';
$tischexpress='12';
$tischexpressproz='0.05';
$tischexpplus='14';
$tischexpplusproz='0.10';
$tuerdigf1='10';
$tuersortfix='5';
$tuerdig44='0.16';
$tuerdig40='0.085';
$tuerdig41='0.14';
$tueroffsetf1='25';
$tueroffsetp1='1.05';
$tuerstanza4fix1='15';
$tuerstanza4var1='14';
$visidigfix='15';
$visidigsortfix='5';
$visidig44='0.20';
$visidig40='0.10';
$visioffsetfix='10';
$visioffsetp1='1.10';
$visieckenvar='1';
$visieckenfix='4.5';
$wkalfix='19';
$wkalsortfix='6';
$wkaldig40='0.46';
$wkalexpress='12';
$wkalmuster='13';

View File

@ -221,6 +221,34 @@ class PaperRepostory implements ObjectRepository
$papier['50135']->setDescription1('135 g/m² Bilderdruck glänzend (FSC-zertifiziert)');
$papier['50135']->setDescription2('135 gloss');
$papier['100'] = new Paper();
$papier['100']->setArtNr('100');
$papier['100']->setGrammatur('0');
$papier['100']->setPreis('0');
$papier['100']->setDescription1('ohne Deckblatt');
$papier['100']->setDescription2('ohne Deckblatt');
$papier['101'] = new Paper();
$papier['101']->setArtNr('101');
$papier['101']->setGrammatur('0');
$papier['101']->setPreis('0');
$papier['101']->setDescription1('ohne Deckblatt');
$papier['101']->setDescription2('ohne Deckblatt');
$papier['10080'] = new Paper();
$papier['10080']->setArtNr('10080');
$papier['10080']->setGrammatur('80');
$papier['10080']->setPreis('0.0173');
$papier['10080']->setDescription1('80 g/m² Naturpapier (Oberfläche wie Kopierpapier, hochweiß, FSC-zert.)');
$papier['10080']->setDescription2('080 Prep');
$papier['10090'] = new Paper();
$papier['10090']->setArtNr('10090');
$papier['10090']->setGrammatur('90');
$papier['10090']->setPreis('0.0196');
$papier['10090']->setDescription1('90 g/m² Naturpapier (Oberfläche wie Kopierpapier, hochweiß, FSC-zert.)');
$papier['10090']->setDescription2('090 Prep');
return $papier[$criteria['artNr']];
}