چنانچه در هریک از مراحل نصب یا کاربری نرم‌افزارها به مشکلی برخورد کرده‌اید یا هر سوال، اشکال یا ابهامی در این زمینه دارید، می‌توانید پاسخ خود را ابتدا در مطالب موجود جستجو و در صورت لزوم به عنوان یک مبحث جدید مطرح کنید، تا کارشناسان پشتیبانی به آن پاسخ دهند.

به منظور ثبت سوال جدید و یا پاسخ به موضوعات موجود، ابتدا می بایست از طریق صفحه مربوطه به سامانه وارد شوید. چنانچه نام کاربری دریافت نکرده اید، به صورت رایگان و از طریق صفحه مربوطه، ابتدا در سامانه ثبت نام نمایید.

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 25 بهمن 1391 11:22 ق.ظ توسط Etemadi
روش پرداخت بیمه با کارکرد ناقص برای کارکرد کامل !
�2 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها
Etemadi
کاربر پیشرفته
کاربر پیشرفته

--
24 بهمن 1391 06:39 ب.ظ
    سلام

    با تشکر از آقای صفارزاده بابت پست مفیدشان درباره " روش پرداخت بیمه با کارکرد کامل برای کارکرد ناقص "

    گاهی نیز برعکس این موضوع پیش می آید مثلا فردی در دو پروژه مختلف کار می کند و از بابت هر دو پروژه دو حقوق مجزا با کارکرد 30 روز می گیرد ولی می خواهند بابت بیمه آن شخص 20 روز را از پروژه اول و 10 روز را از طریق پروژه دوم پرداخت کنند .

    حال فرض می کنیم ما می خواهیم بیمه آن شخص را در پروژه دوم که 30 روز از آن حقوق می گیرد و تمام محاسبات حقوق او در حین ثبت حقوق با کارکرد کامل 30 روز ثبت شده بصورت یک سوم و 10 روزه به بیمه اعلام کنیم و در ضمن گزارشات نمایشی و چاپی و دیسکت بیمه را نیز بر مبنای 10 روز داشته باشیم .

    مد نظر داشته باشید که ثبت حقوق آن شخص با 30 روز انجام شده است .

    برای این کار شاید دوستان راه حلهای متفاوتی ارائه کنند ولی چیزی که به ذهن بنده رسید این است که یک برنامه بنویسم و آنرا به گزارشات نمایشی و چاپی الصاق کرده و در ضمن دستورات آنرا در برنامه SAL.XEX که به شیوه صدور اطلاعات به DBF الصاق شده است هم اضافه نمائیم .

    با تشکر
    Etemadi
    کاربر پیشرفته
    کاربر پیشرفته

    --
    25 بهمن 1391 09:50 ق.ظ
    ادامه ...

    برای پیاده سازی روشی که عرض کردم نیاز به تعریف یک معین کننده داریم تا توسط آن مشخص کنیم کدام افراد می خواهند به این گونه بیمه آنها رد شود .

    در ادامه یک برنامه به شکل زیر می نویسیم . البته فیلدهای اطلاعات اصلی استفاده شده در این برنامه مورد نیاز بنده بوده و شاید شما نیاز داشته باشید از فیلدهای کمتر و یا بیشتری استفاده نمائید . شماره فیلدها هم در حقوق و دستمزد نوسا به گونه ای عرف شده اند و بطور مثال لزوما MA33 فیلد مبلغ حقوق نمی باشد ولی همانطور که عرض کردم در اکثر  POST ها از همین فیلدها و به همین نامها استفاده می شود و باز هم تاکید می کنم : " عرف شده است "

    ;a9 = 10
    ;a4 = MA32
    ;a3 = MA33 / 3
    (Round(a3
    ;MA33 = a3
    ;a1 = MA105 / 3
    (Round(a1
    ;MA105 = a1
    ;a5 = MA90 / 3
    (Round(a5
    ;MA90 = a5
    ;a2 = MA97 / 3
    (Round(a2
    ;MA97 = a2
    ;a6 = MA91 / 3
    (Round(a6
    ;MA91 = a6
    ;a7 = MA94 / 3
    (Round(a7
    ;MA94 = a7
    a8 = MA95 / 3
    ;(Round(a8
    ;MA95 = a8
    ;b1 = 0

    این برنامه حداقل تعاریفی که برای ارائه گزارشات بیمه ای و بخصوص دیسکت بیمه نیاز است را پوشش می دهد و اگر وارد جزئیات شیوه صدور اطلاعات بیمه به DBF شوید خواهید دید که مثلا متغیر a9 به عنوان کارکرد افراد تعریف شده است .




    با تشکر
    Etemadi
    کاربر پیشرفته
    کاربر پیشرفته

    --
    25 بهمن 1391 11:22 ق.ظ
    ادامه ...

    این برنامه را می توانید به نامی دلخواه ذخیره نمائید و بعد آنرا به گزارشات نمایشی و چاپی خود الصاق نمائید .
    تنها نکته ای که وجود دارد این است که من مجبور شدم از یک متغیر به نام B1 استفاده کنم و مقدار آنرا برابر صفر قرار دهم و بعد آنرا در فرمهای نمایشی و چاپی در جائی مثل ستون توضیحات و یا سر صفحه و یا پا صفحه گزارشات استفاده کنم چون در غیر این صورت اعمال تغییرات در فیلدهای اطلاعات اصلی که در این برنامه همگی تقسیم بر 3 شده اند انجام نمی شد و سیستم در گزارشات آنها را همچنان با همان مبالغی که با کارکرد 30 روزه حین ثبت حقوق پر کرده بود نشان می داد.

    در مورد این قضیه دوستان می توانند بررسی و نتایج خود را در ادامه این پست اعلام نمایند .

    بعد از این کارها لازم بود تا فرمولهای که در پست قبلی دیدید در جائی از برنامه SAL.XEX که به شیوه صدور اطلاعات بیمه به DBF استفاده شده است اضافه شود .

    برای این کار هم به روش زیر فرمولهای برنامه SAL.XEX را تغییر دادم :


    (Mday(k1
    ;S1 = RYE - 1300
    ;M1 = RMO

    IF MA93 = 1 THEN 10

    ;a1 = MA105
    ;a2 = MA97
    ;a3 = MA33
    ;a4 = MA32
    ;a5 = MA90
    ;a6 = MA91
    ;a7 = MA94
    ;a8 = MA95
    ;a9 = MA3

    GOTO 20

    10

    ;a9 = 10
    ;a4 = MA32
    ;a3 = MA33 / 3
    (Round(a3
    ;MA33 = a3
    ;a1 = MA105 / 3
    (Round(a1
    ;MA105 = a1
    ;a5 = MA90 / 3
    (Round(a5
    ;MA90 = a5
    ;a2 = MA97 / 3
    (Round(a2
    ;MA97 = a2
    ;a6 = MA91 / 3
    (Round(a6
    ;MA91 = a6
    ;a7 = MA94 / 3
    (Round(a7
    ;MA94 = a7
    a8 = MA95 / 3
    ;(Round(a8
    ;MA95 = a8
    ;b1 = 0

    20

    EXIT

    در این برنامه MA93 فیلدی است که از معین کننده ای که قبلا توضیح دادم به آن مقداری ارجاع شده است که مقدار 1 برای آن به معنای این است که می خواهیم بیمه آن فرد را با فرضیات این پست ، 10 روزه رد کنیم . برای بقیه افراد که بطور عادی با کارکرد واقعی شان بیمه رد می شود مقدار آنرا می توانیم "معین نشده " باقی بگذاریم .

    بعد از ذخیره این برنامه و گرفتن خروجی DBF بیمه می توانید فایلهای ایجاد شده خصوصا فایل DSKWOR00.DBF را در محیط NC با زدن کلیدهای F3 و بعد F4 چک نمائید .

    با تشکر
    شما مجاز به پاسخ به اين پست نمي باشيد.