mirror of
https://github.com/cursos-uai/sap_tfi_2026.git
synced 2026-07-31 20:48:30 -03:00
Cambios desde el commit anterior: PDFs y formatos visuales (Paso 1): - 11 PNGs + 11 SVGs + 11 PDFs generados con PlantUML 1.2021.16 - Conversión PNG→PDF con fpdf2 (workaround para Java 8) Diagramas adicionales (Paso 2): - d_rob_ven_001_crear_presupuesto.puml + .pdf - d_sec_ven_001_crear_presupuesto.puml + .pdf - d_rob_ent_002_reservar_productos.puml + .pdf - d_sec_ent_002_reservar_productos.puml + .pdf - d_rob_fac_001_crear_factura.puml + .pdf - d_sec_fac_001_crear_factura.puml + .pdf EV-COD adicionales (Paso 3): - EV-COD-021 a EV-COD-030 (10 nuevas evidencias) - EV-INF reducidas de 22 a 8 (14 promovidas a EV-COD) - evidence/index.md con catálogo completo de evidencias Material educativo (Paso 4): - docs/10_material_estudio/README.md - docs/10_material_estudio/01_que_es_iconix.md - docs/10_material_estudio/02_aplicacion_a_odoo.md - docs/10_material_estudio/03_como_leer_los_cu.md - docs/10_material_estudio/04_ejercicios_practicos.md Matriz de trazabilidad actualizada con las nuevas EV-COD.
67 lines
18 KiB
XML
67 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="820px" preserveAspectRatio="none" style="width:1089px;height:820px;background:#FFFFFF;" version="1.1" viewBox="0 0 1089 820" width="1089px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="516" x="283" y="23.1387">SAP-TFI-2026 — Diagrama de Robustez - Crear Factura desde Pedido (CU-FAC-001)</text><rect fill="#FFFFFF" height="313.625" style="stroke:#000000;stroke-width:2.0;" width="1062" x="10" y="280.75"/><rect fill="#FFFFFF" height="71.9063" style="stroke:#000000;stroke-width:2.0;" width="666" x="316" y="359.6563"/><rect fill="#FFFFFF" height="43.9375" style="stroke:none;stroke-width:1.0;" width="1062" x="10" y="550.4375"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="64" x2="64" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="232" x2="232" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="385" x2="385" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="589" x2="589" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="690" x2="690" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="795" x2="795" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="912" x2="912" y1="123.9063" y2="639.3438"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1022" x2="1022" y1="123.9063" y2="639.3438"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="69" x="27" y="107.1074">Facturador</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="83" x="20" y="121.0762">(o Vendedor)</text><ellipse cx="64.5" cy="42.9688" fill="#FEFECE" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M64.5,50.9688 L64.5,77.9688 M51.5,58.9688 L77.5,58.9688 M64.5,77.9688 L51.5,92.9688 M64.5,77.9688 L77.5,92.9688 " fill="none" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="69" x="27" y="649.4824">Facturador</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="83" x="20" y="663.4512">(o Vendedor)</text><ellipse cx="64.5" cy="676.2813" fill="#FEFECE" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M64.5,684.2813 L64.5,711.2813 M51.5,692.2813 L77.5,692.2813 M64.5,711.2813 L51.5,726.2813 M64.5,711.2813 L77.5,726.2813 " fill="none" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="127" x="166" y="107.1074">Boton Crear Factura</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="94" x="182.5" y="121.0762">(en sale.order)</text><path d="M212,67.9688 L212,91.9688 M212,79.9688 L229,79.9688 " fill="none" style="stroke:#A80036;stroke-width:2.0;"/><ellipse cx="241" cy="79.9688" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="127" x="166" y="649.4824">Boton Crear Factura</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="94" x="182.5" y="663.4512">(en sale.order)</text><path d="M212,670.2813 L212,694.2813 M212,682.2813 L229,682.2813 " fill="none" style="stroke:#A80036;stroke-width:2.0;"/><ellipse cx="241" cy="682.2813" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="62" x="351.5" y="107.1074">SaleOrder</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="113" x="326" y="121.0762">(_create_invoices)</text><ellipse cx="385.5" cy="79.9688" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><polygon fill="#A80036" points="381.5,67.9688,387.5,62.9688,385.5,67.9688,387.5,72.9688,381.5,67.9688" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="62" x="351.5" y="649.4824">SaleOrder</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="113" x="326" y="663.4512">(_create_invoices)</text><ellipse cx="385.5" cy="682.2813" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><polygon fill="#A80036" points="381.5,670.2813,387.5,665.2813,385.5,670.2813,387.5,675.2813,381.5,670.2813" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="64" x="554.5" y="107.1074">sale.order</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="79" x="547" y="121.0762">(state=sale)</text><ellipse cx="589.5" cy="79.9688" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="577.5" x2="601.5" y1="93.9688" y2="93.9688"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="64" x="554.5" y="649.4824">sale.order</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="79" x="547" y="663.4512">(state=sale)</text><ellipse cx="589.5" cy="682.2813" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="577.5" x2="601.5" y1="696.2813" y2="696.2813"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="90" x="642" y="121.0762">sale.order.line</text><ellipse cx="690" cy="93.9375" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="678" x2="702" y1="107.9375" y2="107.9375"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="90" x="642" y="649.4824">sale.order.line</text><ellipse cx="690" cy="668.3125" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="678" x2="702" y1="682.3125" y2="682.3125"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="88" x="748" y="107.1074">account.move</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="40" x="772" y="121.0762">(draft)</text><ellipse cx="795" cy="79.9688" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="783" x2="807" y1="93.9688" y2="93.9688"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="88" x="748" y="649.4824">account.move</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="40" x="772" y="663.4512">(draft)</text><ellipse cx="795" cy="682.2813" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="783" x2="807" y1="696.2813" y2="696.2813"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="114" x="852" y="121.0762">account.move.line</text><ellipse cx="912" cy="93.9375" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="900" x2="924" y1="107.9375" y2="107.9375"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="114" x="852" y="649.4824">account.move.line</text><ellipse cx="912" cy="668.3125" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="900" x2="924" y1="682.3125" y2="682.3125"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="74" x="982" y="121.0762">account.tax</text><ellipse cx="1022" cy="93.9375" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="1010" x2="1034" y1="107.9375" y2="107.9375"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="74" x="982" y="649.4824">account.tax</text><ellipse cx="1022" cy="668.3125" fill="#FEFECE" rx="12" ry="12" style="stroke:#A80036;stroke-width:2.0;"/><line style="stroke:#A80036;stroke-width:2.0;" x1="1010" x2="1034" y1="682.3125" y2="682.3125"/><polygon fill="#A80036" points="220.5,149.875,230.5,153.875,220.5,157.875,224.5,153.875" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="64.5" x2="226.5" y1="153.875" y2="153.875"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="144" x="71.5" y="149.0449">1. Click "Crear Factura"</text><polygon fill="#A80036" points="373.5,177.8438,383.5,181.8438,373.5,185.8438,377.5,181.8438" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="232.5" x2="379.5" y1="181.8438" y2="181.8438"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="129" x="239.5" y="177.0137">2. _create_invoices()</text><polygon fill="#A80036" points="577.5,205.8125,587.5,209.8125,577.5,213.8125,581.5,209.8125" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="583.5" y1="209.8125" y2="209.8125"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="85" x="392.5" y="204.9824">3. Lee pedido</text><polygon fill="#A80036" points="396.5,233.7813,386.5,237.7813,396.5,241.7813,392.5,237.7813" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="390.5" x2="588.5" y1="237.7813" y2="237.7813"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="129" x="402.5" y="232.9512">4. order, lines, taxes</text><polygon fill="#A80036" points="577.5,261.75,587.5,265.75,577.5,269.75,581.5,265.75" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="583.5" y1="265.75" y2="265.75"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="155" x="392.5" y="260.9199">5. Verifica invoice_status</text><path d="M10,280.75 L74,280.75 L74,285.75 L64,295.75 L10,295.75 L10,280.75 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="313.625" style="stroke:#000000;stroke-width:2.0;" width="1062" x="10" y="280.75"/><text fill="#000000" font-family="Arial" font-size="12" font-weight="bold" lengthAdjust="spacing" textLength="19" x="25" y="292.8887">alt</text><text fill="#000000" font-family="Arial" font-size="12" font-weight="bold" lengthAdjust="spacing" textLength="174" x="89" y="293.8887">[Si hay lineas a facturar]</text><polygon fill="#A80036" points="678,312.6875,688,316.6875,678,320.6875,682,316.6875" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="684" y1="316.6875" y2="316.6875"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="162" x="392.5" y="311.8574">6a. Lee lineas pendientes</text><polygon fill="#A80036" points="1010,340.6563,1020,344.6563,1010,348.6563,1014,344.6563" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="1016" y1="344.6563" y2="344.6563"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="130" x="392.5" y="339.8262">7a. Aplica impuestos</text><path d="M316,359.6563 L392,359.6563 L392,364.6563 L382,374.6563 L316,374.6563 L316,359.6563 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="71.9063" style="stroke:#000000;stroke-width:2.0;" width="666" x="316" y="359.6563"/><text fill="#000000" font-family="Arial" font-size="12" font-weight="bold" lengthAdjust="spacing" textLength="31" x="331" y="371.7949">loop</text><text fill="#000000" font-family="Arial" font-size="12" font-weight="bold" lengthAdjust="spacing" textLength="111" x="407" y="372.7949">[Por cada linea]</text><polygon fill="#A80036" points="900,391.5938,910,395.5938,900,399.5938,904,395.5938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="906" y1="395.5938" y2="395.5938"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="171" x="392.5" y="390.7637">8a. Crea account.move.line</text><polygon fill="#A80036" points="396.5,419.5625,386.5,423.5625,396.5,427.5625,392.5,423.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="390.5" x2="911" y1="423.5625" y2="423.5625"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="40" x="402.5" y="418.7324">9a. OK</text><polygon fill="#A80036" points="783,454.5313,793,458.5313,783,462.5313,787,458.5313" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="789" y1="458.5313" y2="458.5313"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="197" x="392.5" y="453.7012">10a. Crea account.move (draft)</text><polygon fill="#A80036" points="396.5,482.5,386.5,486.5,396.5,490.5,392.5,486.5" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="390.5" x2="794" y1="486.5" y2="486.5"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="162" x="402.5" y="481.6699">11a. id, name (sequence)</text><polygon fill="#A80036" points="577.5,510.4688,587.5,514.4688,577.5,518.4688,581.5,514.4688" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="583.5" y1="514.4688" y2="514.4688"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="144" x="392.5" y="509.6387">12a. Asocia invoice_ids</text><polygon fill="#A80036" points="577.5,538.4375,587.5,542.4375,577.5,546.4375,581.5,542.4375" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="385.5" x2="583.5" y1="542.4375" y2="542.4375"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="180" x="392.5" y="537.6074">13a. Actualiza invoice_status</text><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="10" x2="1072" y1="551.4375" y2="551.4375"/><text fill="#000000" font-family="Arial" font-size="12" font-weight="bold" lengthAdjust="spacing" textLength="155" x="15" y="562.5762">[Si nada que facturar]</text><polygon fill="#A80036" points="75.5,582.375,65.5,586.375,75.5,590.375,71.5,586.375" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="69.5" x2="384.5" y1="586.375" y2="586.375"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="203" x="81.5" y="581.5449">6b. Mensaje "Nothing to invoice"</text><polygon fill="#A80036" points="75.5,617.3438,65.5,621.3438,75.5,625.3438,71.5,621.3438" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="69.5" x2="384.5" y1="621.3438" y2="621.3438"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="164" x="81.5" y="616.5137">14. Resultado (OK o error)</text><rect fill="#DDDDDD" height="65.875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.0;" width="264" x="809" y="738.2813"/><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="144" x="815" y="754.4199">Proyecto: SAP-TFI-2026</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="120" x="815" y="768.3887">Agente: saptfi2026</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="124" x="815" y="782.3574">Metodologia: ICONIX</text><text fill="#000000" font-family="Arial" font-size="12" lengthAdjust="spacing" textLength="252" x="815" y="796.3262">Fuente: Ingenieria inversa de Odoo 19.0</text><!--MD5=[cd5464ab31f0ed8707a4f3a764f16cb5]
|
|
@startuml D-ROB-FAC-001 — Diagrama de Robustez: Crear Factura
|
|
|
|
title SAP-TFI-2026 — Diagrama de Robustez - Crear Factura desde Pedido (CU-FAC-001)
|
|
|
|
skinparam shadowing false
|
|
skinparam handwritten false
|
|
skinparam defaultFontName Arial
|
|
skinparam defaultFontSize 12
|
|
skinparam linetype ortho
|
|
skinparam backgroundColor white
|
|
|
|
actor "Facturador\n(o Vendedor)" as A
|
|
|
|
boundary "Boton Crear Factura\n(en sale.order)" as B_Btn
|
|
|
|
control "SaleOrder\n(_create_invoices)" as C_Inv
|
|
|
|
entity "sale.order\n(state=sale)" as E_SO
|
|
entity "sale.order.line" as E_Line
|
|
entity "account.move\n(draft)" as E_AM
|
|
entity "account.move.line" as E_AML
|
|
entity "account.tax" as E_Tax
|
|
|
|
A - -> B_Btn : 1. Click "Crear Factura"
|
|
B_Btn - -> C_Inv : 2. _create_invoices()
|
|
C_Inv - -> E_SO : 3. Lee pedido
|
|
E_SO - -> C_Inv : 4. order, lines, taxes
|
|
|
|
C_Inv - -> E_SO : 5. Verifica invoice_status
|
|
alt Si hay lineas a facturar
|
|
C_Inv - -> E_Line : 6a. Lee lineas pendientes
|
|
C_Inv - -> E_Tax : 7a. Aplica impuestos
|
|
|
|
loop Por cada linea
|
|
C_Inv - -> E_AML : 8a. Crea account.move.line
|
|
E_AML - -> C_Inv : 9a. OK
|
|
end
|
|
|
|
C_Inv - -> E_AM : 10a. Crea account.move (draft)
|
|
E_AM - -> C_Inv : 11a. id, name (sequence)
|
|
|
|
C_Inv - -> E_SO : 12a. Asocia invoice_ids
|
|
C_Inv - -> E_SO : 13a. Actualiza invoice_status
|
|
else Si nada que facturar
|
|
C_Inv - -> A : 6b. Mensaje "Nothing to invoice"
|
|
end
|
|
|
|
C_Inv - -> A : 14. Resultado (OK o error)
|
|
|
|
legend right
|
|
Proyecto: SAP-TFI-2026
|
|
Agente: saptfi2026
|
|
Metodologia: ICONIX
|
|
Fuente: Ingenieria inversa de Odoo 19.0
|
|
endlegend
|
|
|
|
@enduml
|
|
|
|
PlantUML version 1.2021.16(Wed Dec 08 14:25:22 ART 2021)
|
|
(GPL source distribution)
|
|
Java Runtime: OpenJDK Runtime Environment
|
|
JVM: OpenJDK 64-Bit Server VM
|
|
Default Encoding: UTF-8
|
|
Language: es
|
|
Country: AR
|
|
--></g></svg> |