arcli 1.8.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -1
- package/README.md +17 -16
- package/dist/cli/arca-runtime.d.ts +20 -0
- package/dist/cli/arca-runtime.js +42 -0
- package/dist/cli/arca-runtime.js.map +1 -0
- package/dist/cli/commands/billing.command.batch.d.ts +15 -5
- package/dist/cli/commands/billing.command.batch.js +28 -11
- package/dist/cli/commands/billing.command.batch.js.map +1 -1
- package/dist/cli/commands/billing.command.interactive-preview.js +4 -1
- package/dist/cli/commands/billing.command.interactive-preview.js.map +1 -1
- package/dist/cli/commands/billing.command.options.js +18 -16
- package/dist/cli/commands/billing.command.options.js.map +1 -1
- package/dist/cli/commands/billing.command.output.d.ts +4 -0
- package/dist/cli/commands/billing.command.output.js +3 -2
- package/dist/cli/commands/billing.command.output.js.map +1 -1
- package/dist/cli/commands/billing.command.parser.d.ts +7 -0
- package/dist/cli/commands/billing.command.parser.js +85 -43
- package/dist/cli/commands/billing.command.parser.js.map +1 -1
- package/dist/cli/commands/billing.command.pdf.d.ts +1 -1
- package/dist/cli/commands/billing.command.pdf.js +17 -2
- package/dist/cli/commands/billing.command.pdf.js.map +1 -1
- package/dist/cli/commands/billing.command.shared.d.ts +22 -3
- package/dist/cli/commands/billing.command.shared.js +84 -47
- package/dist/cli/commands/billing.command.shared.js.map +1 -1
- package/dist/cli/commands/config.command.d.ts +3 -4
- package/dist/cli/commands/config.command.js +43 -41
- package/dist/cli/commands/config.command.js.map +1 -1
- package/dist/cli/commands/cuit-argument.d.ts +2 -0
- package/dist/cli/commands/cuit-argument.js +10 -0
- package/dist/cli/commands/cuit-argument.js.map +1 -0
- package/dist/cli/commands/fce-obligation.command.js +6 -13
- package/dist/cli/commands/fce-obligation.command.js.map +1 -1
- package/dist/cli/commands/interactive.command.js +8 -6
- package/dist/cli/commands/interactive.command.js.map +1 -1
- package/dist/cli/commands/padron.command.d.ts +2 -0
- package/dist/cli/commands/padron.command.js +47 -0
- package/dist/cli/commands/padron.command.js.map +1 -0
- package/dist/cli/commands/parameters.command.js +8 -7
- package/dist/cli/commands/parameters.command.js.map +1 -1
- package/dist/cli/commands/pdf.command.js +17 -30
- package/dist/cli/commands/pdf.command.js.map +1 -1
- package/dist/cli/commands/vouchers.command.js +9 -9
- package/dist/cli/commands/vouchers.command.js.map +1 -1
- package/dist/cli/error-output.d.ts +25 -0
- package/dist/cli/error-output.js +86 -0
- package/dist/cli/error-output.js.map +1 -0
- package/dist/cli/global-options.d.ts +26 -0
- package/dist/cli/global-options.js +56 -0
- package/dist/cli/global-options.js.map +1 -0
- package/dist/cli/help-argv.d.ts +5 -0
- package/dist/cli/help-argv.js +21 -0
- package/dist/cli/help-argv.js.map +1 -0
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.js +78 -31
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/ignored-global-options.d.ts +6 -0
- package/dist/cli/ignored-global-options.js +33 -0
- package/dist/cli/ignored-global-options.js.map +1 -0
- package/dist/cli/index.js +16 -26
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive/advanced-options.js +2 -2
- package/dist/cli/interactive/advanced-options.js.map +1 -1
- package/dist/cli/interactive/config.flow.d.ts +1 -2
- package/dist/cli/interactive/config.flow.js +4 -3
- package/dist/cli/interactive/config.flow.js.map +1 -1
- package/dist/cli/interactive/interactive-mode.js +108 -9
- package/dist/cli/interactive/interactive-mode.js.map +1 -1
- package/dist/cli/interactive/invoice-picker.js +3 -2
- package/dist/cli/interactive/invoice-picker.js.map +1 -1
- package/dist/cli/interactive/invoice.flow.d.ts +2 -0
- package/dist/cli/interactive/invoice.flow.js +4 -3
- package/dist/cli/interactive/invoice.flow.js.map +1 -1
- package/dist/cli/interactive/note.flow.d.ts +4 -0
- package/dist/cli/interactive/note.flow.js +25 -11
- package/dist/cli/interactive/note.flow.js.map +1 -1
- package/dist/cli/interactive/pdf.flow.js +33 -22
- package/dist/cli/interactive/pdf.flow.js.map +1 -1
- package/dist/cli/interactive/prompts.d.ts +3 -1
- package/dist/cli/interactive/prompts.js +8 -4
- package/dist/cli/interactive/prompts.js.map +1 -1
- package/dist/cli/interactive/receiver-padron.d.ts +29 -0
- package/dist/cli/interactive/receiver-padron.js +53 -0
- package/dist/cli/interactive/receiver-padron.js.map +1 -0
- package/dist/cli/interactive/repeat.flow.js +25 -10
- package/dist/cli/interactive/repeat.flow.js.map +1 -1
- package/dist/cli/interactive/session.js +4 -1
- package/dist/cli/interactive/session.js.map +1 -1
- package/dist/cli/interactive/update.flow.d.ts +6 -0
- package/dist/cli/interactive/update.flow.js +26 -0
- package/dist/cli/interactive/update.flow.js.map +1 -0
- package/dist/cli/interactive/validators.js +8 -4
- package/dist/cli/interactive/validators.js.map +1 -1
- package/dist/cli/option-parsers.d.ts +6 -0
- package/dist/cli/option-parsers.js +34 -0
- package/dist/cli/option-parsers.js.map +1 -0
- package/dist/cli/program.d.ts +5 -1
- package/dist/cli/program.js +8 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/lib/dates/arca-date.d.ts +13 -0
- package/dist/lib/dates/arca-date.js +28 -11
- package/dist/lib/dates/arca-date.js.map +1 -1
- package/dist/lib/errors/app-error.d.ts +4 -1
- package/dist/lib/errors/app-error.js +5 -1
- package/dist/lib/errors/app-error.js.map +1 -1
- package/dist/lib/files/restrict-to-owner.d.ts +7 -0
- package/dist/lib/files/restrict-to-owner.js +19 -0
- package/dist/lib/files/restrict-to-owner.js.map +1 -0
- package/dist/lib/files/write-new-file.d.ts +5 -0
- package/dist/lib/files/write-new-file.js +30 -0
- package/dist/lib/files/write-new-file.js.map +1 -0
- package/dist/lib/identity/format-cuit.d.ts +2 -0
- package/dist/lib/identity/format-cuit.js +6 -0
- package/dist/lib/identity/format-cuit.js.map +1 -0
- package/dist/lib/links.d.ts +2 -0
- package/dist/lib/links.js +2 -0
- package/dist/lib/links.js.map +1 -1
- package/dist/lib/numbers/argentine-amount.d.ts +23 -0
- package/dist/lib/numbers/argentine-amount.js +37 -0
- package/dist/lib/numbers/argentine-amount.js.map +1 -0
- package/dist/lib/numbers/strict-integer.d.ts +4 -0
- package/dist/lib/numbers/strict-integer.js +10 -0
- package/dist/lib/numbers/strict-integer.js.map +1 -0
- package/dist/lib/security/certificate.d.ts +5 -1
- package/dist/lib/security/certificate.js +10 -7
- package/dist/lib/security/certificate.js.map +1 -1
- package/dist/lib/security/pem.js +5 -1
- package/dist/lib/security/pem.js.map +1 -1
- package/dist/modules/billing/billing-response.js +15 -2
- package/dist/modules/billing/billing-response.js.map +1 -1
- package/dist/modules/billing/billing.amounts.d.ts +2 -0
- package/dist/modules/billing/billing.amounts.js +6 -3
- package/dist/modules/billing/billing.amounts.js.map +1 -1
- package/dist/modules/billing/billing.associated-vouchers.js +14 -3
- package/dist/modules/billing/billing.associated-vouchers.js.map +1 -1
- package/dist/modules/billing/billing.batch.js +13 -1
- package/dist/modules/billing/billing.batch.js.map +1 -1
- package/dist/modules/billing/billing.date-range.js +31 -9
- package/dist/modules/billing/billing.date-range.js.map +1 -1
- package/dist/modules/billing/billing.display.js +9 -5
- package/dist/modules/billing/billing.display.js.map +1 -1
- package/dist/modules/billing/billing.errors.d.ts +12 -0
- package/dist/modules/billing/billing.errors.js +18 -0
- package/dist/modules/billing/billing.errors.js.map +1 -0
- package/dist/modules/billing/billing.json-input.d.ts +58 -0
- package/dist/modules/billing/billing.json-input.js +279 -0
- package/dist/modules/billing/billing.json-input.js.map +1 -0
- package/dist/modules/billing/billing.padron.d.ts +14 -0
- package/dist/modules/billing/billing.padron.js +55 -0
- package/dist/modules/billing/billing.padron.js.map +1 -0
- package/dist/modules/billing/billing.schemas.d.ts +5 -0
- package/dist/modules/billing/billing.schemas.js +19 -5
- package/dist/modules/billing/billing.schemas.js.map +1 -1
- package/dist/modules/billing/billing.serialize.d.ts +1 -0
- package/dist/modules/billing/billing.serialize.js +5 -12
- package/dist/modules/billing/billing.serialize.js.map +1 -1
- package/dist/modules/billing/billing.service.d.ts +3 -0
- package/dist/modules/billing/billing.service.js +31 -3
- package/dist/modules/billing/billing.service.js.map +1 -1
- package/dist/modules/billing/billing.text.js +4 -12
- package/dist/modules/billing/billing.text.js.map +1 -1
- package/dist/modules/billing/billing.types.internal.d.ts +10 -2
- package/dist/modules/billing/billing.validation.js +4 -0
- package/dist/modules/billing/billing.validation.js.map +1 -1
- package/dist/modules/config/certificate-expiry.d.ts +42 -0
- package/dist/modules/config/certificate-expiry.js +91 -0
- package/dist/modules/config/certificate-expiry.js.map +1 -0
- package/dist/modules/config/config-doctor.d.ts +5 -4
- package/dist/modules/config/config-doctor.js +8 -16
- package/dist/modules/config/config-doctor.js.map +1 -1
- package/dist/modules/config/config-value-parser.d.ts +1 -1
- package/dist/modules/config/config-value-parser.js +24 -20
- package/dist/modules/config/config-value-parser.js.map +1 -1
- package/dist/modules/config/config.presenter.d.ts +2 -0
- package/dist/modules/config/config.presenter.js +6 -0
- package/dist/modules/config/config.presenter.js.map +1 -1
- package/dist/modules/config/config.schemas.d.ts +4 -2
- package/dist/modules/config/config.schemas.js +3 -0
- package/dist/modules/config/config.schemas.js.map +1 -1
- package/dist/modules/config/config.sections.js +6 -1
- package/dist/modules/config/config.sections.js.map +1 -1
- package/dist/modules/config/config.service.d.ts +5 -0
- package/dist/modules/config/config.service.js +62 -14
- package/dist/modules/config/config.service.js.map +1 -1
- package/dist/modules/examples/examples.d.ts +5 -0
- package/dist/modules/examples/examples.js +34 -29
- package/dist/modules/examples/examples.js.map +1 -1
- package/dist/modules/interactive/amount-input.d.ts +3 -5
- package/dist/modules/interactive/amount-input.js +9 -26
- package/dist/modules/interactive/amount-input.js.map +1 -1
- package/dist/modules/interactive/config-fields.js +8 -1
- package/dist/modules/interactive/config-fields.js.map +1 -1
- package/dist/modules/interactive/equivalent-command.js +8 -10
- package/dist/modules/interactive/equivalent-command.js.map +1 -1
- package/dist/modules/interactive/invoice-copy.d.ts +19 -0
- package/dist/modules/interactive/invoice-copy.js +26 -0
- package/dist/modules/interactive/invoice-copy.js.map +1 -0
- package/dist/modules/interactive/periods.d.ts +2 -2
- package/dist/modules/interactive/periods.js +8 -4
- package/dist/modules/interactive/periods.js.map +1 -1
- package/dist/modules/padron/padron.d.ts +46 -0
- package/dist/modules/padron/padron.js +24 -0
- package/dist/modules/padron/padron.js.map +1 -0
- package/dist/modules/padron/padron.presenter.d.ts +7 -0
- package/dist/modules/padron/padron.presenter.js +49 -0
- package/dist/modules/padron/padron.presenter.js.map +1 -0
- package/dist/modules/parameters/health.d.ts +17 -0
- package/dist/modules/parameters/health.js +29 -0
- package/dist/modules/parameters/health.js.map +1 -0
- package/dist/modules/parameters/parameters.presenter.js +5 -2
- package/dist/modules/parameters/parameters.presenter.js.map +1 -1
- package/dist/modules/pdf/pdf.errors.d.ts +0 -1
- package/dist/modules/pdf/pdf.errors.js +1 -3
- package/dist/modules/pdf/pdf.errors.js.map +1 -1
- package/dist/modules/storybook/showcase.js +21 -5
- package/dist/modules/storybook/showcase.js.map +1 -1
- package/dist/modules/update-check/changelog.d.ts +23 -0
- package/dist/modules/update-check/changelog.js +99 -0
- package/dist/modules/update-check/changelog.js.map +1 -0
- package/dist/modules/update-check/update-check.presenter.d.ts +4 -0
- package/dist/modules/update-check/update-check.presenter.js +80 -2
- package/dist/modules/update-check/update-check.presenter.js.map +1 -1
- package/dist/modules/update-check/update-check.service.d.ts +3 -0
- package/dist/modules/update-check/update-check.service.js +2 -2
- package/dist/modules/update-check/update-check.service.js.map +1 -1
- package/dist/modules/vouchers/voucher-history.presenter.d.ts +3 -3
- package/dist/modules/vouchers/voucher-history.presenter.js +27 -7
- package/dist/modules/vouchers/voucher-history.presenter.js.map +1 -1
- package/dist/services/arca/arca-billing.gateway.d.ts +8 -2
- package/dist/services/arca/arca-billing.gateway.js +17 -2
- package/dist/services/arca/arca-billing.gateway.js.map +1 -1
- package/dist/services/arca/arca-client.factory.d.ts +2 -1
- package/dist/services/arca/arca-client.factory.js +5 -0
- package/dist/services/arca/arca-client.factory.js.map +1 -1
- package/dist/services/arca/arca-context.resolver.d.ts +11 -0
- package/dist/services/arca/arca-context.resolver.js +17 -1
- package/dist/services/arca/arca-context.resolver.js.map +1 -1
- package/dist/services/arca/arca-padron.gateway.d.ts +9 -0
- package/dist/services/arca/arca-padron.gateway.js +104 -0
- package/dist/services/arca/arca-padron.gateway.js.map +1 -0
- package/dist/services/clipboard/clipboard.d.ts +2 -0
- package/dist/services/clipboard/clipboard.js +17 -0
- package/dist/services/clipboard/clipboard.js.map +1 -0
- package/dist/services/pdf/escape-html.d.ts +6 -0
- package/dist/services/pdf/escape-html.js +25 -0
- package/dist/services/pdf/escape-html.js.map +1 -0
- package/dist/services/pdf/pdf-exporter.d.ts +6 -3
- package/dist/services/pdf/pdf-exporter.js +13 -10
- package/dist/services/pdf/pdf-exporter.js.map +1 -1
- package/dist/ui/components/certificateBanner.d.ts +11 -0
- package/dist/ui/components/certificateBanner.js +9 -0
- package/dist/ui/components/certificateBanner.js.map +1 -0
- package/dist/ui/components/index.d.ts +1 -0
- package/dist/ui/components/index.js +1 -0
- package/dist/ui/components/index.js.map +1 -1
- package/dist/ui/components/statusBar.d.ts +15 -4
- package/dist/ui/components/statusBar.js +16 -11
- package/dist/ui/components/statusBar.js.map +1 -1
- package/dist/ui/presenters/config.presenter.d.ts +1 -1
- package/dist/ui/presenters/config.presenter.js +1 -1
- package/dist/ui/presenters/config.presenter.js.map +1 -1
- package/dist/ui/presenters/errors.presenter.js +8 -4
- package/dist/ui/presenters/errors.presenter.js.map +1 -1
- package/dist/ui/presenters/errors.zod-presenter.js +5 -26
- package/dist/ui/presenters/errors.zod-presenter.js.map +1 -1
- package/dist/ui/primitives/renderLogo.d.ts +2 -1
- package/dist/ui/primitives/renderLogo.js +21 -4
- package/dist/ui/primitives/renderLogo.js.map +1 -1
- package/dist/ui/primitives/renderPanel.d.ts +2 -0
- package/dist/ui/primitives/renderPanel.js +15 -5
- package/dist/ui/primitives/renderPanel.js.map +1 -1
- package/dist/ui/stream/terminal-stream.d.ts +11 -0
- package/dist/ui/stream/terminal-stream.js +27 -1
- package/dist/ui/stream/terminal-stream.js.map +1 -1
- package/dist/ui/theme/theme.d.ts +3 -3
- package/dist/ui/theme/theme.js +14 -3
- package/dist/ui/theme/theme.js.map +1 -1
- package/llms.txt +65 -45
- package/package.json +1 -1
|
@@ -12,6 +12,8 @@ export interface BillingCommandDefaults {
|
|
|
12
12
|
readonly defaultEmit?: boolean;
|
|
13
13
|
readonly defaultExchangeRate?: number;
|
|
14
14
|
readonly defaultIvaCondition?: BillingCommandInput['ivaCondition'];
|
|
15
|
+
/** Con un CUIT y sin IVA receptor explicito, se va a consultar el padron: no hace falta un default. */
|
|
16
|
+
readonly lookupIvaConditionInPadron?: boolean;
|
|
15
17
|
}
|
|
16
18
|
export interface BillingCommandPlan {
|
|
17
19
|
/** Posicion en el lote (desde 1) de cada item de `inputs`. */
|
|
@@ -19,6 +21,11 @@ export interface BillingCommandPlan {
|
|
|
19
21
|
readonly inputs: BillingCommandInput[];
|
|
20
22
|
/** Items del lote que no se pudieron leer; el comando no emite nada si hay alguno. */
|
|
21
23
|
readonly invalidItems: BatchItemError[];
|
|
24
|
+
/**
|
|
25
|
+
* `--cargar` trajo un array: es un lote aunque tenga un solo elemento (sale como array y con errores
|
|
26
|
+
* `BATCH_*`). Un objeto o los flags son un comprobante suelto.
|
|
27
|
+
*/
|
|
28
|
+
readonly isBatch: boolean;
|
|
22
29
|
readonly modeSource: 'default' | 'file' | 'flags';
|
|
23
30
|
/** Cantidad de items del lote (1 si no hay lote). */
|
|
24
31
|
readonly total: number;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import Big from 'big.js';
|
|
1
2
|
import { InputValidationError } from '../../lib/errors/app-error.js';
|
|
2
3
|
import { readJsonFile } from '../../lib/files/read-json-file.js';
|
|
4
|
+
import { parseArgentineAmount } from '../../lib/numbers/argentine-amount.js';
|
|
3
5
|
import { BatchValidationError, describeBatchItemError } from '../../modules/billing/billing.batch.js';
|
|
4
6
|
import { isForeignCurrency } from '../../modules/billing/billing.currency.js';
|
|
7
|
+
import { parseBillingJsonInput, readBillingJsonItems, } from '../../modules/billing/billing.json-input.js';
|
|
5
8
|
import { billingCommandSchema } from '../../modules/billing/billing.schemas.js';
|
|
6
9
|
import { getVoucherKindByShortcut } from '../../modules/billing/voucher-kind-map.js';
|
|
7
10
|
import { resolveConceptShortcut, resolveDocumentIdentity, resolveIvaShortcut } from './billing.command.shortcuts.js';
|
|
@@ -12,10 +15,12 @@ function pickString(...values) {
|
|
|
12
15
|
function pickNumber(...values) {
|
|
13
16
|
return values.find((value) => typeof value === 'number');
|
|
14
17
|
}
|
|
15
|
-
function
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
function parseRateAmount(flagValue, raw) {
|
|
19
|
+
const result = parseArgentineAmount(raw);
|
|
20
|
+
if (!result.ok) {
|
|
21
|
+
throw new InputValidationError(`--alicuota "${flagValue}": el monto no es valido: ${result.reason}.`);
|
|
22
|
+
}
|
|
23
|
+
return result.value;
|
|
19
24
|
}
|
|
20
25
|
/**
|
|
21
26
|
* `--alicuota` acepta una tasa sola ("reducida", "10.5") o, repetido, pares TASA:MONTO con el importe
|
|
@@ -28,7 +33,7 @@ function parseIvaRateFlags(values) {
|
|
|
28
33
|
const withAmount = values.filter((value) => value.includes(':'));
|
|
29
34
|
if (withAmount.length === 0) {
|
|
30
35
|
if (values.length > 1) {
|
|
31
|
-
throw new InputValidationError('Para varias alicuotas use --alicuota TASA:MONTO en cada una, por ejemplo --alicuota general:1210 --alicuota reducida:552
|
|
36
|
+
throw new InputValidationError('Para varias alicuotas use --alicuota TASA:MONTO en cada una, por ejemplo --alicuota general:1210 --alicuota reducida:552,50.');
|
|
32
37
|
}
|
|
33
38
|
return { ivaRate: values[0] };
|
|
34
39
|
}
|
|
@@ -38,10 +43,41 @@ function parseIvaRateFlags(values) {
|
|
|
38
43
|
return {
|
|
39
44
|
ivaRateAmounts: values.map((value) => {
|
|
40
45
|
const separator = value.indexOf(':');
|
|
41
|
-
return { amount:
|
|
46
|
+
return { amount: parseRateAmount(value, value.slice(separator + 1)), rate: value.slice(0, separator) };
|
|
42
47
|
}),
|
|
43
48
|
};
|
|
44
49
|
}
|
|
50
|
+
/** Total de un comprobante con varias alicuotas, sumado con Big: 100.1 + 200.2 da 300.3, no 300.29999999999995. */
|
|
51
|
+
function sumRateAmounts(rateAmounts, exemptAmount, untaxedAmount) {
|
|
52
|
+
return rateAmounts
|
|
53
|
+
.reduce((sum, item) => sum.plus(typeof item.amount === 'number' ? item.amount : 0), new Big(0))
|
|
54
|
+
.plus(exemptAmount ?? 0)
|
|
55
|
+
.plus(untaxedAmount ?? 0)
|
|
56
|
+
.toNumber();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Emitir o no, por nivel: lo escrito en el comando, despues el archivo y por ultimo la config.
|
|
60
|
+
* El primer nivel que diga algo decide; solo es error que un mismo nivel pida las dos cosas.
|
|
61
|
+
*/
|
|
62
|
+
function resolveShouldEmit(options) {
|
|
63
|
+
if (options.cliEmit && options.cliPreview) {
|
|
64
|
+
throw new InputValidationError('Use --emitir o --previsualizar, pero no ambos a la vez.');
|
|
65
|
+
}
|
|
66
|
+
if (options.cliEmit !== undefined || options.cliPreview !== undefined) {
|
|
67
|
+
return options.cliEmit === true;
|
|
68
|
+
}
|
|
69
|
+
if (options.fileEmit === true && options.filePreview === true) {
|
|
70
|
+
throw new InputValidationError('En el archivo use "emitir" o "previsualizar", pero no ambos en true.');
|
|
71
|
+
}
|
|
72
|
+
if (typeof options.fileEmit === 'boolean') {
|
|
73
|
+
return options.fileEmit;
|
|
74
|
+
}
|
|
75
|
+
// "previsualizar": false no es lo mismo que "emitir": true; sin "emitir" decide la config.
|
|
76
|
+
if (options.filePreview === true) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return Boolean(options.defaultEmit);
|
|
80
|
+
}
|
|
45
81
|
function resolvePdfFlag(commandOptions, fileInput) {
|
|
46
82
|
const exportPdf = commandOptions.exportarPdf === true || commandOptions.pdf === true;
|
|
47
83
|
if (exportPdf && commandOptions.sinPdf === true) {
|
|
@@ -82,24 +118,27 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
82
118
|
: typeof fileInput?.emitir === 'boolean' || typeof fileInput?.previsualizar === 'boolean'
|
|
83
119
|
? 'file'
|
|
84
120
|
: 'default';
|
|
85
|
-
const shouldEmit =
|
|
86
|
-
?
|
|
87
|
-
:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
: typeof fileInput?.previsualizar === 'boolean'
|
|
93
|
-
? fileInput.previsualizar
|
|
94
|
-
: !shouldEmit;
|
|
121
|
+
const shouldEmit = resolveShouldEmit({
|
|
122
|
+
cliEmit: emitirSource === 'cli' ? commandOptions.emitir === true : undefined,
|
|
123
|
+
cliPreview: previsualizarSource === 'cli' ? commandOptions.previsualizar === true : undefined,
|
|
124
|
+
defaultEmit: defaults.defaultEmit,
|
|
125
|
+
fileEmit: fileInput?.emitir,
|
|
126
|
+
filePreview: fileInput?.previsualizar,
|
|
127
|
+
});
|
|
95
128
|
const conceptShortcut = resolveConceptShortcut(commandOptions);
|
|
96
129
|
const documentIdentity = resolveDocumentIdentity(commandOptions);
|
|
97
130
|
const ivaShortcut = resolveIvaShortcut(commandOptions);
|
|
98
131
|
const resolvedConcept = pickString(commandOptions.concepto) ?? conceptShortcut ?? fileInput?.concepto ?? defaults.defaultConcept;
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
132
|
+
const explicitIvaCondition = pickString(commandOptions.ivaReceptor, commandOptions.ir) ?? ivaShortcut ?? fileInput?.ivaReceptor;
|
|
133
|
+
const documentType = documentIdentity.documentType ?? fileInput?.tipoDocumento;
|
|
134
|
+
const willLookupPadron = !explicitIvaCondition && defaults.lookupIvaConditionInPadron === true && documentType === 'cuit';
|
|
135
|
+
const resolvedIvaCondition = explicitIvaCondition ?? defaults.defaultIvaCondition;
|
|
136
|
+
// Sin definir es explicito: asi la entrada que arma el parser es igual a la del modo interactivo.
|
|
137
|
+
const ivaConditionSource = explicitIvaCondition
|
|
138
|
+
? undefined
|
|
139
|
+
: resolvedIvaCondition
|
|
140
|
+
? 'default'
|
|
141
|
+
: 'missing';
|
|
103
142
|
if (typeof commandOptions.concepto === 'string' && conceptShortcut) {
|
|
104
143
|
throw new InputValidationError('Use --concepto o un flag corto de concepto (--cs, --cp, --csp), pero no ambos.');
|
|
105
144
|
}
|
|
@@ -109,13 +148,10 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
109
148
|
if ((typeof commandOptions.ivaReceptor === 'string' || typeof commandOptions.ir === 'string') && ivaShortcut) {
|
|
110
149
|
throw new InputValidationError('Use --iva-receptor, --ir o un flag corto --ir-*, pero no varios a la vez.');
|
|
111
150
|
}
|
|
112
|
-
if (shouldEmit && shouldDryRun) {
|
|
113
|
-
throw new InputValidationError('Use --emitir o --previsualizar, pero no ambos a la vez.');
|
|
114
|
-
}
|
|
115
151
|
if (!resolvedConcept) {
|
|
116
152
|
throw new InputValidationError('Falta el concepto. Use --concepto <tipo>, o bien --cs/--cp/--csp, o configure uno por defecto con "arcli config establecer concepto servicios".');
|
|
117
153
|
}
|
|
118
|
-
if (!resolvedIvaCondition) {
|
|
154
|
+
if (!resolvedIvaCondition && !willLookupPadron) {
|
|
119
155
|
throw new InputValidationError('Falta IVA receptor. Use --iva-receptor <tipo>, --ir <tipo>, un flag --ir-*, o configure uno por defecto con "arcli config establecer ivaReceptor consumidor-final".');
|
|
120
156
|
}
|
|
121
157
|
const associatedVoucherFromFile = fileInput?.comprobanteAsociado
|
|
@@ -129,8 +165,11 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
129
165
|
}
|
|
130
166
|
: undefined;
|
|
131
167
|
const currencyCode = pickString(commandOptions.moneda, commandOptions.mda, fileInput?.codigoMoneda, defaults.defaultCurrencyCode);
|
|
132
|
-
|
|
133
|
-
const
|
|
168
|
+
// Un flag pisa lo del archivo: --cm descarta "mismaMoneda" del JSON y --misma-moneda, su "cotizacionMoneda".
|
|
169
|
+
const flagExchangeRate = pickNumber(commandOptions.cotizacionMoneda, commandOptions.cm);
|
|
170
|
+
const flagSameCurrency = commandOptions.mismaMoneda === true;
|
|
171
|
+
const sameCurrency = flagSameCurrency || (flagExchangeRate === undefined && fileInput?.mismaMoneda === true);
|
|
172
|
+
const explicitExchangeRate = flagExchangeRate ?? (flagSameCurrency ? undefined : fileInput?.cotizacionMoneda);
|
|
134
173
|
if (sameCurrency && typeof explicitExchangeRate === 'number') {
|
|
135
174
|
throw new InputValidationError('Con --misma-moneda la cotizacion se toma de ARCA. Quite --cotizacion-moneda o --cm.');
|
|
136
175
|
}
|
|
@@ -147,16 +186,13 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
147
186
|
const associatedPeriod = periodFrom || periodTo ? { desde: periodFrom, hasta: periodTo } : fileInput?.periodoAsociado;
|
|
148
187
|
const flagRates = parseIvaRateFlags(commandOptions.alicuota);
|
|
149
188
|
const fileRateAmounts = fileInput?.alicuotas?.map((item) => ({ amount: item.monto, rate: item.tasa }));
|
|
150
|
-
|
|
189
|
+
// --alicuota TASA tambien pisa las "alicuotas" del archivo.
|
|
190
|
+
const ivaRateAmounts = flagRates.ivaRateAmounts ?? (flagRates.ivaRate ? undefined : fileRateAmounts);
|
|
151
191
|
const exemptAmount = pickNumber(commandOptions.exento, fileInput?.importeExento);
|
|
152
192
|
const untaxedAmount = pickNumber(commandOptions.nogravado, fileInput?.importeNoGravado);
|
|
153
193
|
// Con varias alicuotas el monto total se puede omitir: es la suma de cada una mas exento y no gravado.
|
|
154
194
|
const totalAmount = pickNumber(commandOptions.monto, fileInput?.montoTotal) ??
|
|
155
|
-
(ivaRateAmounts
|
|
156
|
-
? ivaRateAmounts.reduce((sum, item) => sum + (typeof item.amount === 'number' ? item.amount : 0), 0) +
|
|
157
|
-
(exemptAmount ?? 0) +
|
|
158
|
-
(untaxedAmount ?? 0)
|
|
159
|
-
: undefined);
|
|
195
|
+
(ivaRateAmounts ? sumRateAmounts(ivaRateAmounts, exemptAmount, untaxedAmount) : undefined);
|
|
160
196
|
return {
|
|
161
197
|
...billingCommandSchema.parse({
|
|
162
198
|
associatedPeriod,
|
|
@@ -168,8 +204,8 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
168
204
|
concept: resolvedConcept,
|
|
169
205
|
currencyCode,
|
|
170
206
|
documentNumber: documentIdentity.documentNumber ?? fileInput?.numeroDocumento,
|
|
171
|
-
documentType
|
|
172
|
-
dryRun:
|
|
207
|
+
documentType,
|
|
208
|
+
dryRun: !shouldEmit,
|
|
173
209
|
dueDay: pickNumber(commandOptions.dia, fileInput?.dia),
|
|
174
210
|
emit: shouldEmit,
|
|
175
211
|
exchangeRate,
|
|
@@ -178,7 +214,9 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
178
214
|
? undefined
|
|
179
215
|
: (flagRates.ivaRate ?? fileInput?.alicuotaIva ?? (usesIvaRateDefault ? defaults.defaultIvaRate : undefined)),
|
|
180
216
|
ivaRateAmounts,
|
|
181
|
-
|
|
217
|
+
// Sin valor todavia: lo completa el padron antes de emitir (ver `ivaConditionSource`).
|
|
218
|
+
ivaCondition: resolvedIvaCondition ?? 'consumidor-final',
|
|
219
|
+
ivaConditionSource,
|
|
182
220
|
paymentDueDate: pickString(commandOptions.vencimiento, commandOptions.vto, fileInput?.vencimientoPago),
|
|
183
221
|
pdf: resolvePdfFlag(commandOptions, fileInput),
|
|
184
222
|
pdfDescription: pickString(commandOptions.descripcion, fileInput?.descripcion),
|
|
@@ -199,30 +237,33 @@ function parseBillingCommandInputFromSource(command, shortcut, fileInput, defaul
|
|
|
199
237
|
export function parseBillingCommandPlan(command, shortcut, defaults = {}) {
|
|
200
238
|
const commandOptions = command.optsWithGlobals();
|
|
201
239
|
const inputFilePath = typeof commandOptions.cargar === 'string' ? commandOptions.cargar : undefined;
|
|
202
|
-
|
|
203
|
-
const
|
|
240
|
+
// Se lee sin asumir la forma: cada item se valida con `parseBillingJsonInput` (en un lote, por separado).
|
|
241
|
+
const source = inputFilePath ? readJsonFile(inputFilePath) : undefined;
|
|
242
|
+
const fileInputs = inputFilePath ? readBillingJsonItems(source) : [];
|
|
243
|
+
const isBatch = Array.isArray(source);
|
|
204
244
|
if (fileInputs.length === 0) {
|
|
205
245
|
const { __modeSource, ...input } = parseBillingCommandInputFromSource(command, shortcut, undefined, defaults);
|
|
206
246
|
return {
|
|
207
247
|
inputIndexes: [1],
|
|
208
248
|
inputs: [input],
|
|
209
249
|
invalidItems: [],
|
|
250
|
+
isBatch: false,
|
|
210
251
|
modeSource: __modeSource,
|
|
211
252
|
total: 1,
|
|
212
253
|
};
|
|
213
254
|
}
|
|
214
|
-
// Un
|
|
215
|
-
// para informarlos de una vez en lugar de cortar en el primero.
|
|
216
|
-
if (
|
|
217
|
-
const { __modeSource, ...input } = parseBillingCommandInputFromSource(command, shortcut, fileInputs[0], defaults);
|
|
218
|
-
return { inputIndexes: [1], inputs: [input], invalidItems: [], modeSource: __modeSource, total: 1 };
|
|
255
|
+
// Un objeto suelto falla como siempre. En un lote (un array, aunque tenga un solo elemento) se leen todos
|
|
256
|
+
// y se juntan los errores, para informarlos de una vez en lugar de cortar en el primero.
|
|
257
|
+
if (!isBatch) {
|
|
258
|
+
const { __modeSource, ...input } = parseBillingCommandInputFromSource(command, shortcut, parseBillingJsonInput(fileInputs[0]), defaults);
|
|
259
|
+
return { inputIndexes: [1], inputs: [input], invalidItems: [], isBatch: false, modeSource: __modeSource, total: 1 };
|
|
219
260
|
}
|
|
220
261
|
const parsed = [];
|
|
221
262
|
const inputIndexes = [];
|
|
222
263
|
const invalidItems = [];
|
|
223
264
|
fileInputs.forEach((fileInput, position) => {
|
|
224
265
|
try {
|
|
225
|
-
parsed.push(parseBillingCommandInputFromSource(command, shortcut, fileInput, defaults));
|
|
266
|
+
parsed.push(parseBillingCommandInputFromSource(command, shortcut, parseBillingJsonInput(fileInput), defaults));
|
|
226
267
|
inputIndexes.push(position + 1);
|
|
227
268
|
}
|
|
228
269
|
catch (error) {
|
|
@@ -238,6 +279,7 @@ export function parseBillingCommandPlan(command, shortcut, defaults = {}) {
|
|
|
238
279
|
inputIndexes,
|
|
239
280
|
inputs: parsed.map(({ __modeSource: _modeSource, ...input }) => input),
|
|
240
281
|
invalidItems,
|
|
282
|
+
isBatch: true,
|
|
241
283
|
modeSource,
|
|
242
284
|
total: fileInputs.length,
|
|
243
285
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.command.parser.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAuB,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAA4B,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAEvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAElH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAiDnE,SAAS,UAAU,CAAC,GAAG,MAAiB;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,MAAiB;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAC5E,CAAC;AAOD,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAEzB,wEAAwE;IACxE,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAqC;IAI9D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,oBAAoB,CAC5B,8HAA8H,CAC/H,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,oBAAoB,CAAC,0EAA0E,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAErC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QAClG,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,cAAuC,EACvC,SAAuC;IAEvC,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,KAAK,IAAI,CAAC;IAErF,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,oBAAoB,CAAC,yDAAyD,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE,CAAC;AAwBD,SAAS,kCAAkC,CACzC,OAAgB,EAChB,QAAyB,EACzB,SAAuC,EACvC,WAAmC,EAAE;IAErC,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,EAA2B,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,OAAO,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC;IACpE,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC;IAEhE,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,oBAAoB,CAAC,mFAAmF,CAAC,CAAC;IACtH,CAAC;IAED,MAAM,0BAA0B,GAC9B,cAAc,CAAC,EAAE;QACjB,cAAc,CAAC,GAAG;QAClB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,EAAE;QACjB,cAAc,CAAC,KAAK;QACpB,cAAc,CAAC,MAAM;QACrB,cAAc,CAAC,EAAE;QACf,CAAC,CAAC;YACE,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC;YACtC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,kBAAkB,CAAC;YAC7E,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;SACpC;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,UAAU,GACd,YAAY,KAAK,KAAK,IAAI,mBAAmB,KAAK,KAAK;QACrD,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,SAAS,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,SAAS,EAAE,aAAa,KAAK,SAAS;YACvF,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAClB,MAAM,UAAU,GACd,YAAY,KAAK,KAAK;QACpB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,OAAO,SAAS,EAAE,MAAM,KAAK,SAAS;YACtC,CAAC,CAAC,SAAS,CAAC,MAAM;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,YAAY,GAChB,mBAAmB,KAAK,KAAK;QAC3B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC;QACvC,CAAC,CAAC,OAAO,SAAS,EAAE,aAAa,KAAK,SAAS;YAC7C,CAAC,CAAC,SAAS,CAAC,aAAa;YACzB,CAAC,CAAC,CAAC,UAAU,CAAC;IACpB,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,eAAe,GACnB,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,eAAe,IAAI,SAAS,EAAE,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC;IAC3G,MAAM,oBAAoB,GACxB,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC;QACzD,WAAW;QACX,SAAS,EAAE,WAAW;QACtB,QAAQ,CAAC,mBAAmB,CAAC;IAE/B,IAAI,OAAO,cAAc,CAAC,QAAQ,KAAK,QAAQ,IAAI,eAAe,EAAE,CAAC;QACnE,MAAM,IAAI,oBAAoB,CAAC,gFAAgF,CAAC,CAAC;IACnH,CAAC;IAED,IAAI,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,cAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5F,MAAM,IAAI,oBAAoB,CAAC,qEAAqE,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7G,MAAM,IAAI,oBAAoB,CAAC,2EAA2E,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,oBAAoB,CAAC,yDAAyD,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,oBAAoB,CAC5B,iJAAiJ,CAClJ,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,oBAAoB,CAC5B,qKAAqK,CACtK,CAAC;IACJ,CAAC;IAED,MAAM,yBAAyB,GAAG,SAAS,EAAE,mBAAmB;QAC9D,CAAC,CAAC;YACE,IAAI,EAAE,SAAS,CAAC,mBAAmB,CAAC,IAAI;YACxC,KAAK,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK;YAC1C,MAAM,EAAE,SAAS,CAAC,mBAAmB,CAAC,MAAM;YAC5C,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,UAAU;YACpD,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,KAAK;YAC7C,IAAI,EAAE,SAAS,CAAC,mBAAmB,CAAC,IAAI;SACzC;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,YAAY,GAAG,UAAU,CAC7B,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,GAAG,EAClB,SAAS,EAAE,YAAY,EACvB,QAAQ,CAAC,mBAAmB,CAC7B,CAAC;IACF,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,KAAK,IAAI,IAAI,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5F,MAAM,oBAAoB,GAAG,UAAU,CACrC,cAAc,CAAC,gBAAgB,EAC/B,cAAc,CAAC,EAAE,EACjB,SAAS,EAAE,gBAAgB,CAC5B,CAAC;IAEF,IAAI,YAAY,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,oBAAoB,CAC5B,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAED,6FAA6F;IAC7F,MAAM,YAAY,GAChB,oBAAoB;QACpB,CAAC,CAAC,YAAY,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEpG,8GAA8G;IAC9G,MAAM,WAAW,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,WAAW,EAAE,MAAM,KAAK,6BAA6B,CAAC;IAC9E,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC;IAEvD,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC;IAEtH,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,QAAgC,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,eAAe,CAAC;IACnE,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxF,uGAAuG;IACvG,MAAM,WAAW,GACf,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC;QACvD,CAAC,cAAc;YACb,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClG,CAAC,YAAY,IAAI,CAAC,CAAC;gBACnB,CAAC,aAAa,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,OAAO;QACL,GAAG,oBAAoB,CAAC,KAAK,CAAC;YAC5B,gBAAgB;YAChB,iBAAiB,EAAE,0BAA0B,IAAI,yBAAyB;YAC1E,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC;YAC1E,YAAY,EAAE,cAAc,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,EAAE,SAAS,KAAK,IAAI;YAChF,GAAG,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,QAAQ,EAAE,UAAU,CAClB,cAAc,CAAC,KAAK,EACpB,SAAS,EAAE,QAAQ,EACnB,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CACvD;YACD,OAAO,EAAE,eAAe;YACxB,YAAY;YACZ,cAAc,EAAE,gBAAgB,CAAC,cAAc,IAAI,SAAS,EAAE,eAAe;YAC7E,YAAY,EAAE,gBAAgB,CAAC,YAAY,IAAI,SAAS,EAAE,aAAa;YACvE,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;YACtD,IAAI,EAAE,UAAU;YAChB,YAAY;YACZ,YAAY;YACZ,OAAO,EAAE,cAAc;gBACrB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,EAAE,WAAW,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/G,cAAc;YACd,YAAY,EAAE,oBAAoB;YAClC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC;YACtG,GAAG,EAAE,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC;YAC9C,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC;YAC9E,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;YAC5F,eAAe,EAAE,UAAU,CAAC,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,CAAC;YAC3F,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC;YAClF,YAAY;YACZ,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC;YACrG,gBAAgB,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC;YACvG,QAAQ;YACR,WAAW,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG;YACxF,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;YAChF,aAAa;SACd,CAAC;QACF,YAAY,EAAE,UAAU;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,QAAyB,EACzB,WAAmC,EAAE;IAErC,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,EAA2B,CAAC;IAC1E,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAyB,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAExG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,kCAAkC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE9G,OAAO;YACL,YAAY,EAAE,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,YAAY;YACxB,KAAK,EAAE,CAAC;SACT,CAAC;IACJ,CAAC;IAED,4FAA4F;IAC5F,gEAAgE;IAChE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,GAAG,kCAAkC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAElH,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtG,CAAC;IAED,MAAM,MAAM,GAAiE,EAAE,CAAC;IAChF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxF,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,OAAO,CAAC;QACvE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC;YACrD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,YAAY;QACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;QACtE,YAAY;QACZ,UAAU;QACV,KAAK,EAAE,UAAU,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAgB,EAChB,QAAyB,EACzB,WAAmC,EAAE;IAErC,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAElE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,QAAyB,EACzB,WAAmC,EAAE;IAErC,OAAO,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"billing.command.parser.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,4 @@ export interface PdfStepOptions {
|
|
|
21
21
|
* Genera los PDFs de los comprobantes emitidos. Nunca lanza: el comprobante ya esta emitido, asi que un
|
|
22
22
|
* error del PDF se devuelve en `pdf.error` y no cambia el codigo de salida.
|
|
23
23
|
*/
|
|
24
|
-
export declare function attachPdfs(options: PdfStepOptions,
|
|
24
|
+
export declare function attachPdfs(options: PdfStepOptions, defaultDeps?: PdfStepDependencies): Promise<BillingExecutionResult[]>;
|
|
@@ -5,7 +5,7 @@ import { canHavePdf, resolvePdfDecision } from '../../modules/pdf/pdf-decision.j
|
|
|
5
5
|
import { resolvePdfIssuer } from '../../modules/pdf/pdf-issuer.js';
|
|
6
6
|
import { exportBillingPdf, toPdfFailure } from '../../services/pdf/pdf-exporter.js';
|
|
7
7
|
import { PdfPlugin } from '../../services/pdf/pdf-plugin.js';
|
|
8
|
-
import { confirm } from '../interactive/prompts.js';
|
|
8
|
+
import { confirm, isPromptCancellation } from '../interactive/prompts.js';
|
|
9
9
|
import { startSpinner } from '../spinner.js';
|
|
10
10
|
export const PDF_ONLY_FLAGS_WARNING = '--descripcion, --receptor-nombre y --receptor-domicilio solo se usan en el PDF; no se genero ninguno.';
|
|
11
11
|
export const defaultPdfStepDependencies = {
|
|
@@ -74,7 +74,22 @@ async function loadRenderer(plugin, interactive, deps) {
|
|
|
74
74
|
* Genera los PDFs de los comprobantes emitidos. Nunca lanza: el comprobante ya esta emitido, asi que un
|
|
75
75
|
* error del PDF se devuelve en `pdf.error` y no cambia el codigo de salida.
|
|
76
76
|
*/
|
|
77
|
-
export async function attachPdfs(options,
|
|
77
|
+
export async function attachPdfs(options, defaultDeps = defaultPdfStepDependencies) {
|
|
78
|
+
// El comprobante ya se emitio: Ctrl+C en una pregunta del PDF es "No", no un error del comando.
|
|
79
|
+
const deps = {
|
|
80
|
+
...defaultDeps,
|
|
81
|
+
confirm: async (...args) => {
|
|
82
|
+
try {
|
|
83
|
+
return await defaultDeps.confirm(...args);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (isPromptCancellation(error)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
};
|
|
78
93
|
const decisions = await resolveDecisions(options, deps);
|
|
79
94
|
const targets = decisions.flatMap((decision, index) => (decision === 'generar' ? [index] : []));
|
|
80
95
|
const outcomes = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.command.pdf.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.pdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,UAAU,EAAoB,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAoB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"billing.command.pdf.js","sourceRoot":"","sources":["../../../src/cli/commands/billing.command.pdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
+
import type { BillingCommandInput } from '../../modules/billing/billing.schemas';
|
|
2
3
|
import type { VoucherShortcut } from '../../modules/billing/billing.types';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
4
|
+
import type { BillingExecutionResult } from '../../modules/billing/billing.types.internal';
|
|
5
|
+
import type { ArcliConfig } from '../../modules/config/config.schemas';
|
|
6
|
+
import { writeBillingCommandResults } from './billing.command.output';
|
|
7
|
+
import { type BillingCommandDefaults } from './billing.command.parser';
|
|
8
|
+
/** Exit code cuando ARCA rechaza algun comprobante: la operacion corrio bien, pero no hay CAE. */
|
|
9
|
+
export declare const REJECTED_EXIT_CODE = 2;
|
|
10
|
+
/** 2 si ARCA rechazo alguno de los comprobantes emitidos; si no, no se toca (queda en 0). */
|
|
11
|
+
export declare function setExitCodeForResults(results: readonly BillingExecutionResult[]): void;
|
|
5
12
|
export declare function registerBillingCommandOptions(command: Command): void;
|
|
6
|
-
|
|
13
|
+
/** Los defaults de la config que completan lo que no viene por flags ni por JSON. */
|
|
14
|
+
export declare function resolveBillingCommandDefaults(config: ArcliConfig): BillingCommandDefaults;
|
|
15
|
+
/**
|
|
16
|
+
* Imprime los resultados con su PDF, segun la config `pdf` o `--exportar-pdf`. Se usa con el lote completo y
|
|
17
|
+
* con los ya emitidos de un lote que se corto: esos tambien tienen CAE y merecen su PDF.
|
|
18
|
+
*/
|
|
19
|
+
export declare function writeResultsWithPdfs(results: BillingExecutionResult[], options: {
|
|
20
|
+
readonly config: ArcliConfig;
|
|
21
|
+
/** Los del lote entero; se toman los primeros `results.length`. */
|
|
22
|
+
readonly inputs: readonly BillingCommandInput[];
|
|
23
|
+
readonly interactive: boolean;
|
|
24
|
+
readonly output: Parameters<typeof writeBillingCommandResults>[1];
|
|
25
|
+
}): Promise<void>;
|
|
7
26
|
export declare function executeBillingCommand(command: Command, shortcut: VoucherShortcut): Promise<void>;
|
|
@@ -2,27 +2,60 @@ import { BillingService } from '../../modules/billing/billing.service.js';
|
|
|
2
2
|
import { getVoucherKindByShortcut } from '../../modules/billing/voucher-kind-map.js';
|
|
3
3
|
import { ArcaBillingGateway } from '../../services/arca/arca-billing.gateway.js';
|
|
4
4
|
import { ArcaClientFactory } from '../../services/arca/arca-client.factory.js';
|
|
5
|
-
import { ArcaContextResolver } from '../../services/arca/arca-context.resolver.js';
|
|
6
5
|
import { ArcaFceObligationGateway } from '../../services/arca/arca-fce-obligation.gateway.js';
|
|
6
|
+
import { ArcaPadronGateway } from '../../services/arca/arca-padron.gateway.js';
|
|
7
|
+
import { certificateWarnings, resolveArcaRuntime } from '../arca-runtime.js';
|
|
8
|
+
import { getGlobalOptions, registerGlobalOptions } from '../global-options.js';
|
|
7
9
|
import { startSpinner } from '../spinner.js';
|
|
8
|
-
import { emitBatch,
|
|
10
|
+
import { emitBatch, prepareBatch } from './billing.command.batch.js';
|
|
9
11
|
import { runInteractiveBillingPreview } from './billing.command.interactive-preview.js';
|
|
10
12
|
import { writeBillingCommandResults, writePdfOutcomes } from './billing.command.output.js';
|
|
11
13
|
import { parseBillingCommandPlan, registerBillingOptions } from './billing.command.parser.js';
|
|
12
14
|
import { attachPdfs } from './billing.command.pdf.js';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.
|
|
15
|
+
/** Exit code cuando ARCA rechaza algun comprobante: la operacion corrio bien, pero no hay CAE. */
|
|
16
|
+
export const REJECTED_EXIT_CODE = 2;
|
|
17
|
+
/** 2 si ARCA rechazo alguno de los comprobantes emitidos; si no, no se toca (queda en 0). */
|
|
18
|
+
export function setExitCodeForResults(results) {
|
|
19
|
+
if (results.some((result) => !result.dryRun && result.response.status === 'rechazado')) {
|
|
20
|
+
process.exitCode = REJECTED_EXIT_CODE;
|
|
21
|
+
}
|
|
19
22
|
}
|
|
20
23
|
export function registerBillingCommandOptions(command) {
|
|
21
24
|
registerGlobalOptions(command);
|
|
22
25
|
registerBillingOptions(command);
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
/** Los defaults de la config que completan lo que no viene por flags ni por JSON. */
|
|
28
|
+
export function resolveBillingCommandDefaults(config) {
|
|
29
|
+
return {
|
|
30
|
+
defaultCbu: config.cbu,
|
|
31
|
+
defaultCbuAlias: config.aliasCbu,
|
|
32
|
+
defaultConcept: config.conceptoPorDefecto,
|
|
33
|
+
defaultCurrencyCode: config.monedaPorDefecto,
|
|
34
|
+
defaultEmit: config.output.emitirPorDefecto,
|
|
35
|
+
defaultExchangeRate: config.cotizacionPorDefecto,
|
|
36
|
+
defaultIvaCondition: config.ivaReceptorPorDefecto,
|
|
37
|
+
defaultIvaRate: config.alicuotaPorDefecto,
|
|
38
|
+
lookupIvaConditionInPadron: config.consultarPadron !== false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Imprime los resultados con su PDF, segun la config `pdf` o `--exportar-pdf`. Se usa con el lote completo y
|
|
43
|
+
* con los ya emitidos de un lote que se corto: esos tambien tienen CAE y merecen su PDF.
|
|
44
|
+
*/
|
|
45
|
+
export async function writeResultsWithPdfs(results, options) {
|
|
46
|
+
const pdfOptions = {
|
|
47
|
+
config: options.config,
|
|
48
|
+
inputs: options.inputs.slice(0, results.length),
|
|
49
|
+
interactive: options.interactive,
|
|
50
|
+
results,
|
|
51
|
+
};
|
|
52
|
+
// En JSON el PDF va dentro del mismo resultado; en texto primero se ve el CAE y despues se pregunta.
|
|
53
|
+
if (options.output.outputJson) {
|
|
54
|
+
writeBillingCommandResults(await attachPdfs(pdfOptions), options.output);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
writeBillingCommandResults(results, options.output);
|
|
58
|
+
writePdfOutcomes(results, await attachPdfs(pdfOptions));
|
|
26
59
|
}
|
|
27
60
|
async function resolveFceWarnings(inputs, service, gateway) {
|
|
28
61
|
const warnings = [];
|
|
@@ -37,29 +70,38 @@ export async function executeBillingCommand(command, shortcut) {
|
|
|
37
70
|
let spinner = null;
|
|
38
71
|
const voucherKind = getVoucherKindByShortcut(shortcut);
|
|
39
72
|
try {
|
|
40
|
-
const runtime =
|
|
41
|
-
const plan = parseBillingCommandPlan(command, shortcut,
|
|
42
|
-
defaultCbu: runtime.config.cbu,
|
|
43
|
-
defaultCbuAlias: runtime.config.aliasCbu,
|
|
44
|
-
defaultConcept: runtime.config.conceptoPorDefecto,
|
|
45
|
-
defaultCurrencyCode: runtime.config.monedaPorDefecto,
|
|
46
|
-
defaultEmit: runtime.config.output.emitirPorDefecto,
|
|
47
|
-
defaultExchangeRate: runtime.config.cotizacionPorDefecto,
|
|
48
|
-
defaultIvaCondition: runtime.config.ivaReceptorPorDefecto,
|
|
49
|
-
defaultIvaRate: runtime.config.alicuotaPorDefecto,
|
|
50
|
-
});
|
|
73
|
+
const runtime = resolveArcaRuntime(globalOptions);
|
|
74
|
+
const plan = parseBillingCommandPlan(command, shortcut, resolveBillingCommandDefaults(runtime.config));
|
|
51
75
|
const service = new BillingService();
|
|
52
76
|
const arca = new ArcaClientFactory().create(runtime);
|
|
53
77
|
const gateway = new ArcaBillingGateway(arca);
|
|
54
78
|
const useRaw = typeof globalOptions.bruto === 'boolean' ? globalOptions.bruto : runtime.outputRaw;
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
79
|
+
const padronGateway = new ArcaPadronGateway(arca);
|
|
80
|
+
// En un lote, un fallo del padron o de la cotizacion sale con su indice, junto a los de validacion.
|
|
81
|
+
const prepared = await prepareBatch({
|
|
82
|
+
inputs: plan.inputs,
|
|
83
|
+
plan,
|
|
84
|
+
resolve: async (input) => {
|
|
85
|
+
const resolution = await service.resolveIvaConditionFromPadron(input, padronGateway);
|
|
86
|
+
return {
|
|
87
|
+
input: await service.resolveExchangeRate(resolution.input, gateway),
|
|
88
|
+
warnings: resolution.warnings,
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
validate: ({ input }) => {
|
|
92
|
+
service.buildVoucherPayload(input, runtime);
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
const plannedInputs = prepared.map(({ input }) => input);
|
|
96
|
+
const padronWarnings = prepared.map(({ warnings }) => warnings);
|
|
97
|
+
const fceWarnings = runtime.config.verificarFce
|
|
61
98
|
? await resolveFceWarnings(plannedInputs, service, new ArcaFceObligationGateway(arca))
|
|
62
99
|
: [];
|
|
100
|
+
const warnings = plannedInputs.map((_input, position) => [
|
|
101
|
+
...certificateWarnings(runtime),
|
|
102
|
+
...(padronWarnings[position] ?? []),
|
|
103
|
+
...(fceWarnings[position] ?? []),
|
|
104
|
+
]);
|
|
63
105
|
const preview = await runInteractiveBillingPreview({
|
|
64
106
|
inputs: plannedInputs,
|
|
65
107
|
modeSource: plan.modeSource,
|
|
@@ -77,35 +119,30 @@ export async function executeBillingCommand(command, shortcut) {
|
|
|
77
119
|
if (spinner) {
|
|
78
120
|
spinner.text = inputs.length > 1 ? `Procesando ${inputs.length} comprobantes...` : 'Procesando comprobante...';
|
|
79
121
|
}
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
122
|
+
const deliveryOptions = {
|
|
123
|
+
config: runtime.config,
|
|
124
|
+
inputs,
|
|
125
|
+
interactive: !runtime.outputJson && Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
126
|
+
output: {
|
|
127
|
+
batch: plan.isBatch,
|
|
128
|
+
environment: runtime.environment,
|
|
129
|
+
outputJson: runtime.outputJson,
|
|
130
|
+
previewShown,
|
|
131
|
+
raw: useRaw,
|
|
132
|
+
},
|
|
85
133
|
};
|
|
86
134
|
const results = await emitBatch({
|
|
87
135
|
emit: (input, position) => service.execute({ gateway, input, runtime, warnings: warnings[position] }),
|
|
88
136
|
inputs,
|
|
89
|
-
onPartialResults: (partial) => {
|
|
137
|
+
onPartialResults: async (partial) => {
|
|
90
138
|
spinner?.stop();
|
|
91
|
-
|
|
139
|
+
await writeResultsWithPdfs(partial, deliveryOptions);
|
|
92
140
|
},
|
|
93
141
|
plan,
|
|
94
142
|
});
|
|
95
143
|
spinner?.stop();
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
inputs,
|
|
99
|
-
interactive: !runtime.outputJson && Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
100
|
-
results,
|
|
101
|
-
};
|
|
102
|
-
// En JSON el PDF va dentro del mismo resultado; en texto primero se ve el CAE y despues se pregunta.
|
|
103
|
-
if (runtime.outputJson) {
|
|
104
|
-
writeBillingCommandResults(await attachPdfs(pdfOptions), outputOptions);
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
writeBillingCommandResults(results, outputOptions);
|
|
108
|
-
writePdfOutcomes(results, await attachPdfs(pdfOptions));
|
|
144
|
+
setExitCodeForResults(results);
|
|
145
|
+
await writeResultsWithPdfs(results, deliveryOptions);
|
|
109
146
|
}
|
|
110
147
|
catch (error) {
|
|
111
148
|
spinner?.stop();
|