Copy {#- ==== onRetail ETIKETTEN SYSTEMVORLAGE (bitte kopieren) ==== #}
{#- ====================== LEGENDE ======================= #}
{#-
Allgemeine Einstellungen:
Drucker Name (wie in Windows) {{ PRINTER_NAME }}
Nummer der Etikettenvorlage {{ LABEL_TEMPLATE_NUMBER }}
Druckbildschirm Info:
Etikettentyp {{ LABEL_TYPE }}
Farbige Info Name der Bestellung {{ GROUP_NAME }}
Label Referenz Name {{ LABEL_REF_NAME }}
Label Daten:
Label Anzahl pro Bestellzeile {{ ORDER_QUANTITY }}
Produkt Varianten Attribute {{ VARIANT_ATTRIBUTES }}
Produkt Steuer {{ TAX_INFO }}
Produkt (Varianten) Preis {{ PRODUCT_PRICE }}
Durchgestrichener Statt Preis {{ CROSSED_PRICE }}
Produkt Barcode {{ PRODUCT_EAN }}
Produkt Id onRetail {{ PRODUCT_PLU }}
#}
{#- ==================== DEFINITIONEN ===================== #}
{%- set PRINTER_NAME = json.dumps(template.printer_name) %}
{%- set LABEL_TEMPLATE_NUMBER = 99 %}
{%- set LABEL_TYPE = json.dumps("Bestellung") %}
{%- set purchase = model %}
{%- set GROUP_NAME = json.dumps(purchase.name) %}
{%- set lines = purchase.order_line %}
{%- set ORDER_QUANTITY = 1 %}
{%- for line in lines %}
{%- if loop.index > 1 %},{% endif %}
{%- set model = line.product_id %}
{%- set LABEL_QUANTITY = line.product_qty|int %}
{%- set TAX_INFO =
model.taxes_id
and json.dumps(model.taxes_id[0].name | replace("Mehrwertsteuer ", "MwSt: "))
or '"keine MwSt"' %}
{# =================== GRÖSSE separat in TEXT4 – alle Werte wie bei Farbe =================== #}
{%- set SIZE_VALUES = [] %}
{# 1. Versuch: Variantenwerte #}
{%- for attr in model.product_template_variant_value_ids %}
{%- if attr.attribute_id.name == "Größe" %}
{%- set _ = SIZE_VALUES.append(attr.name) %}
{%- endif %}
{%- endfor %}
{# 2. Fallback: Template-Attribute #}
{%- if SIZE_VALUES|length == 0 %}
{%- for line2 in model.product_tmpl_id.attribute_line_ids %}
{%- if line2.attribute_id.name == "Größe" %}
{%- for value in line2.value_ids %}
{%- set _ = SIZE_VALUES.append(value.name) %}
{%- endfor %}
{%- endif %}
{%- endfor %}
{%- endif %}
{%- if SIZE_VALUES|length > 0 %}
{%- set SIZE_TXT = "Gr: " ~ SIZE_VALUES|join(", ") %}
{%- else %}
{%- set SIZE_TXT = "" %}
{%- endif %}
{%- set VARIANT_SIZE = json.dumps(SIZE_TXT|trim) %}
{# ========== Variantenattribute OHNE Größe & OHNE Marke + Grundeinheit ========== #}
{%- set VA_LIST = [] %}
{# Variantenwerte (Variante) #}
{%- for attr in model.product_template_variant_value_ids
| sort(attribute="attribute_id.name", reverse=true) %}
{%- if attr.attribute_id.name not in ["Größe", "Marke"] %}
{%- set _ = VA_LIST.append(attr.attribute_id.name|truncate(2,True,'',0) ~ ": " ~ attr.name) %}
{%- endif %}
{%- endfor %}
{# Fallback: Template-Attribute, falls auf Variante nichts ist #}
{%- if VA_LIST|length == 0 %}
{%- for line2 in model.product_tmpl_id.attribute_line_ids %}
{%- if line2.attribute_id.name not in ["Größe", "Marke"] %}
{%- for value in line2.value_ids %}
{%- set _ = VA_LIST.append(line2.attribute_id.name|truncate(2,True,'',0) ~ ": " ~ value.name) %}
{%- endfor %}
{%- endif %}
{%- endfor %}
{%- endif %}
{# Grundeinheitsinfo anhängen #}
{%- if model.base_unit_count %}
{%- set _ = VA_LIST.append("(" ~ model.base_unit_price ~ "/" ~ model.base_unit_name ~ ")") %}
{%- endif %}
{%- set VARIANT_ATTRIBUTES = json.dumps(VA_LIST|join(" ")|trim) %}
{# =================== Preislogik =================== #}
{%- set PRODUCT_PRICE = model.lst_price %}
{%- set CROSSED_PRICE = model.regular_price or 0 %}
{%- set CROSSED_PRICE = json.dumps(CROSSED_PRICE) %}
{%- set PRODUCT_PRICE = json.dumps(PRODUCT_PRICE) %}
{%- set LABEL_REF_NAME = json.dumps(model.name) %}
{%- set PRODUCT_NAME = json.dumps(model.name) %}
{%- set INT_REF = json.dumps(model.default_code) %}
{%- set PRODUCT_EAN = json.dumps(model.barcode) %}
{%- set PRODUCT_PLU = model.id %}
{# =============== FDS – Layout wie V1 =============== #}
{%- set FDS -%}
ID;ETT01;3;Benutzerdefiniertes Etikett
; ID ; OPT ; TEXT ; FORM ; FORM SIZE
FormAsgn ; Z ; 0 ; Benutzerdefiniert ; 99 ; Benutzerdefiniert
; Seite
Head ; FORM99 ; 57x24 Preis Rechts
; EAN
Font ; 36.EAN-13B Half Height
Field ; 3 ; 1 ; 0 ; EANFCD ; FONTBOX{108,70}
; Artikeltext
Font ; 8.Arial Bold
Field ; 8 ; 1 ; 0 ; TEXT1
Field ; 12 ; 1 ; 0 ; TEXT2
Field ; 18 ; 1 ; 0 ; TEXT3
; Artikeltext4 Attribut Größe
Font ; 14.Arial Bold
Field ; 25.5 ; 1 ; 0 ; TEXT4
; Box für Preis
Line ; 25 ; 0 ; 25 ; 51 ; 3
Line ; 25 ; 26 ; 30.5 ; 26 ; 3
Line ; 30.5 ; 51 ;25 ; 51 ; 7
Line ; 30.5 ; 26 ; 30.5 ; 51 ; 7
; Preis
Font ; 14.Arial Bold
Field ; 25.5 ; 27 ; 0 ; LDWSYM
Font ; 14.Arial Black
Field ; 25.5 ; 50 ; 0 ; VKP ; SAYRIGHT
{%- endset %}
{%- set FDSDATA = json.dumps(FDS) -%}
{#- ======================= LABEL DRUCKER DATEN ======================= #}
{
"Quantity": {{ LABEL_QUANTITY }},
"FormName": {{ LABEL_REF_NAME }},
"FormDesc": {{ VARIANT_ATTRIBUTES }},
"GroupName": {{ GROUP_NAME }},
"LabelType": {{ LABEL_TYPE }},
"LabelPrinterData": {
"CmdVer": 1,
"Cmd": "PrintLabel",
"PrinterSettings": {
"PrinterName": {{ PRINTER_NAME }}
},
"Layout": {
"Style": {{ LABEL_TEMPLATE_NUMBER }},
"RowCount": 1,
"ColCount": 1,
"StartRow": 2,
"StartCol": 0
},
"PrintData": [{
"Ean": {{ PRODUCT_EAN }},
"Plu": {{ PRODUCT_PLU }},
"Text": {{ PRODUCT_NAME }},
"Text2": {{ VARIANT_ATTRIBUTES }},
"Text3": {{ INT_REF }},
"Text4": {{ VARIANT_SIZE }},
"Price": {{ PRODUCT_PRICE }},
"CrossedPrice": {{ CROSSED_PRICE }},
"ShowPrice": true,
"VatPrice": true,
"VatRate": {{ TAX_INFO }},
"GpiTmg": 200,
"GpiMeh": "ML",
"GpiBas": 1000
}],"FdsData":{{FDSDATA}}
}
}
{%- endfor %}
{#- ======================= LABEL DRUCKER DATEN ENDE ======================= #}