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

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

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 12 مرداد 1399 05:57 ب.ظ توسط momeni
گزارش دو رخداد همزمان
�5 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها
pardisan
کاربر جدید
کاربر جدید

--
11 مرداد 1399 01:53 ب.ظ

    با سلام

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

     

     

     

    حال به گزارش سرجمع  بصورت زیر نیاز داریم ( بتوانیم از دو رخداد با هم گزارش بگیریم)

    مبنا       حقوق پرداختنی        علی الحساب

    پرسنل 

    ماه

    پروژه

    باتشکر و احترام

                           

    پيوست ها
    momeni
    کاربر ارشد
    کاربر ارشد

    --
    11 مرداد 1399 06:22 ب.ظ
    سلام

    از توضیح دقیق و در عین حال مختصر و مفید خواسته‌تان ممنونم.

    دلیل اینکه نمی‌توانیم به روال عادی به صورت همزمان از دو نوع رخداد سرجمع بگیریم از دو نکته که در لابلای همین خواسته مشاهده می‌شوند آشکار می‌شود. در اینجا دو فیلد پروژه مختلف داریم که هر یک در یک نوع رخداد جداگانه تعریف شده‌اند. دیگر اینکه (حدس می‌زنم) به ازای هر یک از پرسنل و هر تاریخ و هر پروژه ممکن است بیش از یک رخداد داشته باشیم - یعنی مثلا بیش از یک پرداخت در هر ماه برای یک پروژه و یا بیش از یک مساعده در هر ماه برای یک پروژه.

    در این شرایط، حتی اگر بخواهیم به صورت دستی و یا مثلا با Excel گزارش مورد نظر شما را دریافت کنیم با اندکی مشکل مواجه می‌شویم - در واقع لازم است تا ابتدا دو سرجمع از دو نوع رخداد متفاوت محاسبه کنیم (تا مشکل تعدد پرداخت‌ها یا مساعده‌ها رفع شود) و سپس به این نکته توجه کنیم که گروه معین‌کننده‌ی دو فیلد پروژه یکی هستند و می‌توانیم آنها را با هم منطبق کنیم. این هوشمندی در مکانیزم محاسبه‌ی سرجمع در سیستم ما وجود ندارد.

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

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

    لطفا بفرمایید تا اگر فایده‌ای داشته باشد متن برنامه‌ی مورد نیاز را همینجا ارائه کنم.

    ارادت
    pardisan
    کاربر جدید
    کاربر جدید

    --
    12 مرداد 1399 12:27 ب.ظ

    با سلام و عرض ادب

    پیشاپیش از زحمات جنابعالی و همکاران پشتیبانی مالی تشکر میکنم.

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

     

    momeni
    کاربر ارشد
    کاربر ارشد

    --
    12 مرداد 1399 03:26 ب.ظ

    سلام

    اطاعت

    فرض کنیم دو نوع رخداد داریم: پرداخت (کد 6) و علی‌الحساب (کد 7). فیلد TR401 پروژه در نوع رخداد 6 و فیلد TR501 پروژه در نوع رخداد 7 است. فیلد TR502 مبلغ علی‌الحساب (در نوع رخداد 7) است. یک گزارش سرجمع روی رخداد نوع 6 تعریف می‌کنیم که فقط از فیلدهای نوع رخداد 6 استفاده می‌کند. ستون علی‌الحساب با استفاده از متغیر Z1 تعریف می‌شود. این متغیر در برنامه‌ای که برای همان گزارش سرجمع می‌نویسیم و در ادامه مشاهده می‌کنید محاسبه می‌شود.

     

     

    قلب این برنامه یک سابروتین با شروع از 1000 است. توجه کنید که کل برنامه هر بار برای یکی از رخدادهای نوع 6 اجرا می‌شود اما این سابروتین به ازای هر یک از رخدادهای نوع 7 اجرا می‌شود. تاریخ رخداد و پروژه را در A1 و A2 حفظ کرده‌ایم. به ازای هر یک از رخدادهای نوع 7 (مساعده یا علی‌الحساب) که مربوط به همان ماه رخداد اصلی باشند یکبار سابروتین اجرا می‌شود. در داخل سابروتین همه‌ی فیلدهای رخداد (TRها) مربوط به رخداد نوع 7 خواهد بود - این تعریف (و کاربرد) ForEachTR_GoSub است. کنترل کرده‌ایم که اگر رخداد نوع 7 مربوط به همان تاریخ و همان پروژه باشد، فیلد علی‌الحساب (TR502) را با Z1 جمع کرده‌ایم.

     

    پس این برنامه به ازای هر رخداد پرداخت (نوع 6) جمع مبالغ مساعده‌ی هم تاریخ با همان رخداد و مربوط به همان پروژه را در Z1 آماده می‌کند. اگر از Z1 در گزارش سرجمع استفاده کنیم به نتیجه خواهیم رسید. اما توجه کنید که اگر به ازای ترکیب یک پرسنل، تاریخ و پروژه بیش از یک رخداد در پرداخت‌ها (نو ع 6) وجود داشته باشد؛ به ازای هر یک از آنها جمع Z1 محاسبه می‌شود و در نهایت در گزارش سرجمع، سرجمع این Z1ها در تعداد رخدادهای واجد مشخصات تکراری ضرب خواهد شد و گزارش نادرست خواهد شد.

     

    ارادت

    پيوست ها
    pardisan
    کاربر جدید
    کاربر جدید

    --
    12 مرداد 1399 04:34 ب.ظ

    بسیار سپاسگزارم از وقتی که گذاشتید.

    در این شرکت توافق شد که برای هر ماه گزارش جداگانه گرفته شود و تاریخ رخدادها در پایان ماه باشد و در هر دو نوع رخداد از یک گروه معین کننده برای پروژه استفاده کردیم

    به دلیل اینکه به مانده ریالی در هر پروزه نیاز داشتیم برنامه شما را بصورت زیر نوشتیم 

    و با زحمات شما و با اطلاعات که در ابتدای این پست ارائه شده بود خروجی بصورت زیر حاصل شد

    پيوست ها
    momeni
    کاربر ارشد
    کاربر ارشد

    --
    12 مرداد 1399 05:57 ب.ظ
    سلام

    خسته نباشید - عالی شده است. ممنون که به اشتراک گذاشتید

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