fix(iva): exclude import-linked services from goods gift references

This commit is contained in:
2026-10-24 20:39:54 +02:00
parent f9fb04f947
commit 29e708ba2d
2 changed files with 4 additions and 2 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
import { acquisitionBook, acquisitionScope } from './iva-acquisitions.ts';
import { importExemptionBook } from './iva-import-exemptions.ts';
import { importExemptionBook,isImportService } from './iva-import-exemptions.ts';
type Choice = ''|'yes'|'no';
export const offerPreparationSource='CIVA,Lei13/2016,14(2)(a/b) e14(3),PDF13/p.1426(271). Preparação de dados; procedimento regulamentar de aplicação ainda em pesquisa. Não concede isenção nem preenche dedução/campo11.';
@@ -34,7 +34,7 @@ export function recordOfferPreparations(book:OfferPreparationBook):OfferPreparat
export type OfferReusable={key:string;label:string;operation:'acquisition'|'import';values:Partial<OfferPreparation>};
export function offerReusableData(draft:Record<string,unknown>):OfferReusable[]{
const purchases=acquisitionBook(draft).rows.map(row=>({key:'acquisition:'+row.id,label:'Aquisição: '+(row.description||row.documentRef||row.id),operation:'acquisition' as const,values:{description:row.description,period:row.period,currency:row.sourceCurrency,amount:row.net,documentRef:row.documentRef,documentDate:row.documentDate,counterparty:row.supplier}}));
const imports=importExemptionBook(draft).rows.map(row=>({key:'import:'+row.id,label:'Importação: '+(row.description||row.documentRef||row.id),operation:'import' as const,values:{description:row.description,period:row.period,currency:row.currency,amount:row.declaredValue,documentRef:row.documentRef,documentDate:row.documentDate,counterparty:row.importer}}));
const imports=importExemptionBook(draft).rows.filter(row=>!isImportService(row.treatment)).map(row=>({key:'import:'+row.id,label:'Importação: '+(row.description||row.documentRef||row.id),operation:'import' as const,values:{description:row.description,period:row.period,currency:row.currency,amount:row.declaredValue,documentRef:row.documentRef,documentDate:row.documentDate,counterparty:row.importer}}));
return [...purchases,...imports];
}
export function reuseOfferData(row:OfferPreparation,source:OfferReusable):OfferPreparation {