1
0
Files
Rihards Gailums 66ce42ea37 Spec-conformance fix: correct stub levels and add BPMN-DI
Three corrections grounded in the UAPF SSOT specification (UAPFormat/
UAPF-specification, specification/01-concepts.md, 04-folder-structure.md,
05-level-composition.md, 10-conformance-checklist.md), which had not been
read in full before the initial workspace build.

1. Level relabel. The FG3 sub-process stubs fg3-2, fg3-3 and fg3-6 had
   been marked level: 4 by template inheritance from fg3-1 at Step 4 of
   the build, despite carrying no BPMN and no resources. Per the spec
   conformance checklist this fails the L4 requirement. The three are
   composition placeholders, which the spec models as L3 (composed
   subprocess / variant). Their uapf.yaml is now level: 3 with
   cornerstones.bpmn: false — conformant: L1-L3 packages MUST NOT
   duplicate L4 content. The three real executables fg3-1, fg3-4 and
   fg3-5 remain L4.

2. BPMN Diagram Interchange. All five .bpmn files in the workspace now
   carry a bpmndi:BPMNDiagram with BPMNShape and BPMNEdge elements
   produced by a swim-lane left-to-right auto-layout, so the diagrams
   preview in bpmn.io, Camunda Modeler and ProcessGit's web view. The
   spec doesn't require DI (its own examples have none) but practical
   reviewability does.

3. Transcoder. tools/register-transcoder gains bpmn_di.py — also runnable
   standalone for retrofitting existing BPMN files. transcode.py now
   imports it and emits DI by default for newly generated skeletons.
   sample-output/3.5.2.skeleton.bpmn and 3.5.3.skeleton.bpmn regenerated
   with DI; the logical-model content is byte-identical to the previous
   commit, only DI is added.

docs/methodology.md updated: adds an explicit Workspace-structure section
grounding L0-L4 in the SSOT spec, a Conformance-correction section
documenting the Step-4 mislabel and its fix, and drops the now-untrue
'no DI' line from limitations.

Validation after the change, full L1-L4 sweep: uapf-cli validate green on
all 10 packages (domains/gramatvediba, fg1-fg6, fg3, fg3-1..fg3-6);
xmllint clean on all 8 .bpmn/.dmn; every .bpmn has BPMNDiagram present.
2026-05-20 06:44:14 +00:00

270 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
id="Defs_FG3_5_KomandejumaNorekina"
targetNamespace="https://uapf.dev/vk-gramatvediba/fg3-5">
<bpmn:process id="Process_KomandejumaNorekina"
name="Komandējuma norēķina veikšana"
isExecutable="true">
<bpmn:laneSet id="LaneSet_FG3_5">
<bpmn:lane id="Lane_Nodarbinatais" name="Nodarbinātais">
<bpmn:flowNodeRef>Start_PieteikumsIesniegts</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_IesniegtAtskaiti</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_Iestade" name="Iestāde (atbildīgā amatpersona)">
<bpmn:flowNodeRef>Task_SaskanotAtskaiti</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_VPC" name="VPC (Vienotais pakalpojumu centrs)">
<bpmn:flowNodeRef>Task_ApstradatPieteikumu</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_Atcelts</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_AnuletPieteikumu</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_Anulets</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_ApstradatAtskaiti</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_NoteiktRezultatu</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_Rezultats</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_PieprasitAtmaksu</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_SagatavotPapilduIzmaksu</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_Iegramatot</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_Iegramatots</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="Start_PieteikumsIesniegts" name="Komandējuma pieteikums iesniegts">
<bpmn:documentation>Nodarbinātais iesniedz komandējuma (darba brauciena) pieteikumu Pašapkalpošanās portālā (HoP lietotnē "Komandējumi"). Pieteikuma sagatavošana un saskaņošana notiek personāla pārvaldības procesā (PP); FG3-5 sākas, kad pieteikums nonāk grāmatvedības apstrādē.</bpmn:documentation>
<bpmn:outgoing>F1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="Task_ApstradatPieteikumu" name="Apstrādāt komandējuma pieteikumu">
<bpmn:documentation>VPC, saņemot pieteikumu par komandējumu vai tā izmaiņām, veic pieteikuma apstrādi komandējuma dokumentos saskaņā ar Horizon projektējumā norādīto. Ja Nodarbinātajam komandējuma vajadzībām ir piešķirta Iestādei piesaistītā norēķinu karte, izmaksas tiek veiktas uz to, pārējos gadījumos — uz darbinieka algas kontu. Sistēma: RVS Horizon. SLA: ne vēlāk kā 2 darba dienas pirms komandējuma par dienas naudu; 3 darba dienas no apstiprināta pieteikuma saņemšanas, ja avanss pieprasīts citiem komandējuma izdevumiem. Procesa solis 3.5.3.1.</bpmn:documentation>
<bpmn:incoming>F1</bpmn:incoming>
<bpmn:outgoing>F2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_Atcelts" name="Komandējums atcelts?" default="F3">
<bpmn:incoming>F2</bpmn:incoming>
<bpmn:outgoing>F3</bpmn:outgoing>
<bpmn:outgoing>F4</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="Task_AnuletPieteikumu" name="Anulēt komandējuma pieteikumu">
<bpmn:documentation>VPC, saņemot informāciju par komandējuma atcelšanu, anulē pieteikumu un pārbauda veiktās izmaksas. Izmaksu gadījumā tālāk rīkojas atbilstoši komandējuma pieteikumā norādītajam. Sistēma: RVS Horizon. SLA: 3 darba dienas no informācijas saņemšanas. Procesa solis 3.5.3.2.</bpmn:documentation>
<bpmn:incoming>F4</bpmn:incoming>
<bpmn:outgoing>F5</bpmn:outgoing>
</bpmn:userTask>
<bpmn:endEvent id="End_Anulets" name="Komandējuma pieteikums anulēts">
<bpmn:incoming>F5</bpmn:incoming>
</bpmn:endEvent>
<bpmn:userTask id="Task_IesniegtAtskaiti" name="Iesniegt komandējuma izdevumu atskaiti">
<bpmn:documentation>Nodarbinātais (vai Iestāde, ja komandējumā nosūtīta persona, kas nav Iestādes Nodarbinātais) iesniedz komandējuma atskaiti Pašapkalpošanās portālā (HoP lietotnē "Komandējumi"). Atskaite jāiesniedz arī gadījumos, ja nav radušies papildu izdevumi. Sistēma: Pašapkalpošanās portāls. SLA: 10 darba dienas pēc atgriešanās no komandējuma. Procesa solis 3.5.3.3.</bpmn:documentation>
<bpmn:incoming>F3</bpmn:incoming>
<bpmn:outgoing>F6</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_SaskanotAtskaiti" name="Saskaņot komandējuma atskaiti">
<bpmn:documentation>Iestādes atbildīgā amatpersona saskaņo iesniegto komandējuma izdevumu atskaiti atbilstoši Iestādes definētajai saskaņošanas plūsmai. Sistēma: Pašapkalpošanās portāls.</bpmn:documentation>
<bpmn:incoming>F6</bpmn:incoming>
<bpmn:outgoing>F7</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_ApstradatAtskaiti" name="Apstrādāt komandējuma atskaiti">
<bpmn:documentation>VPC, saņemot komandējuma izdevumu atskaiti, veic atskaites apstrādi komandējuma dokumentos vai avansa norēķina dokumentos un nepieciešamības gadījumā atzīst prasības pret uzaicinātājpusi. Rezultāts: mainīgie avansaSituacija = "nav-avansa" | "avanss-lielaks" | "avanss-vienads" | "izdevumi-lielaki" un nakamaisKomandejums = "ir" | "nav". Sistēma: RVS Horizon. SLA: 3 darba dienas no atskaites apstiprināšanas. Procesa solis 3.5.3.4.</bpmn:documentation>
<bpmn:incoming>F7</bpmn:incoming>
<bpmn:outgoing>F8</bpmn:outgoing>
</bpmn:userTask>
<bpmn:businessRuleTask id="Task_NoteiktRezultatu" name="Noteikt norēķina rezultātu">
<bpmn:documentation>Automatizēti izvērtē komandējuma norēķina rezultātu, izpildot lēmumu Decision_KomandejumaNorekins (dmn/komandejuma-norekins.dmn). Ievaddati: avansaSituacija, nakamaisKomandejums. Rezultāts: mainīgais norekinResultats.</bpmn:documentation>
<bpmn:incoming>F8</bpmn:incoming>
<bpmn:outgoing>F9</bpmn:outgoing>
</bpmn:businessRuleTask>
<bpmn:exclusiveGateway id="Gateway_Rezultats" name="Norēķina rezultāts?" default="F10">
<bpmn:incoming>F9</bpmn:incoming>
<bpmn:outgoing>F10</bpmn:outgoing>
<bpmn:outgoing>F11</bpmn:outgoing>
<bpmn:outgoing>F12</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="Task_PieprasitAtmaksu" name="Pieprasīt avansa atmaksu">
<bpmn:documentation>VPC informē Atbalsta sistēmā (Redmine) Iestādi par nepieciešamību veikt avansa atmaksu, ja izmaksātais komandējuma avanss pārsniedz iesniegtos attaisnojuma izdevumus un nav apstiprināts nākamais komandējums no tā paša finansējuma. Sistēma: RVS Horizon, Atbalsta sistēma (Redmine). Saistīts process: 3.5.4 (Avansa atmaksas).</bpmn:documentation>
<bpmn:incoming>F11</bpmn:incoming>
<bpmn:outgoing>F13</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_SagatavotPapilduIzmaksu" name="Sagatavot papildu izmaksas priekšlikumu">
<bpmn:documentation>Ja iesniegtie attaisnojuma izdevumi pārsniedz izmaksāto avansu (vai avanss nav bijis), VPC sagatavo papildu izmaksas priekšlikumu Nodarbinātajam par starpību. Izmaksa tiek veikta FG2 maksājumu procesā. Sistēma: RVS Horizon.</bpmn:documentation>
<bpmn:incoming>F12</bpmn:incoming>
<bpmn:outgoing>F14</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_Iegramatot" name="Iegrāmatot komandējuma norēķinu">
<bpmn:documentation>VPC iegrāmato komandējuma norēķina dokumentu grāmatvedības informācijas sistēmā. Ja izmaksātais avanss pārsniedz izdevumus un Nodarbinātajam ir apstiprināts nākamais komandējums no tā paša finansējuma, avansa atlikums tiek saglabāts (pārnests) uz nākamo apstiprināto komandējumu. Sistēma: RVS Horizon.</bpmn:documentation>
<bpmn:incoming>F10</bpmn:incoming>
<bpmn:incoming>F13</bpmn:incoming>
<bpmn:incoming>F14</bpmn:incoming>
<bpmn:outgoing>F15</bpmn:outgoing>
</bpmn:userTask>
<bpmn:endEvent id="End_Iegramatots" name="Komandējuma norēķins iegrāmatots">
<bpmn:incoming>F15</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="F1" sourceRef="Start_PieteikumsIesniegts" targetRef="Task_ApstradatPieteikumu"/>
<bpmn:sequenceFlow id="F2" sourceRef="Task_ApstradatPieteikumu" targetRef="Gateway_Atcelts"/>
<bpmn:sequenceFlow id="F3" name="norisinās" sourceRef="Gateway_Atcelts" targetRef="Task_IesniegtAtskaiti"/>
<bpmn:sequenceFlow id="F4" name="atcelts" sourceRef="Gateway_Atcelts" targetRef="Task_AnuletPieteikumu">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">komandejumsAtcelts = "ja"</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="F5" sourceRef="Task_AnuletPieteikumu" targetRef="End_Anulets"/>
<bpmn:sequenceFlow id="F6" sourceRef="Task_IesniegtAtskaiti" targetRef="Task_SaskanotAtskaiti"/>
<bpmn:sequenceFlow id="F7" sourceRef="Task_SaskanotAtskaiti" targetRef="Task_ApstradatAtskaiti"/>
<bpmn:sequenceFlow id="F8" sourceRef="Task_ApstradatAtskaiti" targetRef="Task_NoteiktRezultatu"/>
<bpmn:sequenceFlow id="F9" sourceRef="Task_NoteiktRezultatu" targetRef="Gateway_Rezultats"/>
<bpmn:sequenceFlow id="F10" name="slēgts / pārnesums" sourceRef="Gateway_Rezultats" targetRef="Task_Iegramatot"/>
<bpmn:sequenceFlow id="F11" name="atmaksa" sourceRef="Gateway_Rezultats" targetRef="Task_PieprasitAtmaksu">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">norekinResultats = "atmaksa"</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="F12" name="papildu-izmaksa" sourceRef="Gateway_Rezultats" targetRef="Task_SagatavotPapilduIzmaksu">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">norekinResultats = "papildu-izmaksa"</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="F13" sourceRef="Task_PieprasitAtmaksu" targetRef="Task_Iegramatot"/>
<bpmn:sequenceFlow id="F14" sourceRef="Task_SagatavotPapilduIzmaksu" targetRef="Task_Iegramatot"/>
<bpmn:sequenceFlow id="F15" sourceRef="Task_Iegramatot" targetRef="End_Iegramatots"/>
</bpmn:process>
<bpmndi:BPMNDiagram xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_KomandejumaNorekina">
<bpmndi:BPMNShape id="Shape_Lane_Nodarbinatais" bpmnElement="Lane_Nodarbinatais" isHorizontal="true">
<dc:Bounds x="30" y="40" width="1970" height="180"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Lane_Iestade" bpmnElement="Lane_Iestade" isHorizontal="true">
<dc:Bounds x="30" y="220" width="1970" height="180"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Lane_VPC" bpmnElement="Lane_VPC" isHorizontal="true">
<dc:Bounds x="30" y="400" width="1970" height="180"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Start_PieteikumsIesniegts" bpmnElement="Start_PieteikumsIesniegts">
<dc:Bounds x="122" y="112" width="36" height="36"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_End_Anulets" bpmnElement="End_Anulets">
<dc:Bounds x="802" y="472" width="36" height="36"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_End_Iegramatots" bpmnElement="End_Iegramatots">
<dc:Bounds x="1822" y="472" width="36" height="36"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Gateway_Atcelts" bpmnElement="Gateway_Atcelts">
<dc:Bounds x="455" y="465" width="50" height="50"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Gateway_Rezultats" bpmnElement="Gateway_Rezultats">
<dc:Bounds x="1305" y="465" width="50" height="50"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_ApstradatPieteikumu" bpmnElement="Task_ApstradatPieteikumu">
<dc:Bounds x="260" y="450" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_AnuletPieteikumu" bpmnElement="Task_AnuletPieteikumu">
<dc:Bounds x="600" y="450" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_IesniegtAtskaiti" bpmnElement="Task_IesniegtAtskaiti">
<dc:Bounds x="600" y="90" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_SaskanotAtskaiti" bpmnElement="Task_SaskanotAtskaiti">
<dc:Bounds x="770" y="270" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_ApstradatAtskaiti" bpmnElement="Task_ApstradatAtskaiti">
<dc:Bounds x="940" y="450" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_PieprasitAtmaksu" bpmnElement="Task_PieprasitAtmaksu">
<dc:Bounds x="1450" y="415" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_SagatavotPapilduIzmaksu" bpmnElement="Task_SagatavotPapilduIzmaksu">
<dc:Bounds x="1450" y="485" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Iegramatot" bpmnElement="Task_Iegramatot">
<dc:Bounds x="1620" y="450" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_NoteiktRezultatu" bpmnElement="Task_NoteiktRezultatu">
<dc:Bounds x="1110" y="450" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Edge_F1" bpmnElement="F1">
<di:waypoint x="158" y="130"/>
<di:waypoint x="209" y="130"/>
<di:waypoint x="209" y="490"/>
<di:waypoint x="260" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F2" bpmnElement="F2">
<di:waypoint x="360" y="490"/>
<di:waypoint x="455" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F3" bpmnElement="F3">
<di:waypoint x="505" y="490"/>
<di:waypoint x="552" y="490"/>
<di:waypoint x="552" y="130"/>
<di:waypoint x="600" y="130"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F4" bpmnElement="F4">
<di:waypoint x="505" y="490"/>
<di:waypoint x="600" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F5" bpmnElement="F5">
<di:waypoint x="700" y="490"/>
<di:waypoint x="802" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F6" bpmnElement="F6">
<di:waypoint x="700" y="130"/>
<di:waypoint x="735" y="130"/>
<di:waypoint x="735" y="310"/>
<di:waypoint x="770" y="310"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F7" bpmnElement="F7">
<di:waypoint x="870" y="310"/>
<di:waypoint x="905" y="310"/>
<di:waypoint x="905" y="490"/>
<di:waypoint x="940" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F8" bpmnElement="F8">
<di:waypoint x="1040" y="490"/>
<di:waypoint x="1110" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F9" bpmnElement="F9">
<di:waypoint x="1210" y="490"/>
<di:waypoint x="1305" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F10" bpmnElement="F10">
<di:waypoint x="1355" y="490"/>
<di:waypoint x="1620" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F11" bpmnElement="F11">
<di:waypoint x="1355" y="490"/>
<di:waypoint x="1402" y="490"/>
<di:waypoint x="1402" y="455"/>
<di:waypoint x="1450" y="455"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F12" bpmnElement="F12">
<di:waypoint x="1355" y="490"/>
<di:waypoint x="1402" y="490"/>
<di:waypoint x="1402" y="525"/>
<di:waypoint x="1450" y="525"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F13" bpmnElement="F13">
<di:waypoint x="1550" y="455"/>
<di:waypoint x="1585" y="455"/>
<di:waypoint x="1585" y="490"/>
<di:waypoint x="1620" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F14" bpmnElement="F14">
<di:waypoint x="1550" y="525"/>
<di:waypoint x="1585" y="525"/>
<di:waypoint x="1585" y="490"/>
<di:waypoint x="1620" y="490"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_F15" bpmnElement="F15">
<di:waypoint x="1720" y="490"/>
<di:waypoint x="1822" y="490"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>