{% extends "base.html" %} {% block content %} {% if locked_by_name %}
🔒 {{ locked_by_name }} bearbeitet dieses Aufmaß gerade – Sie haben nur Lesezugriff.
{% endif %}

{{ aufmass.name }}

{% if aufmass.typ %}{{ aufmass.typ }}{% endif %} {{ aufmass.status }} {{ project.bezeichnung or project.sm_nr }}
← Aufmaß-Übersicht
{% set ns_vis = namespace(val=0) %} {% for mod in modules %}{% if ('module', mod.id|string) not in hidden_set and ('module', mod.id) not in hidden_set %}{% set ns_vis.val = ns_vis.val + 1 %}{% endif %}{% endfor %} {% for cm in custom_modules %}{% if ('custom', cm.id|string) not in hidden_set and ('custom', cm.id) not in hidden_set %}{% set ns_vis.val = ns_vis.val + 1 %}{% endif %}{% endfor %}
⚡ Zusatzmodule ({{ ns_vis.val }})
{% for mod in modules %} {% if ('module', mod.id|string) not in hidden_set and ('module', mod.id) not in hidden_set %} {{ mod.icon }} {{ mod.titel }} {% endif %} {% endfor %} {% for cm in custom_modules %} {% if ('custom', cm.id|string) not in hidden_set and ('custom', cm.id) not in hidden_set %} {{ cm.icon }} {{ cm.name }} {% endif %} {% endfor %}
{% set ns = namespace(hc=0) %} {% for mod in modules %}{% if ('module', mod.id|string) in hidden_set or ('module', mod.id) in hidden_set %}{% set ns.hc = ns.hc + 1 %}{% endif %}{% endfor %} {% for cm in custom_modules %}{% if ('custom', cm.id|string) in hidden_set or ('custom', cm.id) in hidden_set %}{% set ns.hc = ns.hc + 1 %}{% endif %}{% endfor %} {% if ns.hc > 0 %}
👁 Ausgeblendete ({{ ns.hc }})
{% for mod in modules %}{% if ('module', mod.id|string) in hidden_set or ('module', mod.id) in hidden_set %} {{ mod.icon }} {{ mod.titel }} {% endif %}{% endfor %} {% for cm in custom_modules %}{% if ('custom', cm.id|string) in hidden_set or ('custom', cm.id) in hidden_set %} {{ cm.icon }} {{ cm.name }} {% endif %}{% endfor %}
{% endif %}
📋 Kopfdaten
{% if project.lv_name %} LV: {{ project.lv_name }} {% elif lv_names %}
LV:
{% endif %}
0 ausgewĂ€hlt | {{ lv_positionen|length }} Pos. Ctrl+Klick → Mehrfach | Shift+Klick → Bereich
{% if lv_positionen %} {% for lp in lv_positionen %} {% endfor %} {% else %} {% endif %}
Pos-Nr â–Ÿ Kurztext â–Ÿ EH â–Ÿ EP (€) â–Ÿ
{{ lp.pos_nr }} {{ lp.kurztext or '' }} {{ lp.einheit }} {{ lp.einzelpreis|german_number }} €
{% if project.lv_name %} Keine Positionen fĂŒr LV "{{ project.lv_name }}" gefunden. {% else %} Kein LV zugewiesen. WĂ€hlen Sie oben ein LV aus. {% endif %}
Eingabe
Langtext
Positionen ({{ positionen|length }})
Gesamt: {{ positionen|sum(attribute='gesamtpreis')|german_number }} €
{% for pos in positionen %} {% set empty = pos.pos_nr == '' and pos.faktor == 0 and pos.laenge == 0 and pos.breite == 0 and pos.tiefe == 0 and pos.menge == 0 and pos.einzelpreis == 0 and pos.gesamtpreis == 0 %} {% if empty %} {% else %} {% if pos.formel_typ=='frei' %} {% else %} {% endif %} {% endif %} {% endfor %}
Zeile Z-Art Abschnitt â–Ÿ Pos-Nr â–Ÿ Faktor â–Ÿ LĂ€nge â–Ÿ Breite â–Ÿ Tiefe â–Ÿ Menge â–Ÿ EH â–Ÿ Kurztext â–Ÿ Bemerkung â–Ÿ Menge â–Ÿ EP (€) â–Ÿ GP (€) â–Ÿ ✕
{{ pos.sortierung }} {{ 'Z91' if pos.formel_typ=='frei' else 'Std' if not empty }} {{ pos.abschnitt or '' }} {{ pos.pos_nr }}– Leere Zeile –
{{ '–' if pos.formel_typ=='frei' else pos.faktor|german_number }}{{ pos.formel or '–' }}{{ pos.laenge|german_number(zero_dash=True) }} {{ pos.breite|german_number(zero_dash=True) }} {{ pos.tiefe|german_number(zero_dash=True) }}{{ pos.menge|german_number(3, zero_dash=True) }} {{ pos.einheit }} {{ pos.kurztext or '' }} {{ pos.bemerkung or '' }} {{ pos.menge_hinten|german_number(zero_dash=True) }} {{ pos.einzelpreis|german_number }} {{ pos.gesamtpreis|german_number }} ✎
{% if not positionen %}

Keine Positionen. WĂ€hlen Sie links aus dem LV und klicken HinzufĂŒgen.

{% endif %}
{% endblock %} {% block scripts %} {% if positionen %}

Mengen- und Positions-Zusammenfassung

{% set seen = namespace(posns=[]) %} {% set totals = namespace(menge=0, gp=0) %} {% for pos in positionen if pos.pos_nr %} {% if pos.pos_nr not in seen.posns %} {% set _ = seen.posns.append(pos.pos_nr) %} {% set menge_sum = namespace(val=0) %} {% for p in positionen if p.pos_nr == pos.pos_nr %} {% set menge_sum.val = menge_sum.val + (p.menge_hinten or p.menge or 0) %} {% endfor %} {% set totals.menge = totals.menge + menge_sum.val %} {% set totals.gp = totals.gp + (positionen|selectattr('pos_nr','equalto',pos.pos_nr)|sum(attribute='gesamtpreis') or 0) %} {% endif %} {% endfor %}
Pos-Nr Kurztext Menge EP (€) GP (€)
{{ pos.pos_nr }} {{ pos.kurztext or '' }} {{ menge_sum.val|german_number(3) }} {{ pos.einzelpreis|german_number }} {{ positionen|selectattr('pos_nr','equalto',pos.pos_nr)|sum(attribute='gesamtpreis')|german_number }}
Summe {{ totals.menge|german_number(3) }} {{ totals.gp|german_number }} €
{% endif %}