feat: solicitudes de compra como documento de marketing (solicitante, válido hasta, fecha necesaria, proveedor y fecha por línea) y API de usuarios con campos limitados

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-19 14:53:59 -05:00
1 parent a3bd976bbd
commit c1f2cea1e1
19 files changed
+342 -62

No files matched your search

@@ -125,8 +125,8 @@ export class DocumentFormPage {
return id === null ? undefined : `${API_URL}/sl/${this.screen.resource}/${id}`;
});
private readonly taxResource = httpResource<SlListResponse<DocRecord>>(() =>
this.partner
? { url: `${API_URL}/sl/${this.partner.taxResource}`, params: { $select: 'Code,Rate', $top: 500 } }
this.partner?.taxResource ?? this.screen.taxResource
? { url: `${API_URL}/sl/${this.partner?.taxResource ?? this.screen.taxResource}`, params: { $select: 'Code,Rate', $top: 500 } }
: undefined,
);
@@ -508,6 +508,11 @@ export class DocumentFormPage {
/** Tipo al que se quiere cambiar y que espera confirmación porque hay líneas escritas que se descartarían. */
protected readonly pendingType = signal<string | null>(null);
/** Al elegir de una lista de la cabecera, los campos que esa elección completa (el solicitante trae su nombre, correo y departamento). */
protected pickedLookup(f: { onPick?: (row: Record<string, unknown>) => Record<string, unknown> }, row: Record<string, unknown>): void {
if (f.onPick) this.header.update((h) => ({ ...h, ...f.onPick!(row) }));
}
// --- datos del socio: personas de contacto y direcciones ---------------------------------------
private readonly hasPartnerData = hasPartnerData(this.layout);