<ENVELOPE>
<HEADER>
<TALLYREQUEST>Import Data</TALLYREQUEST>
</HEADER>
<BODY>
<IMPORTDATA>
<REQUESTDESC>
<REPORTNAME>Ledger</REPORTNAME>
<STATICVARIABLES>
<SVCURRENTCOMPANY>{company name}</SVCURRENTCOMPANY>
<SVBANKNAME>{bank name}</SVBANKNAME>
</STATICVARIABLES>
</REQUESTDESC>
<REQUESTDATA>
</REQUESTDATA>
</IMPORTDATA>
</BODY>
</ENVELOPE>
我使用这个语法,但它不起作用
我的公司有用户名和密码,如何获取??
const { parseString } = require('xml2js');
const url = `http://localhost:9000/`;
const fromDate = '2023-04-01';
const toDate = '2024-03-31';
const getBalanceSheet = async (url, fromDate, toDate) => {
const xmlRequest = `
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Export</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>BalanceSheet</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<SVFROMDATE>${fromDate}</SVFROMDATE>
<SVTODATE>${toDate}</SVTODATE>
<EXPLODEFLAG>Yes</EXPLODEFLAG>
</STATICVARIABLES>
</DESC>
</BODY>
</ENVELOPE>
`;
const response = await axios.post(url, xmlRequest);
//console.log(response.data)
return parseXMLResponse(response.data);
};
console.log(getBalanceSheet)
const parseXMLResponse = async (xmlData) => {
return new Promise((resolve, reject) => {
parseString(xmlData, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
};
(async () => {
const balanceSheetJson = await getBalanceSheet(url, fromDate, toDate);
console.log("Balance Sheet Report");
console.log(JSON.stringify(balanceSheetJson, null, 2));
})();``` I have implement this program to extract the balance sheet from tally <ID>BalanceSheet</ID> based on this id you can extract any thing from tally replace id with what you want eg. profit loss, vouchers,