Fix asnad via root POST like Hamkar; show accounting code label.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-05 11:27:42 +03:30
co-authored by Cursor
parent 3ab102ddae
commit 8f9a00f319
3 changed files with 42 additions and 20 deletions
@@ -84,9 +84,9 @@ export class TahesabDocumentsService {
);
const link = await this.requireLink(organizationId, personId, resolvedId);
const { api } = await this.connections.getApi(organizationId, resolvedId);
// Count_Last = -1 مثل همکار (مانده ردیف‌به‌ردیف / همه در بازه)
// Count_Last مثل تست‌های همکار (۲۰۰) — مقدار ۱- گاهی سمت ته‌حساب خطا/۵۰۲ می‌دهد
const raw = await api.doListAsnad(
-1,
200,
link.moshtariCode,
fromNorm,
toNorm,
@@ -224,15 +224,37 @@ export class TahesabApi {
fromShamsi: string,
toShamsi: string,
) {
// مثل همکار: فقط ۴ پارامتر (Count_Last, Code, از, تا) — پارامتر اضافه باعث خطای ته‌حساب می‌شود
return this.call(
'DoListAsnad',
'DoListAsnad',
[countLast, moshtariCode, fromShamsi, toShamsi],
'POST',
55_000,
{ emptyResultOnError: /رکوردی یافت نشد/i },
);
// همکار: POST به baseUrl بدون path، با کلید body = DoListAsnad و ۴ آرگومان
const args = [countLast, moshtariCode, fromShamsi, toShamsi];
const empty = { emptyResultOnError: /رکوردی یافت نشد/i };
const timeoutMs = 55_000;
const rootCall = () =>
this.http.call({
...this.creds,
path: '',
bodyKey: 'DoListAsnad',
args,
method: 'POST' as const,
timeoutMs,
...empty,
});
const pathCall = () =>
this.http.call({
...this.creds,
path: 'DoListAsnad',
bodyKey: 'DoListAsnad',
args,
method: 'POST' as const,
timeoutMs,
...empty,
});
return rootCall().catch(async (err) => {
try {
return await pathCall();
} catch {
throw err;
}
});
}
doListNameSekeh() {
+9 -9
View File
@@ -584,9 +584,9 @@ watch(() => route.query.tab, readTab, { immediate: true });
<div class="who">
<h2>
{{ fullName }}
<span v-if="tahesabMoshtariCode != null" class="tahesab-code" dir="ltr">{{
tahesabMoshtariCode
}}</span>
<span v-if="tahesabMoshtariCode != null" class="tahesab-code" dir="rtl"
>کد حسابداری {{ toFaDigits(String(tahesabMoshtariCode)) }}</span
>
<span v-if="vip" class="vip-mark">VIP</span>
</h2>
<p v-if="subtitle" class="sub">{{ subtitle }}</p>
@@ -622,9 +622,9 @@ watch(() => route.query.tab, readTab, { immediate: true });
<div class="who">
<h2>
{{ fullName }}
<span v-if="tahesabMoshtariCode != null" class="tahesab-code" dir="ltr">{{
tahesabMoshtariCode
}}</span>
<span v-if="tahesabMoshtariCode != null" class="tahesab-code" dir="rtl"
>کد حسابداری {{ toFaDigits(String(tahesabMoshtariCode)) }}</span
>
</h2>
<p v-if="subtitle" class="sub">{{ subtitle }}</p>
</div>
@@ -1096,13 +1096,13 @@ watch(() => route.query.tab, readTab, { immediate: true });
}
.tahesab-code {
font-size: 0.85rem;
font-size: 0.78rem;
font-weight: 700;
color: #0f766e;
background: color-mix(in srgb, #0f766e 12%, transparent);
border-radius: 8px;
padding: 0.1rem 0.45rem;
letter-spacing: 0.02em;
padding: 0.12rem 0.5rem;
letter-spacing: 0;
}
.sub {