fix: resolved the sheduler error

This commit is contained in:
Gadha2311
2026-02-27 15:56:51 +05:30
parent 80570552de
commit 9eaa4971d8
4 changed files with 49 additions and 4 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ export async function initScheduler(interval: string) {
}, },
{ {
name: 'checkLoyaltyProgramExpiry', name: 'checkLoyaltyProgramExpiry',
interval: '0 1 * * *', interval: '24 hours',
worker: { worker: {
workerData: { workerData: {
useTsNode: true, useTsNode: true,
@@ -41,6 +41,12 @@ export class ERPNextSyncSettings extends Doc {
batchSyncType: () => { batchSyncType: () => {
return !this.fyo.singles.InventorySettings?.enableBatches; return !this.fyo.singles.InventorySettings?.enableBatches;
}, },
syncDataFromServer: () => {
return !this.deviceID;
},
syncDataToServer: () => {
return !this.deviceID;
},
}; };
async change(ch: ChangeArg) { async change(ch: ChangeArg) {
+11 -3
View File
@@ -462,9 +462,17 @@ export class Payment extends Transactional {
const previousOutstandingAmount = referenceDoc.outstandingAmount as Money; const previousOutstandingAmount = referenceDoc.outstandingAmount as Money;
const isReturnInvoice = (referenceDoc as Invoice).isReturn; const isReturnInvoice = (referenceDoc as Invoice).isReturn;
const outstandingAmount = isReturnInvoice
? previousOutstandingAmount.add(row.amount!) let outstandingAmount: Money;
: previousOutstandingAmount.sub(row.amount!);
if (isReturnInvoice) {
const paymentAmount = row.amount!.abs();
const previous = previousOutstandingAmount.abs();
outstandingAmount = previous.sub(paymentAmount);
} else {
outstandingAmount = previousOutstandingAmount.sub(row.amount!);
}
await referenceDoc.setAndSync({ outstandingAmount }); await referenceDoc.setAndSync({ outstandingAmount });
} }
} }
+31
View File
@@ -75,6 +75,7 @@ import {
updateERPNSyncSettings, updateERPNSyncSettings,
} from './utils/erpnextSync'; } from './utils/erpnextSync';
import { ERPNextSyncSettings } from 'models/baseModels/ERPNextSyncSettings/ERPNextSyncSettings'; import { ERPNextSyncSettings } from 'models/baseModels/ERPNextSyncSettings/ERPNextSyncSettings';
import { ErrorLogEnum } from 'fyo/telemetry/types';
enum Screen { enum Screen {
Desk = 'Desk', Desk = 'Desk',
@@ -247,6 +248,36 @@ export default defineComponent({
`${fyo.singles.ERPNextSyncSettings?.dataSyncInterval as string}m` `${fyo.singles.ERPNextSyncSettings?.dataSyncInterval as string}m`
); );
} catch (error) { } catch (error) {
const errorMessage =
error instanceof Error ? error.message : String(error);
try {
const existing = await fyo.db.getAll(
ErrorLogEnum.IntegrationErrorLog,
{
filters: {
error: errorMessage,
},
limit: 1,
}
);
if (!existing.length) {
await fyo.doc
.getNewDoc(ErrorLogEnum.IntegrationErrorLog, {
error: errorMessage,
data: JSON.stringify({
instance: fyo.singles.ERPNextSyncSettings?.deviceID,
operation: 'register_instance',
trigger: 'showSetupWizardOrDesk',
baseURL: baseURL,
}),
})
.sync();
}
} catch (logError) {
throw logError;
}
showToast({ message: 'Connection Failed', type: 'error' }); showToast({ message: 'Connection Failed', type: 'error' });
} }
} }