docs/fix(web): título del selector Copiar de y notas de la prueba contra SAP
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
29e80181fe
commit
7842af0568
4 files changed
+5
-3
No files matched your search
@@ -132,6 +132,7 @@ Lo usan las pantallas con `partner` en su `DocumentScreen` (ventas y compras); e
|
||||
- **Códigos escritos a mano**: al salir del campo (socio con `resolveOnLeave` en `sbo-lookup-field`; artículo, almacén e impuesto en la grilla) se buscan con `SlLookupApi` (`core/sl/sl-lookup.ts`) en la misma lista que abre "…": se normaliza el código y se completa nombre/descripción; si no existe se avisa (en el campo o en la barra de estado) y la celda vuelve a su valor.
|
||||
- **Crear**: valida sin SAP (socio, fecha, al menos una línea con artículo, cantidad > 0), quita campos vacíos y filas en blanco, y abre el documento creado.
|
||||
- **Actualizar**: envía solo la cabecera que cambió y, si cambiaron las líneas, todas con `B1S-ReplaceCollectionsOnPatch: true`. Lleva `If-Match` con el `odata.etag` leído: si otro usuario cambió el documento, SAP responde **412**, no se guarda nada y se ofrece "Recargar".
|
||||
- **Copiar a / Copiar de** (`document-copy.ts`): los flujos estándar (oferta → orden → entrega → factura → nota de crédito, y los de compras) están en `COPY_FLOWS`. *Copiar a* (documento guardado, abierto y sin cambios) abre el documento de destino nuevo con el origen en el estado de la navegación; *Copiar de* (documento nuevo) lista los abiertos del origen elegido, del mismo socio si ya se indicó. Se copian las líneas abiertas con la cantidad pendiente y `BaseType/BaseEntry/BaseLine`, con lo que SAP enlaza y cierra el origen.
|
||||
- **Cerrado o cancelado**: solo lectura (sin botón de guardar).
|
||||
- **Navegación** primero / anterior / siguiente / último por `DocEntry`.
|
||||
- La lógica sin Angular está en `document-model.ts` (totales, payload, validación, navegación) y el acceso HTTP en `core/sl/sl-document.ts`.
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
@if (copyListScreen(); as src) {
|
||||
<sbo-value-help
|
||||
[open]="true"
|
||||
[title]="'Copiar de: ' + src.createLabel.replace('Nueva ', '').replace('Nuevo ', '')"
|
||||
[title]="'Copiar de: ' + copyListTitle()"
|
||||
[resource]="src.resource"
|
||||
[columns]="copyListColumns"
|
||||
[baseFilter]="copyListFilter()"
|
||||
|
||||
@@ -165,6 +165,7 @@ export class DocumentFormPage {
|
||||
protected readonly copyFromItems = computed<MenuItem[]>(() =>
|
||||
copySources(this.screen.path).map((p) => ({ id: p, label: menuLabel(p), disabled: !this.isNew() })),
|
||||
);
|
||||
protected readonly copyListTitle = computed(() => menuLabel(this.copyListFor() ?? ''));
|
||||
protected readonly copyListScreen = computed(() => DOCUMENT_SCREENS.find((s) => s.path === this.copyListFor()));
|
||||
/** Documentos abiertos del origen elegido, del mismo socio si ya se indicó. */
|
||||
protected readonly copyListFilter = computed(() => {
|
||||
|
||||
Reference in new issue
Block a user