Fixes
This commit is contained in:
parent
ebefe0a2a9
commit
de4406d603
@ -55,12 +55,12 @@ class CalcValues
|
|||||||
/** @var Select\Opt $opt */
|
/** @var Select\Opt $opt */
|
||||||
foreach($option->getOptions() as $opt) {
|
foreach($option->getOptions() as $opt) {
|
||||||
if($opt->isValid() && $opt->isSelected()) {
|
if($opt->isValid() && $opt->isSelected()) {
|
||||||
$price = $this->parseEdgeCollection($price, $option, $opt->getEdgesCollectionContainer());
|
$price = $this->parseEdgeCollection($price, $option->getId(), $opt->getEdgesCollectionContainer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->parseEdgeCollection($price, $option, $option->getEdgesCollectionContainer());
|
$this->parseEdgeCollection($price, $option->getId(), $option->getEdgesCollectionContainer());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,11 +69,11 @@ class CalcValues
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $price
|
* @param $price
|
||||||
* @param Base $option
|
* @param id
|
||||||
* @param EdgeCollectionContainer $container
|
* @param EdgeCollectionContainer $container
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
private function parseEdgeCollection($price, $option, EdgeCollectionContainer $container)
|
private function parseEdgeCollection($price, $id, EdgeCollectionContainer $container, $isSub = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
$calcValue1 = 0;
|
$calcValue1 = 0;
|
||||||
@ -99,9 +99,16 @@ class CalcValues
|
|||||||
if($edge->getCalcValue() != "") {
|
if($edge->getCalcValue() != "") {
|
||||||
$cv = $this->formelCalc->parse($edge->getCalcValue());
|
$cv = $this->formelCalc->parse($edge->getCalcValue());
|
||||||
eval('$cv = ' . $cv . ';');
|
eval('$cv = ' . $cv . ';');
|
||||||
$this->engine->addCalcVariable($option->getId() . '_' . $collection->getName(), $cv);
|
if($isSub) {
|
||||||
}
|
$this->engine->addCalcVariable($id, $cv);
|
||||||
|
}else{
|
||||||
|
$this->engine->addCalcVariable($id . '_' . $collection->getName(), $cv);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if($edge->getEdgesCollectionContainer()->count() > 0) {
|
||||||
|
$this->parseEdgeCollection($price, $id . '_' . $collection->getName(), $edge->getEdgesCollectionContainer(), true);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,19 +38,28 @@ class Edge
|
|||||||
$edge->setPauschale(floatval($this->node->attributes()->pauschale));
|
$edge->setPauschale(floatval($this->node->attributes()->pauschale));
|
||||||
}
|
}
|
||||||
|
|
||||||
$value = (string)$this->node;
|
if(isset($this->node->attributes()->value) && $this->node->children()) {
|
||||||
if(preg_match("/^([0-9a-zA-Z_]+)$/", trim($value), $regs)) {
|
$edge->setValues([(string)$this->node->attributes()->value]);
|
||||||
$edge->setValues([$regs[1]]);
|
if($this->node->children()) {
|
||||||
}elseif(preg_match("/^([0-9]+)-([0-9]+)$/", trim($value), $regs)) {
|
$edgeCollectionContainerParser = new EdgeCollectionContainer($this->node);
|
||||||
$edge->setRegion(true);
|
$edge->setEdgesCollectionContainer($edgeCollectionContainerParser->parse());
|
||||||
$edge->setFrom(intval($regs[1]));
|
}
|
||||||
$edge->setTo(intval($regs[2]));
|
}else {
|
||||||
}elseif(preg_match("/^([0-9]+)-$/", trim($value), $regs)) {
|
|
||||||
$edge->setRegion(true);
|
$value = (string)$this->node;
|
||||||
$edge->setFrom(intval($regs[1]));
|
if (preg_match("/^([0-9a-zA-Z_]+)$/", trim($value), $regs)) {
|
||||||
}elseif(strpos(trim($value), ",") !== false) {
|
$edge->setValues([$regs[1]]);
|
||||||
$values = explode(",", trim($value));
|
} elseif (preg_match("/^([0-9]+)-([0-9]+)$/", trim($value), $regs)) {
|
||||||
$edge->setValues($values);
|
$edge->setRegion(true);
|
||||||
|
$edge->setFrom(intval($regs[1]));
|
||||||
|
$edge->setTo(intval($regs[2]));
|
||||||
|
} elseif (preg_match("/^([0-9]+)-$/", trim($value), $regs)) {
|
||||||
|
$edge->setRegion(true);
|
||||||
|
$edge->setFrom(intval($regs[1]));
|
||||||
|
} elseif (strpos(trim($value), ",") !== false) {
|
||||||
|
$values = explode(",", trim($value));
|
||||||
|
$edge->setValues($values);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $edge;
|
return $edge;
|
||||||
|
|||||||
@ -14,6 +14,14 @@ class Edge
|
|||||||
|
|
||||||
protected $region = false;
|
protected $region = false;
|
||||||
|
|
||||||
|
/** @var EdgeCollectionContainer */
|
||||||
|
protected $edgesCollectionContainer = null;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->edgesCollectionContainer = new EdgeCollectionContainer();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@ -168,4 +176,20 @@ class Edge
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return EdgeCollectionContainer
|
||||||
|
*/
|
||||||
|
public function getEdgesCollectionContainer()
|
||||||
|
{
|
||||||
|
return $this->edgesCollectionContainer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param EdgeCollectionContainer $edgesCollectionContainer
|
||||||
|
*/
|
||||||
|
public function setEdgesCollectionContainer($edgesCollectionContainer)
|
||||||
|
{
|
||||||
|
$this->edgesCollectionContainer = $edgesCollectionContainer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
48
tests/Complex/SecondTest.php
Normal file
48
tests/Complex/SecondTest.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
namespace PSC\Library\Calc\Tests\Complex;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
use PSC\Library\Calc\Article;
|
||||||
|
use PSC\Library\Calc\Engine;
|
||||||
|
use PSC\Library\Calc\PaperContainer;
|
||||||
|
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
|
||||||
|
|
||||||
|
class SecondTest 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__ . '/../TestFiles/Complex2/papierContainer.xml')));
|
||||||
|
|
||||||
|
$this->engine = new Engine();
|
||||||
|
$this->engine->setPaperContainer($paperContainer);
|
||||||
|
$this->engine->setPaperRepository($repository);
|
||||||
|
$this->engine->setFormulas(file_get_contents(__DIR__.'/../TestFiles/Complex2/formels.txt'));
|
||||||
|
$this->engine->setParameters(file_get_contents(__DIR__.'/../TestFiles/Complex2/parameters.txt'));
|
||||||
|
|
||||||
|
$this->engine->loadString(file_get_contents(__DIR__ . '/../TestFiles/Complex2/1.xml'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
$this->engine = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIfArticleCountIsCorrect()
|
||||||
|
{
|
||||||
|
$this->assertEquals(1, $this->engine->getArticles()->Count());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIfDefaultPriceIsOk()
|
||||||
|
{
|
||||||
|
$this->assertEquals(328.53 , $this->engine->getPrice());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -170,6 +170,14 @@ class PaperRepostory implements ObjectRepository
|
|||||||
$papier['CONG300_1']->setDescription1('300 g/m² Naturkarton gerippt hochweiß');
|
$papier['CONG300_1']->setDescription1('300 g/m² Naturkarton gerippt hochweiß');
|
||||||
$papier['CONG300_1']->setDescription2('300 g/m² Conqueror gerippt diamantweiß');
|
$papier['CONG300_1']->setDescription2('300 g/m² Conqueror gerippt diamantweiß');
|
||||||
|
|
||||||
|
$papier['grasnatur85'] = new Paper();
|
||||||
|
$papier['grasnatur85']->setArtNr('grasnatur85');
|
||||||
|
$papier['grasnatur85']->setGrammatur('85');
|
||||||
|
$papier['grasnatur85']->setPreis('160');
|
||||||
|
$papier['grasnatur85']->setVolume('1.2');
|
||||||
|
$papier['grasnatur85']->setDescription1('Graspapier 50% Faseranteil (85 g/m²)');
|
||||||
|
$papier['grasnatur85']->setDescription2('Graspapier 50% Faseranteil (85 g/m²)');
|
||||||
|
|
||||||
|
|
||||||
return $papier[$criteria['artNr']];
|
return $papier[$criteria['artNr']];
|
||||||
|
|
||||||
|
|||||||
45
tests/Recursiv/FirstTest.php
Normal file
45
tests/Recursiv/FirstTest.php
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
namespace PSC\Library\Calc\Tests\Recursiv;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
use PSC\Library\Calc\Article;
|
||||||
|
use PSC\Library\Calc\Engine;
|
||||||
|
use PSC\Library\Calc\PaperContainer;
|
||||||
|
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
|
||||||
|
|
||||||
|
class SecondTest 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__ . '/../TestFiles/Recursiv/papierContainer.xml')));
|
||||||
|
|
||||||
|
$this->engine = new Engine();
|
||||||
|
$this->engine->setPaperContainer($paperContainer);
|
||||||
|
$this->engine->setPaperRepository($repository);
|
||||||
|
$this->engine->setFormulas(file_get_contents(__DIR__.'/../TestFiles/Recursiv/formels.txt'));
|
||||||
|
$this->engine->setParameters(file_get_contents(__DIR__.'/../TestFiles/Recursiv/parameters.txt'));
|
||||||
|
|
||||||
|
$this->engine->loadString(file_get_contents(__DIR__ . '/../TestFiles/Recursiv/1.xml'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
$this->engine = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIfArticleCountIsCorrect()
|
||||||
|
{
|
||||||
|
$this->assertEquals(1, $this->engine->getArticles()->Count());
|
||||||
|
$this->engine->getPrice();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
565
tests/TestFiles/Complex2/1.xml
Normal file
565
tests/TestFiles/Complex2/1.xml
Normal file
@ -0,0 +1,565 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<kalkulation>
|
||||||
|
<artikel>
|
||||||
|
<name>Plakate</name>
|
||||||
|
<kommentar/>
|
||||||
|
<uploads>
|
||||||
|
<upload id="inhalt" name="Druckdaten" description="Bitte laden sie eine PDF für den Druck hoch"/>
|
||||||
|
</uploads>
|
||||||
|
|
||||||
|
<option id="ecoprint" name="" type="Text" default="">
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Beginn der Eingabemaske -->
|
||||||
|
|
||||||
|
<option id="auflage" name="Auflage" type="Select" default="100">
|
||||||
|
<opt id="5" name="5 Exemplare"></opt>
|
||||||
|
<opt id="10" name="10 Exemplare"></opt>
|
||||||
|
<opt id="25" name="25 Exemplare"></opt>
|
||||||
|
<opt id="50" name="50 Exemplare"></opt>
|
||||||
|
<opt id="100" name="100 Exemplare"></opt>
|
||||||
|
<opt id="200" name="200 Exemplare"></opt>
|
||||||
|
<opt id="300" name="300 Exemplare"></opt>
|
||||||
|
<opt id="400" name="400 Exemplare"></opt>
|
||||||
|
<opt id="500" name="500 Exemplare"></opt>
|
||||||
|
<opt id="750" name="750 Exemplare"></opt>
|
||||||
|
<opt id="1000" name="1.000 Exemplare"></opt>
|
||||||
|
<opt id="1500" name="1.500 Exemplare"></opt>
|
||||||
|
<opt id="2000" name="2.000 Exemplare"></opt>
|
||||||
|
<opt id="3000" name="3.000 Exemplare"></opt>
|
||||||
|
<opt id="5000" name="5.000 Exemplare"></opt>
|
||||||
|
<opt id="7500" name="7.500 Exemplare"></opt>
|
||||||
|
<opt id="10000" name="10.000 Exemplare"></opt>
|
||||||
|
<opt id="12500" name="12.500 Exemplare"></opt>
|
||||||
|
<opt id="15000" name="15.000 Exemplare"></opt>
|
||||||
|
<opt id="20000" name="20.000 Exemplare"></opt>
|
||||||
|
<opt id="30000" name="30.000 Exemplare"></opt>
|
||||||
|
<opt id="40000" name="40.000 Exemplare"></opt>
|
||||||
|
<opt id="50000" name="50.000 Exemplare"></opt>
|
||||||
|
<opt id="100000" name="100.000 Exemplare"></opt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<option id="format1" name="Format" type="Select" default="11">
|
||||||
|
<opt id="9" name="DIN A3 Hochformat (297 x 420 mm)"></opt>
|
||||||
|
<opt id="10" name="DIN A3 Querformat (420 x 297 mm)"></opt>
|
||||||
|
<opt id="11" name="DIN A2 Hochformat (420 x 594 mm)"></opt>
|
||||||
|
<opt id="12" name="DIN A2 Querformat (594 x 420 mm)"></opt>
|
||||||
|
<opt id="13" name="DIN A1 Hochformat (594 x 840 mm)"></opt>
|
||||||
|
<opt id="14" name="DIN A1 Querformat (840 x 594 mm)"></opt>
|
||||||
|
<opt id="15" name="Hochformat 700 x 1000 mm"></opt>
|
||||||
|
<opt id="16" name="Querformat 1000 x 700 mm)"></opt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="seitenzahl" name="Seitenzahl" type="Hidden" default="2">
|
||||||
|
<opt id="2" name="2 Seiten"></opt>
|
||||||
|
<opt id="4" name="4 Seiten"></opt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<option id="druckfarben_inhalt" name="Farbigkeit" type="Select" default="1">
|
||||||
|
<opt id="1" name="4/0 Euroskala (einseitig)"/>
|
||||||
|
<opt id="2" name="4/4 Euroskala (beidseitig)"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<option id="papier" name="Papiersorte" type="Select" mode="papierdb" container="grasbriefbogen" default="grasnatur85"/>
|
||||||
|
|
||||||
|
<!-- Mit diesen Optionen wird momentan nicht gerechnet -->
|
||||||
|
|
||||||
|
<option id="dateiformat_geliefert" name="Druckdaten" type="Select" default="1">
|
||||||
|
<opt id="1" name="PDF-Datei (Standard)"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="korrekturabzug" name="Korrekturabzug" type="Select" default="1">
|
||||||
|
<opt id="1" name="per PDF (Standard)"/>
|
||||||
|
<opt id="2" name="per Laserproof"/>
|
||||||
|
<opt id="3" name="kein Korrekturabzug"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<option id="absender" name="Absenderadresse" type="Select" default="1">
|
||||||
|
<opt id="1" name="Die Grasdruckerei"/>
|
||||||
|
<opt id="2" name="Neutralversand"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="belegexemplar" name="Belegexemplar" type="Select" default="1">
|
||||||
|
<opt id="1" name="Nein"/>
|
||||||
|
<opt id="2" name="Ja"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<option id="produktionszeit" name="Produktionszeit" type="Select" default="2">
|
||||||
|
<opt id="1" name="Green (14 Tage)"/>
|
||||||
|
<opt id="2" name="Normal (7 Tage)"/>
|
||||||
|
<opt id="3" name="Express nach Rücksprache"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Ende der Eingabemaske -->
|
||||||
|
|
||||||
|
<!-- Beginn Kalkulation -->
|
||||||
|
<!-- Formatbestimmung -->
|
||||||
|
|
||||||
|
<!-- Breite für Gewichtsberechnung -->
|
||||||
|
<option id="breite" name="Seitenbreite Einzelseite" type="Hidden" default="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="105">1,3</grenze>
|
||||||
|
<grenze calc_value="148">4,5</grenze>
|
||||||
|
<grenze calc_value="210">2,6,7</grenze>
|
||||||
|
<grenze calc_value="297">8,9</grenze>
|
||||||
|
<grenze calc_value="420">10,11,12</grenze>
|
||||||
|
<grenze calc_value="594">13</grenze>
|
||||||
|
<grenze calc_value="840">14</grenze>
|
||||||
|
<grenze calc_value="700">15,16</grenze>
|
||||||
|
</format1>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Breite für Plakate -->
|
||||||
|
<option id="breite_offen" name="Breite offenes Format" type="Hidden" default="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="105">1,3</grenze>
|
||||||
|
<grenze calc_value="148">4,5</grenze>
|
||||||
|
<grenze calc_value="210">2,6,7</grenze>
|
||||||
|
<grenze calc_value="297">8,9</grenze>
|
||||||
|
<grenze calc_value="420">10</grenze>
|
||||||
|
<grenze calc_value="594">11,12,13</grenze>
|
||||||
|
<grenze calc_value="840">14</grenze>
|
||||||
|
<grenze calc_value="700">15,16</grenze>
|
||||||
|
</format1>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Breite offen (Flyer)
|
||||||
|
<option id="breite_offen" name="Breite offenes Format" type="Hidden" default="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="105*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">1,3</grenze>
|
||||||
|
<grenze calc_value="148*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">4,5</grenze>
|
||||||
|
<grenze calc_value="210*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">2,6,7</grenze>
|
||||||
|
<grenze calc_value="297*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">8,9</grenze>
|
||||||
|
<grenze calc_value="420*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">10</grenze>
|
||||||
|
<grenze calc_value="594*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">11,12,13</grenze>
|
||||||
|
<grenze calc_value="840*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">14</grenze>
|
||||||
|
<grenze calc_value="700*$Vseitenzahl$V/2*$Vdruckfarben_inhalt$V">15,16</grenze>
|
||||||
|
</format1>
|
||||||
|
</option>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Höhe -->
|
||||||
|
<option id="hoehe_offen" name="seitenhoehe" type="Hidden" default="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="105">2,4</grenze>
|
||||||
|
<grenze calc_value="148">3,6</grenze>
|
||||||
|
<grenze calc_value="210">1,5,8</grenze>
|
||||||
|
<grenze calc_value="297">7,10</grenze>
|
||||||
|
<grenze calc_value="420">9,11,12</grenze>
|
||||||
|
<grenze calc_value="594">14</grenze>
|
||||||
|
<grenze calc_value="840">13</grenze>
|
||||||
|
<grenze calc_value="1000">15,16</grenze>
|
||||||
|
</format1>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Nutzenberechnung A3 -->
|
||||||
|
|
||||||
|
<option id="nutzen_sm52" name="Nutzen SM52" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="(max((floor(320/($CVbreite_offen_format1$CV)))*(floor(470/$CVhoehe_offen_format1$CV)),(floor(470/($CVbreite_offen_format1$CV)))*(floor(320/$CVhoehe_offen_format1$CV))))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Nutzenberechnung A2 -->
|
||||||
|
|
||||||
|
<option id="nutzen_sm102" name="Nutzen SM102" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="(max((floor(720/($CVbreite_offen_format1$CV)))*(floor(1020/$CVhoehe_offen_format1$CV)),(floor(1020/($CVbreite_offen_format1$CV)))*(floor(720/$CVhoehe_offen_format1$CV))))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Nutzenauswertung: Wenn Nutzen SM52 = 0 dann Nutzen SM 102 -->
|
||||||
|
<!-- Durch diese Info wissen wir auch, auf welcher Maschine produziert wird -->
|
||||||
|
|
||||||
|
<option id="nutzen_final" name="Nutzen final" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVnutzen_sm52_auflage$CV">
|
||||||
|
<grenze calc_value="$CVnutzen_sm102_auflage$CV">0</grenze>
|
||||||
|
<grenze calc_value="$CVnutzen_sm52_auflage$CV">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Hier beginnt die eigentliche Preisberechnung -->
|
||||||
|
|
||||||
|
<!-- Arbeitsvorbereitung -->
|
||||||
|
<option id="kosten_av" name="Arbeitsvorbereitung" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="$Pav_stundensatz$P*$Pav_flyer_zeit$P">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- DTP -->
|
||||||
|
<option id="kosten_dtp" name="DTP" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="$Pdtp_stundensatz$P*$Pdtp_flyer_zeit$P">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Kosten Farbe aus ausgelagerter Formel -->
|
||||||
|
<option id="kosten_farbe" name="farbe" type="Hidden" default="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="$Ffarbe_a4$F">7,8</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_a5$F">5,6</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_a6$F">3,4</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_dl$F">1,2</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_a3$F">9,10</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_a2$F">11,12</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_a1$F">13,14</grenze>
|
||||||
|
<grenze calc_value="$Ffarbe_3b$F">15,16</grenze>
|
||||||
|
</format1>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Fixkosten Falzen -->
|
||||||
|
<option id="fixkosten_falzen" name="Fixkosten Falzen" type="Hidden" default="1">
|
||||||
|
<seitenzahl>
|
||||||
|
<grenze calc_value="0">2</grenze>
|
||||||
|
<grenze calc_value="($Pfalzen_ruesten$P*$Pfalzen_horizon$P/60)">4</grenze>
|
||||||
|
<grenze calc_value="($Pfalzen_ruesten$P*$Pfalzen_horizon$P/60)+($Pzus_falzbrueche$P)">6</grenze>
|
||||||
|
<grenze calc_value="($Pfalzen_ruesten$P*$Pfalzen_horizon$P/60)+(2*$Pzus_falzbrueche$P)">8</grenze>
|
||||||
|
<grenze calc_value="($Pfalzen_ruesten$P*$Pfalzen_horizon$P/60)+(3*$Pzus_falzbrueche$P)">10</grenze>
|
||||||
|
</seitenzahl>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Variable Kosten Falzen -->
|
||||||
|
<option id="fortlaufgeschwindigkeit_falzen" name="fortlaufgeschwindigkeit_falzen" type="Hidden" default="1">
|
||||||
|
<papier_grammatur>
|
||||||
|
<grenze calc_value="$Pfalzen_speed$P">1-169</grenze>
|
||||||
|
<grenze calc_value="$Pfalzen_speed_mit_nuten$P">170-500</grenze>
|
||||||
|
</papier_grammatur>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<option id="kosten_fortlauf_falzen" name="kosten_fortlauf_falzen" type="Hidden" default="1">
|
||||||
|
<auflage formel="$Vseitenzahl$V > 2" >
|
||||||
|
<grenze calc_value="($Pfalzen_horizon$P/60)*(60/$CVfortlaufgeschwindigkeit_falzen_papier_grammatur$CV*$Vauflage$V)">0</grenze>
|
||||||
|
<grenze calc_value="($Pfalzen_horizon$P/60)*(60/$CVfortlaufgeschwindigkeit_falzen_papier_grammatur$CV*$Vauflage$V)">1</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Fixkosten Nuten -->
|
||||||
|
<option id="fixkosten_nuten_seitenzahl" name="Fixkosten Nuten über Seitenzahl" type="Hidden" default="1">
|
||||||
|
<seitenzahl>
|
||||||
|
<grenze calc_value="0">2</grenze>
|
||||||
|
<grenze calc_value="($Pnuten_ruesten$P*$Pfalzen_horizon$P/60)">4</grenze>
|
||||||
|
<grenze calc_value="($Pnuten_ruesten$P*$Pfalzen_horizon$P/60)+($Pzus_nutlinien$P)">6</grenze>
|
||||||
|
<grenze calc_value="($Pnuten_ruesten$P*$Pfalzen_horizon$P/60)+(2*$Pzus_nutlinien$P)">8</grenze>
|
||||||
|
<grenze calc_value="($Pnuten_ruesten$P*$Pfalzen_horizon$P/60)+(3*$Pzus_nutlinien$P)">10</grenze>
|
||||||
|
</seitenzahl>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Fixkosten Nuten, für Papier ab 170g -->
|
||||||
|
<option id="fixkosten_nuten" name="Fixkosten Nuten" type="Hidden" default="1">
|
||||||
|
<papier_grammatur>
|
||||||
|
<grenze calc_value="0">1-169</grenze>
|
||||||
|
<grenze calc_value="($CVfixkosten_nuten_seitenzahl_seitenzahl$CV)">170-</grenze>
|
||||||
|
</papier_grammatur>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Schneiden auf Endformat -->
|
||||||
|
|
||||||
|
<!-- Rüsten schneiden -->
|
||||||
|
<option id="kosten_ruesten_schneiden" name="kosten_ruesten_schneiden" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="$Pschneidemaschine$P/60*$Pschneiden_ruesten$P">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Stapelhöhe berechnen -->
|
||||||
|
<option id="stapelhoehe" name="stapelhoehe" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="$CVanzahl_druckbogen_auflage$CV*$Vpapier_grammatur$V*$Vpapier_volume$V/1000">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Anzahl Hübe berechnen -->
|
||||||
|
<option id="anzahl_huebe" name="Anzahl Hübe" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="(ceil($CVstapelhoehe_auflage$CV/$Phubhoehe$P))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Anzahl Schnitte berechnen Grenze greift nicht!!!!) -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Anzahl Schnitte berechnen Grenze greift nicht!!!!) NUR ZUR ANZEIGE; KANN SPÄTER RAUS-->
|
||||||
|
<!-- Briefbogen A4: Egal ob 1 oder 2 Nutzen, Anzahl Schnitte gleich -->
|
||||||
|
|
||||||
|
<option id="schndeiden_fortlauf_a3" name="Anzahl Schnitte" type="Hidden" default="1">
|
||||||
|
<nutzen_final formel="$CVnutzen_sm52_auflage$CV">
|
||||||
|
<grenze calc_value="round(($Pschneidemaschine$P/$Pschnitte_pro_stunde$P)*($CVnutzen_final_auflage$CV+4),2)">0</grenze>
|
||||||
|
<grenze calc_value="round(($Pschneidemaschine$P/$Pschnitte_pro_stunde$P)*($CVnutzen_final_auflage$CV+5),2)">1</grenze>
|
||||||
|
<grenze calc_value="round(($Pschneidemaschine$P/$Pschnitte_pro_stunde$P)*($CVnutzen_final_auflage$CV+4),2)">2-</grenze>
|
||||||
|
</nutzen_final>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Papierberechnung hier fortsetzen!! -->
|
||||||
|
|
||||||
|
<!-- Anzahl Druckbogen netto (geprüft, funktioniert) -->
|
||||||
|
<option id="anzahl_druckbogen" name="anzahl_druckbogen" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="($Vauflage$V/$CVnutzen_final_auflage$CV)">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Formel geprüft, passt
|
||||||
|
|
||||||
|
<option id="anzahl_druckbogen_check" name="anzahl_druckbogen" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="($Vauflage$V/$CVnutzen_final_auflage$CV)">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
-->
|
||||||
|
<!-- Papiergewicht und Papierpreis -->
|
||||||
|
<option id="kosten_papier" name="kosten_papier" type="Hidden" default="1">
|
||||||
|
<breite_offen formel="($CVbreite_offen_format1$CV > 465)">
|
||||||
|
<grenze calc_value="round((($Ppapierbreite_a3$P*$Ppapierhoehe_a3$P*($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a3$P)*$Vpapier_grammatur$V)/1000000000)*($Vpapier_value$V+$Pzuschlag_vorschneiden$P)/100,2)">0</grenze>
|
||||||
|
|
||||||
|
<grenze calc_value="round((($Ppapierbreite_a2$P*$Ppapierhoehe_a2$P*($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a2$P)*$Vpapier_grammatur$V)/1000000000)*($Vpapier_value$V)/100,2)">1</grenze>
|
||||||
|
</breite_offen>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ###################### Berechnung Platten, Trockenzeit, Druck, Papier auf Basis des Druckverfahrens ############## -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Anzahl Platten anhand Nutzen final: Wenn nur ein Nutzen auf Platten, dann SW (8 Pl), ansonten Umschlagen/Umstülpen (4 Pl)
|
||||||
|
<option id="anzahl_platten" name="Anzahl Platten" type="Hidden" default="1">
|
||||||
|
<druckfarben_inhalt>
|
||||||
|
<grenze calc_value="4">1</grenze>
|
||||||
|
<grenze calc_value="8">2</grenze>
|
||||||
|
</druckfarben_inhalt>
|
||||||
|
</option>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Anzahl Platten für Plakate manuell ermittelt in Abhängigkeit von Farbigkeit und Format-->
|
||||||
|
|
||||||
|
<option id="anzahl_platten" name="Anzahl Platten" type="Hidden" default="1">
|
||||||
|
<druckfarben_inhalt>
|
||||||
|
<!-- 4/0 Euroskala (einseitig) -->
|
||||||
|
<grenze value="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="4">9-16</grenze> //einseitig bedruckt, mindestanzahl 4 Platten, egal welches Format
|
||||||
|
</format1>
|
||||||
|
</grenze>
|
||||||
|
|
||||||
|
<!-- 4/4 Euroskala (beidseitig) -->
|
||||||
|
<grenze value="2">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="8">9,10</grenze> //8 Platten, kleine Maschine, S+W
|
||||||
|
<grenze calc_value="4">11,12</grenze> //4 Platten, große Maschine, zum Umschlagen
|
||||||
|
<grenze calc_value="8">13,14</grenze> //8 Platten, große Maschine, S+W
|
||||||
|
<grenze calc_value="8">15,16</grenze> //8 Platten, große Maschine, S+W
|
||||||
|
</format1>
|
||||||
|
</grenze>
|
||||||
|
</druckfarben_inhalt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Anzahl Platten für Plakate, geprüft und passt
|
||||||
|
|
||||||
|
<option id="anzahl_platten_check" name="Anzahl Platten" type="Hidden" default="1">
|
||||||
|
<druckfarben_inhalt>
|
||||||
|
// 4/0 Euroskala (einseitig)
|
||||||
|
<grenze value="1">
|
||||||
|
<format1>
|
||||||
|
<grenze formel="4">9-16</grenze> //einseitig bedruckt, mindestanzahl 4 Platten, egal welches Format
|
||||||
|
</format1>
|
||||||
|
</grenze>
|
||||||
|
|
||||||
|
// 4/4 Euroskala (beidseitig)
|
||||||
|
<grenze value="2">
|
||||||
|
<format1>
|
||||||
|
<grenze formel="8">9,10</grenze> //8 Platten, kleine Maschine, S+W
|
||||||
|
<grenze formel="4">11,12</grenze> //4 Platten, große Maschine, zum Umschlagen
|
||||||
|
<grenze formel="8">13,14</grenze> //8 Platten, große Maschine, S+W
|
||||||
|
<grenze formel="8">15,16</grenze> //8 Platten, große Maschine, S+W
|
||||||
|
</format1>
|
||||||
|
</grenze>
|
||||||
|
</druckfarben_inhalt>
|
||||||
|
</option>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Kosten Druckplatten + Rüsten (nicht bei Digitaldruck) -->
|
||||||
|
|
||||||
|
<!-- SM52 Platten Wenn anzahl Druckbogen >500 und offenes Format < 465 -->
|
||||||
|
<option id="kosten_platten_sm52" name="Kosten Druckplatten 52" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVanzahl_druckbogen_auflage$CV > 500 && $CVbreite_offen_format1$CV < 465">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="$CVanzahl_platten_druckfarben_inhalt$CV*($Pplatten_sm52$P+$Pruesten_sm52$P)">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- SM52 Platten , geprüft, passt
|
||||||
|
<option id="kosten_platten_sm52_check" name="Kosten Druckplatten 52" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVanzahl_druckbogen_auflage$CV > 500 && $CVbreite_offen_format1$CV < 465">
|
||||||
|
<grenze formel="0">0</grenze>
|
||||||
|
<grenze formel="$CVanzahl_platten_druckfarben_inhalt$CV*($Pplatten_sm52$P+$Pruesten_sm52$P)">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- SM102 Platten Wenn offenes Format > 465 -->
|
||||||
|
<option id="kosten_platten_sm102" name="Kosten Druckplatten 102" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVbreite_offen_format1$CV > 465">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="($CVanzahl_platten_druckfarben_inhalt$CV*($Pplatten_sm102$P+$Pruesten_sm102$P))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- SM102 Platten geprüft, passt
|
||||||
|
<option id="kosten_platten_sm102_check" name="Kosten Druckplatten 102" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVbreite_offen_format1$CV > 465">
|
||||||
|
<grenze formel="0">0</grenze>
|
||||||
|
<grenze formel="($CVanzahl_platten_druckfarben_inhalt$CV*($Pplatten_sm102$P+$Pruesten_sm102$P))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Fortdruckzeit (nicht bei Digitaldruck) -->
|
||||||
|
|
||||||
|
<!-- SM52 Fortdruck: Wenn anzahl Druckbogen >500 und offenes Format < 465 -->
|
||||||
|
<option id="kosten_fortdruck_sm52" name="kosten_fortdruck_sm52" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVanzahl_druckbogen_auflage$CV > 500 && $CVbreite_offen_format1$CV < 465">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="$Pstundensatz_sm52$P/60*(60/$Psm52_speed$P*(($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a3$P)*$Vdruckfarben_inhalt$V))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- SM102 Fortdruck: Wenn offenes Format > 465 -->
|
||||||
|
<option id="kosten_fortdruck_sm102" name="kosten_fortdruck_sm102" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVbreite_offen_format1$CV > 465">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="$Pstundensatz_sm102_extern$P/60*(60/$Psm102_fremd_speed$P*(($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a2$P)*$Vdruckfarben_inhalt$V))">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Digitaldruck Klickkosten: Wenn anzahl Druckbogen <501 und offenes Format < 465 -->
|
||||||
|
<!-- Anstatt Fortdruck im Offset kommen hier Klickkosten für den Digitaldruck-->
|
||||||
|
<option id="klickkosten_digitaldruck" name="Kosten Druckplatten" type="Hidden" default="1">
|
||||||
|
<auflage formel="$CVanzahl_druckbogen_auflage$CV < 501 && $CVbreite_offen_format1$CV < 465">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="$Pklickkosten_4c$P*($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_digital$P)*$Vdruckfarben_inhalt$V">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Trockenzeit (nicht bei Digitaldruck) Wenn Anzahl Druckbogen > 500 und < 1001, unter 500 Digitaldruck. -->
|
||||||
|
|
||||||
|
<option id="kosten_trockenzeit_auflage" name="kosten_trockenzeit_auflage" type="Hidden" default="1">
|
||||||
|
<druckverfahren formel="$CVanzahl_druckbogen_auflage$CV > 500 && $CVanzahl_druckbogen_auflage$CV < 1001">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="$Pstundensatz_sm52$P*$Ptrockenzeit_flyer$P/60">1</grenze>
|
||||||
|
</druckverfahren>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Trockenzeit (nicht bei Digitaldruck) Wenn offenes Format > 465 und Anzahl Druckbogen < 1001. -->
|
||||||
|
|
||||||
|
<option id="kosten_trockenzeit_format" name="kosten_trockenzeit_format" type="Hidden" default="1">
|
||||||
|
<druckverfahren formel="$CVbreite_offen_format1$CV > 465 && $CVanzahl_druckbogen_auflage$CV < 1001">
|
||||||
|
<grenze calc_value="0">0</grenze>
|
||||||
|
<grenze calc_value="$Pstundensatz_sm102_extern$P*$Ptrockenzeit_flyer$P/60">1</grenze>
|
||||||
|
</druckverfahren>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Korrekturabzug -->
|
||||||
|
<option id="kosten_korrekturabzug" name="kosten_korrekturabzug" type="Hidden" default="1">
|
||||||
|
<korrekturabzug>
|
||||||
|
<grenze formel="0">1,3</grenze>
|
||||||
|
<grenze formel="$Plaserproof$P">2</grenze>
|
||||||
|
</korrekturabzug>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Belegexemplar -->
|
||||||
|
<option id="kosten_belegexemplar" name="kosten_belegexemplar" type="Hidden" default="1">
|
||||||
|
<belegexemplar>
|
||||||
|
<grenze formel="0">1</grenze>
|
||||||
|
<grenze formel="$Pbelegexemplar$P">2</grenze>
|
||||||
|
</belegexemplar>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- ################# Summenbildung ################################################## -->
|
||||||
|
|
||||||
|
<!-- Produktionszeit Faktor -->
|
||||||
|
<option id="produktionszeit_faktor" name="produktionszeit_faktor" type="Hidden" default="1">
|
||||||
|
<produktionszeit>
|
||||||
|
<grenze calc_value="$Poeko_faktor$P">1</grenze>
|
||||||
|
<grenze calc_value="1">2</grenze>
|
||||||
|
<grenze calc_value="$Pexpress_faktor$P">3</grenze>
|
||||||
|
</produktionszeit>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Summe Material -->
|
||||||
|
<option id="kosten_produktion_material" name="kosten_produktion_material" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="($CVkosten_farbe_format1$CV)+($CVkosten_papier_breite_offen$CV)+($CVkosten_platten_sm52_auflage$CV)+($CVkosten_platten_sm102_auflage$CV)+($CVklickkosten_digitaldruck_auflage$CV)">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!-- Summe Wertschöpfung -->
|
||||||
|
<option id="kosten_produktion_wertschoepfung" name="kosten_produktion_wertschoepfung" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="(($CVfixkosten_falzen_seitenzahl$CV)+($CVkosten_fortlauf_falzen_auflage$CV)+($CVfixkosten_nuten_papier_grammatur$CV)+($CVkosten_ruesten_schneiden_auflage$CV)+($CVschndeiden_fortlauf_a3_nutzen_final$CV)+($CVkosten_fortdruck_sm52_auflage$CV)+($CVkosten_fortdruck_sm102_auflage$CV)+($CVkosten_trockenzeit_auflage_druckverfahren$CV)+($CVkosten_trockenzeit_format_druckverfahren$CV))*($CVproduktionszeit_faktor_produktionszeit$CV)">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Ende Kalkulation -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Gewicht Produkt -->
|
||||||
|
|
||||||
|
<option id="weight_produkte" name="weight" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze calc_value="$CVbreite_format1$CV*$CVhoehe_offen_format1$CV/1000000*$Vauflage$V*$Vpapier_grammatur$V">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="kosten_und_anzahl_verpackungen" name="kosten_und_anzahl_verpackungen" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="(ceil($CVweight_produkte_auflage$CV/$Pverpackungsgewichtsbasis$P/1000))*$Pverpackungsmaterial$P">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="weight" name="weight" type="Hidden" default="1">
|
||||||
|
<auflage>
|
||||||
|
<grenze formel="$CVbreite_offen_format1$CV*$CVhoehe_offen_format1$CV/$Vdruckfarben_inhalt$V/1000000*$Vauflage$V*$Vpapier_grammatur$V">1-</grenze>
|
||||||
|
</auflage>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
=AUFRUNDEN(B18/Fixkosten!D26;0)
|
||||||
|
|
||||||
|
//Verpacken
|
||||||
|
$verpacken_pro_kg=0.12;
|
||||||
|
|
||||||
|
//Verpackungsmaterial pro 6 kg
|
||||||
|
$verpackungsmaterial=0.30;
|
||||||
|
|
||||||
|
//Verpackungsgewichtsbasis in kg
|
||||||
|
$verpackungsgewichtsbasis=6;
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</artikel>
|
||||||
|
</kalkulation>
|
||||||
145
tests/TestFiles/Complex2/formels.txt
Normal file
145
tests/TestFiles/Complex2/formels.txt
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
// Grasdruckerei
|
||||||
|
//Farbkostenberechnung pro Seite auf Basis A4=100%
|
||||||
|
$farbe_a4='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P)';
|
||||||
|
$farbe_a5='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_a5$P)';
|
||||||
|
$farbe_a6='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_a6$P)';
|
||||||
|
$farbe_a7='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_a7$P)';
|
||||||
|
$farbe_dl='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_dl$P)';
|
||||||
|
$farbe_210='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_210$P)';
|
||||||
|
$farbe_148='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_148$P)';
|
||||||
|
$farbe_a3='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_a3$P)';
|
||||||
|
$farbe_a2='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_a2$P)';
|
||||||
|
$farbe_a1='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_a1$P)';
|
||||||
|
$farbe_3b='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_3b$P)';
|
||||||
|
$farbe_vk2='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_vk2$P)';
|
||||||
|
$farbe_vk4='($Vauflage$V*$Vseitenzahl$V*$Pfarbkst$P*$Pfarbe_faktor_vk4$P)';
|
||||||
|
|
||||||
|
//#########################
|
||||||
|
|
||||||
|
//Flyer
|
||||||
|
$flyer40='($Pflyerklick$P*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$flyer44='($Pflyerklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$fflyer44='($Pfflyerklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
|
||||||
|
// Karten
|
||||||
|
$weihnachtskarte2s='((0.5*$Vauflage$V)+(5))/1.19';
|
||||||
|
$weihnachtskarte4s='((1.5*$Vauflage$V)+(5))/1.19';
|
||||||
|
$karte40='($Pkarteklick$P*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$karte44='($Pkarteklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$faltkarte44='($Pfkarteklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$einleger='($Pflyerklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$planonut='$pnuten+($Vauflage$V*$pnut$P)';
|
||||||
|
$geschlossennut='$pnuten+($Vauflage$V*$pnutgeschlossen$P)';
|
||||||
|
|
||||||
|
//kalender
|
||||||
|
$kalendera5='($Vauflage$V*$Vseiten$V*.3)+($Vauflage$V*6.96)+5';
|
||||||
|
$kalendera4='($Vauflage$V*$Vseiten$V*.5)+($Vauflage$V*7.96)+5';
|
||||||
|
$kalendera3='($Vauflage$V*$Vseiten$V*.75)+($Vauflage$V*9.2)+5';
|
||||||
|
|
||||||
|
//Bogen
|
||||||
|
$bogen40='($Pfarbdruck1$P*$Vauflage$V*$Vsorten$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
$bogen44='($Pflyerklick$P*2*$Vauflage$V*$Vsorten$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||||
|
// Visitenkarte einseitig doppelseitigKlappvisitenkarten
|
||||||
|
$vk40='$Pvkpauschale$P+($Pvisitenkarte$P*$Vauflage$V/10)+(($Vpapier_value$V*$Vauflage$V)/20)';
|
||||||
|
$vk44='$Pvkpauschale$P+($Pvisitenkarte$P*$Vauflage$V*2/10)+(($Vpapier_value$V*$Vauflage$V)/20)';
|
||||||
|
$vkk44='20+($Pvisitenkartek$P*$Vauflage$V)*4+$Pvkpauschale$P+($Vpapier_value$V/10*$Vauflage$V)+($Pnut$P*$Vauflage$V)+(($Vpapier_value$V*$Vauflage$V)/20)';
|
||||||
|
|
||||||
|
// Poster
|
||||||
|
$rahmen='((((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V))/10000)*30.5)+($Vauflage$V*15)';
|
||||||
|
$poster='2.5+(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pposterqm1$P)/10000)';
|
||||||
|
$postera1='(($Pposterqm1$P/2)*$Vauflage$V)+$Pposterpauschale$P';
|
||||||
|
$fhhpostera1='(($Pposterqm1$P/2)*$Vmenge$V)';
|
||||||
|
$postera0='(($Pposterqm1$P/1)*$Vauflage$V)+$Pposterpauschale$P';
|
||||||
|
|
||||||
|
//plakat
|
||||||
|
$plakata3='(0.25*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)+19.8';
|
||||||
|
$plakata4='(0.15*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V/2)+19.9';
|
||||||
|
$plakat160='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplakat160qm1$P)/10000)+$Pplakatpauschale$P';
|
||||||
|
$plakat140='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplakat140qm1$P)/10000)';
|
||||||
|
$plakat80='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplakat80qm1$P)/10000)';
|
||||||
|
|
||||||
|
|
||||||
|
//Leinwand
|
||||||
|
$leinwand='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*70)/10000)';
|
||||||
|
$leisten='((tonumber($Vkurz$V)+tonumber($Vlang$V)*$Vauflage$V)*2)*5.5/100';
|
||||||
|
$aufziehen='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*40)/10000)+(5*$Vauflage$V)';
|
||||||
|
|
||||||
|
//Banner
|
||||||
|
$banner='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pbannerqm$P)/10000)';
|
||||||
|
$mesh='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pmeshqm$P)/10000)';
|
||||||
|
$blockout='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pblockoutqm$P)/10000)';
|
||||||
|
$pp='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pppqm$P)/10000)';
|
||||||
|
$lamprotect='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*30)/10000)';
|
||||||
|
$solprotect='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*12)/10000)';
|
||||||
|
$solprotectmm='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*12)/1000000)';
|
||||||
|
$oesen='((tonumber($Vkurz$V)+tonumber($Vlang$V)*$Vauflage$V)*2)/50';
|
||||||
|
|
||||||
|
// Tapete
|
||||||
|
$tapete='(((tonumber($Vkurz$V)*tonumber($Vlang$V))*$Vauflage$V)*(44.5)/10000)';
|
||||||
|
|
||||||
|
//Klebefolie
|
||||||
|
|
||||||
|
$cutfolie='(((tonumber($Vkurz$V+1)*tonumber($Vlang$V+1)*$Vauflage$V)*$Pcutfolieqm$P)/10000)+$Pcutfoliepausch$P';
|
||||||
|
$cuttransfer='(((tonumber($Vkurz$V+1)*tonumber($Vlang$V+1)*$Vauflage$V)*$Pcuttransferqm$P)/10000)';
|
||||||
|
$aufkleber='(((tonumber($Vkurz$V+1)*tonumber($Vlang$V+1)*$Vauflage$V)*$Paufkleberqm$P)/1000000)+25';
|
||||||
|
$klebefolie='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pklebefolieqm$P)/10000)';
|
||||||
|
$diafilm='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*(70))/10000)';
|
||||||
|
|
||||||
|
//Plotten
|
||||||
|
$pltfarbe='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplotfarbe$P)/1000000)';
|
||||||
|
$pltsw='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplotsw$P)/1000000)';
|
||||||
|
$pltfarbefl='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplotfarbefl$P)/1000000)';
|
||||||
|
//Laminieren
|
||||||
|
$laminierenposter='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Plaminieren$P)/10000)';
|
||||||
|
//Kaschieren
|
||||||
|
$kaschieren3hsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk3hs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren5hsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk5hs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren5fsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk5fs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren5hsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk5fs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren10fsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk10fs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschierenaluposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pkalu$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschierenalufolie='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pkalu$P)/11000';
|
||||||
|
|
||||||
|
$kaschieren3hs='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pkaschieren3hs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren5hs='(($Vauflage$V)*$Pk5hs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren10hs='(($Vauflage$V)*$Pk10hs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren5fs='(($Vauflage$V)*$Pk5fs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschieren10fs='(($Vauflage$V)*$Pk10fs$P)/10000+$Pruestkosten$P';
|
||||||
|
$kaschierenalu='(($Vauflage$V)*$Pkalu$P)/10000+$Pruestkosten$P';
|
||||||
|
|
||||||
|
//RollUpbasic
|
||||||
|
$rollbasic='(144.35/1.19*$Vauflage$V)';
|
||||||
|
|
||||||
|
// Cellophanieren
|
||||||
|
$cello='10+$Pcello$P*$Vauflage$V';
|
||||||
|
$cellodps='10+$Pcello$P*2*$Vauflage$V';
|
||||||
|
$formelvkcello='5+($Pcello$P*$Vauflage$V/20)';
|
||||||
|
|
||||||
|
//Taschenlaminat
|
||||||
|
$formeltl='$Ptaschenlaminieren3$P*$Vauflage$V';
|
||||||
|
|
||||||
|
//eckenrunden
|
||||||
|
$formel7='$Peckenrundeneinrichten$P+($Peckenrunden$P*$Vauflage$V)';
|
||||||
|
//Falten
|
||||||
|
$falten='$Pfalte$P*$Vauflage$V';
|
||||||
|
//nuten
|
||||||
|
$nutplano='$Pnuten$P+($Pnut$P*$Vauflage$V)';
|
||||||
|
// nuten für kombiartikel
|
||||||
|
$nutplan='($Pnut$P*$Vauflage$V)';
|
||||||
|
$nutzu='$Pnuten$P+($Pnutgeschlossen$P*$Vauflage$V)';
|
||||||
|
//heften
|
||||||
|
$heften='10+(0.15*$Vauflage$V)';
|
||||||
|
|
||||||
|
//Briefpapier
|
||||||
|
$briefpapier='($Vauflage$V*0.10)+25+($Vpapier_value$V/2*$Vauflage$V)';
|
||||||
|
|
||||||
|
// Zeitungen
|
||||||
|
// abizeitung
|
||||||
|
$abi_a4_sw='($Vauflage$V*$Vswseiten$V)*0.025)+($Vauflage$V*.08)';
|
||||||
|
//Schuelerzeitung
|
||||||
|
$sza5fc='($Vauflage$V*0.6)+10+(($Vauflage$V*$Vswswseiten$V)*0.015)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||||
|
$sza4fc='($Vauflage$V*0.6)+10+(($Vauflage$V*$Vswswseiten$V)*0.025)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||||
|
$sza5='10+(($Vauflage$V*$Vswswseiten$V)*0.015)+($Vauflage$V*0.15)+($Vpapier_value$V/4*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/4*$Vumschlag_value$V)';
|
||||||
|
$sza4='10+(($Vauflage$V*$Vswswseiten$V)*0.025)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||||
|
$sz4ca5='10+(($Vauflage$V*$Vswswseiten$V)*0.15)+($Vauflage$V*0.15)+($Vpapier_value$V/4*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/4*$Vumschlag_value$V)';
|
||||||
|
$sz4ca4='10+(($Vauflage$V*$Vswswseiten$V)*0.25)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||||
7
tests/TestFiles/Complex2/papierContainer.xml
Normal file
7
tests/TestFiles/Complex2/papierContainer.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<container>
|
||||||
|
<papiercontainer id="grasbriefbogen">
|
||||||
|
<papier id="grasnatur85">
|
||||||
|
</papier>
|
||||||
|
</papiercontainer>
|
||||||
|
</container>
|
||||||
140
tests/TestFiles/Complex2/parameters.txt
Normal file
140
tests/TestFiles/Complex2/parameters.txt
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
//Grasdruckerei
|
||||||
|
|
||||||
|
//Stundensätze Druckmaschinen
|
||||||
|
$stundensatz_sm52=85;
|
||||||
|
$stundensatz_sm102_extern=160;
|
||||||
|
|
||||||
|
//Leistungswerte Maschinen (Stück/h)
|
||||||
|
$sm52_speed=5000;
|
||||||
|
$sm102_fremd_speed=8000;
|
||||||
|
$falzen_speed=5000;
|
||||||
|
$falzen_speed_mit_nuten=3000;
|
||||||
|
|
||||||
|
//Sammelhefter intern
|
||||||
|
$heften_intern_fix=25;
|
||||||
|
$heften_intern_var=0.30;
|
||||||
|
|
||||||
|
//Sammelhefter extern
|
||||||
|
$stundensatz_sammelhefter=120;
|
||||||
|
$sammelhefter_speed=4500;
|
||||||
|
|
||||||
|
//Sammelhefter Rüsten in Minuten
|
||||||
|
$sammelhefter_ruesten=0.25;
|
||||||
|
|
||||||
|
//Klebebindung
|
||||||
|
$kb_intern_fix=30;
|
||||||
|
$kb_intern_var=0.55;
|
||||||
|
|
||||||
|
//Klebebinder extern
|
||||||
|
$stundensatz_kb=180;
|
||||||
|
$kb_speed=2300;
|
||||||
|
|
||||||
|
//Klebebinder Rüsten in Minuten
|
||||||
|
$kb_ruesten=0.5;
|
||||||
|
|
||||||
|
//Wire-O
|
||||||
|
$wireo_fix=7;
|
||||||
|
$wireo_var=1.5;
|
||||||
|
|
||||||
|
//Plattenkosten
|
||||||
|
$platten_sm52=8;
|
||||||
|
$platten_sm102=35;
|
||||||
|
|
||||||
|
//Rüsten pro Platte (in Euro)
|
||||||
|
$ruesten_sm52=8;
|
||||||
|
$ruesten_sm102=30;
|
||||||
|
|
||||||
|
$av_stundensatz=58;
|
||||||
|
$dtp_stundensatz=75;
|
||||||
|
|
||||||
|
//Farbkosten pro Seite A4
|
||||||
|
$farbkst=0.000800;
|
||||||
|
|
||||||
|
//Formatfaktor auf Basis A4 = 100% für Farbkostenberechnung
|
||||||
|
$farbe_faktor_a5=0.5;
|
||||||
|
$farbe_faktor_a6=0.25;
|
||||||
|
$farbe_faktor_a7=0.125;
|
||||||
|
$farbe_faktor_dl=0.3;
|
||||||
|
$farbe_faktor_210=0.67;
|
||||||
|
$farbe_faktor_148=0.4;
|
||||||
|
$farbe_faktor_a3=2;
|
||||||
|
$farbe_faktor_a2=4;
|
||||||
|
$farbe_faktor_a1=8;
|
||||||
|
$farbe_faktor_3b=10;
|
||||||
|
$farbe_faktor_vk2=0.1;
|
||||||
|
$farbe_faktor_vk4=0.2;
|
||||||
|
|
||||||
|
//Stundensätze Maschinen WV
|
||||||
|
$falzen_horizon=65;
|
||||||
|
$schneidemaschine=40;
|
||||||
|
|
||||||
|
//Stundensätze Falzen extern
|
||||||
|
$stundensatz_falzen_extern=90;
|
||||||
|
$falzen_fremd_speed=5000;
|
||||||
|
|
||||||
|
//Falzen extern Rüsten in Minuten
|
||||||
|
$falzen_extern_ruesten=0.25;
|
||||||
|
|
||||||
|
//Schneidemaschine Hubhöhe in mm
|
||||||
|
$hubhoehe=150;
|
||||||
|
|
||||||
|
//Anzahl Schnitte/h
|
||||||
|
$schnitte_pro_stunde=120;
|
||||||
|
|
||||||
|
//Zeiten WV (in Minuten)
|
||||||
|
$falzen_ruesten=17;
|
||||||
|
$nuten_ruesten=8;
|
||||||
|
$schneiden_ruesten=2.5;
|
||||||
|
|
||||||
|
//Zusätzliche Fixkosten WV
|
||||||
|
$zus_falzbrueche=8;
|
||||||
|
$zus_nutlinien=7;
|
||||||
|
|
||||||
|
//Flyer
|
||||||
|
$av_flyer_zeit=0.32;
|
||||||
|
$dtp_flyer_zeit=0.17;
|
||||||
|
$trockenzeit_flyer=5;
|
||||||
|
|
||||||
|
//Broschüre
|
||||||
|
$av_broschuere_zeit=0.40;
|
||||||
|
$dtp_broschuere_zeit=0.30;
|
||||||
|
$trockenzeit_broschuere=5; //prüfen, ob benötigt wird
|
||||||
|
|
||||||
|
//Papierformate für Papierpreisberechnung
|
||||||
|
$papierbreite_a3=470;
|
||||||
|
$papierhoehe_a3=320;
|
||||||
|
$papierbreite_a2=1020;
|
||||||
|
$papierhoehe_a2=720;
|
||||||
|
|
||||||
|
//Papierzuschlag für Vorschneiden bei Druck im A3 pro 100 kg
|
||||||
|
$zuschlag_vorschneiden=16;
|
||||||
|
$zuschuss_a3=10;
|
||||||
|
$zuschuss_a2=100;
|
||||||
|
|
||||||
|
//Klickkosten Digitaldruck
|
||||||
|
$klickkosten_4c=0.088;
|
||||||
|
$klickkosten_1c=0.037;
|
||||||
|
$zuschuss_digital=10;
|
||||||
|
|
||||||
|
//Blockleimung
|
||||||
|
$blockleimung_fix=15;
|
||||||
|
$blockleimung_var=0.30;
|
||||||
|
|
||||||
|
//Verpacken
|
||||||
|
$verpacken_pro_kg=0.12;
|
||||||
|
|
||||||
|
//Verpackungsmaterial pro 6 kg
|
||||||
|
$verpackungsmaterial=0.30;
|
||||||
|
|
||||||
|
//Verpackungsgewichtsbasis in kg
|
||||||
|
$verpackungsgewichtsbasis=6;
|
||||||
|
|
||||||
|
//Korrekturabzug
|
||||||
|
$laserproof=25;
|
||||||
|
|
||||||
|
//Belegexemplar
|
||||||
|
$belegexemplar=12;
|
||||||
|
|
||||||
|
//Produktionszeit Faktor auf Wertschöpfung
|
||||||
|
$oeko_faktor=0.95;
|
||||||
|
$express_faktor=1.3;
|
||||||
72
tests/TestFiles/Recursiv/1.xml
Normal file
72
tests/TestFiles/Recursiv/1.xml
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<kalkulation>
|
||||||
|
<artikel>
|
||||||
|
<name>Plakate</name>
|
||||||
|
<kommentar/>
|
||||||
|
|
||||||
|
<option id="auflage" name="Auflage" type="Select" default="100">
|
||||||
|
<opt id="5" name="5 Exemplare"></opt>
|
||||||
|
<opt id="10" name="10 Exemplare"></opt>
|
||||||
|
<opt id="25" name="25 Exemplare"></opt>
|
||||||
|
<opt id="50" name="50 Exemplare"></opt>
|
||||||
|
<opt id="100" name="100 Exemplare"></opt>
|
||||||
|
<opt id="200" name="200 Exemplare"></opt>
|
||||||
|
<opt id="300" name="300 Exemplare"></opt>
|
||||||
|
<opt id="400" name="400 Exemplare"></opt>
|
||||||
|
<opt id="500" name="500 Exemplare"></opt>
|
||||||
|
<opt id="750" name="750 Exemplare"></opt>
|
||||||
|
<opt id="1000" name="1.000 Exemplare"></opt>
|
||||||
|
<opt id="1500" name="1.500 Exemplare"></opt>
|
||||||
|
<opt id="2000" name="2.000 Exemplare"></opt>
|
||||||
|
<opt id="3000" name="3.000 Exemplare"></opt>
|
||||||
|
<opt id="5000" name="5.000 Exemplare"></opt>
|
||||||
|
<opt id="7500" name="7.500 Exemplare"></opt>
|
||||||
|
<opt id="10000" name="10.000 Exemplare"></opt>
|
||||||
|
<opt id="12500" name="12.500 Exemplare"></opt>
|
||||||
|
<opt id="15000" name="15.000 Exemplare"></opt>
|
||||||
|
<opt id="20000" name="20.000 Exemplare"></opt>
|
||||||
|
<opt id="30000" name="30.000 Exemplare"></opt>
|
||||||
|
<opt id="40000" name="40.000 Exemplare"></opt>
|
||||||
|
<opt id="50000" name="50.000 Exemplare"></opt>
|
||||||
|
<opt id="100000" name="100.000 Exemplare"></opt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="format1" name="Format" type="Select" default="11">
|
||||||
|
<opt id="9" name="DIN A3 Hochformat (297 x 420 mm)"></opt>
|
||||||
|
<opt id="10" name="DIN A3 Querformat (420 x 297 mm)"></opt>
|
||||||
|
<opt id="11" name="DIN A2 Hochformat (420 x 594 mm)"></opt>
|
||||||
|
<opt id="12" name="DIN A2 Querformat (594 x 420 mm)"></opt>
|
||||||
|
<opt id="13" name="DIN A1 Hochformat (594 x 840 mm)"></opt>
|
||||||
|
<opt id="14" name="DIN A1 Querformat (840 x 594 mm)"></opt>
|
||||||
|
<opt id="15" name="Hochformat 700 x 1000 mm"></opt>
|
||||||
|
<opt id="16" name="Querformat 1000 x 700 mm)"></opt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="druckfarben_inhalt" name="Farbigkeit" type="Select" default="1">
|
||||||
|
<opt id="1" name="4/0 Euroskala (einseitig)"/>
|
||||||
|
<opt id="2" name="4/4 Euroskala (beidseitig)"/>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option id="anzahl_platten" name="Anzahl Platten" type="Hidden" default="1">
|
||||||
|
<druckfarben_inhalt>
|
||||||
|
<grenze value="1">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="4">9-16</grenze> //einseitig bedruckt, mindestanzahl 4 Platten, egal welches Format
|
||||||
|
</format1>
|
||||||
|
</grenze>
|
||||||
|
|
||||||
|
<grenze value="2">
|
||||||
|
<format1>
|
||||||
|
<grenze calc_value="8">9,10</grenze> //8 Platten, kleine Maschine, S+W
|
||||||
|
<grenze calc_value="4">11,12</grenze> //4 Platten, große Maschine, zum Umschlagen
|
||||||
|
<grenze calc_value="8">13,14</grenze> //8 Platten, große Maschine, S+W
|
||||||
|
<grenze calc_value="8">15,16</grenze> //8 Platten, große Maschine, S+W
|
||||||
|
</format1>
|
||||||
|
</grenze>
|
||||||
|
</druckfarben_inhalt>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</artikel>
|
||||||
|
</kalkulation>
|
||||||
0
tests/TestFiles/Recursiv/formels.txt
Normal file
0
tests/TestFiles/Recursiv/formels.txt
Normal file
7
tests/TestFiles/Recursiv/papierContainer.xml
Normal file
7
tests/TestFiles/Recursiv/papierContainer.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<container>
|
||||||
|
<papiercontainer id="grasbriefbogen">
|
||||||
|
<papier id="grasnatur85">
|
||||||
|
</papier>
|
||||||
|
</papiercontainer>
|
||||||
|
</container>
|
||||||
0
tests/TestFiles/Recursiv/parameters.txt
Normal file
0
tests/TestFiles/Recursiv/parameters.txt
Normal file
Loading…
Reference in New Issue
Block a user