ارسالها: 21
موضوعها: 1
تاریخ عضویت: بهمن ۱۳۹۵
اعتبار:
0
سپاسها: 19
0 سپاس گرفتهشده در 0 ارسال
مهندس جان با تابع سفارشی میشه دقیقا بفرمایید باید چیکار کنیم؟ چون وقتی تابع سفارشی رو میزنیم فقط یه پنجره میاره که روش فقط یکی هست updateinventory !!!!!
ممنون میشم راهنمایی بفرمایید
بی نهایت سپاس
ارسالها: 21
موضوعها: 1
تاریخ عضویت: بهمن ۱۳۹۵
اعتبار:
0
سپاسها: 19
0 سپاس گرفتهشده در 0 ارسال
ممنون از راهنمایتان
این تابع سفارشی رو از خود محیط مدیریت ویتایگر میشه ساخت یا باید کدنویسی انجام بشه از سمت سرور؟
ارسالها: 197
موضوعها: 23
تاریخ عضویت: آذر ۱۳۹۵
اعتبار:
9
سپاسها: 29
93 سپاس گرفتهشده در 60 ارسال
خواهش
متاسفانه برای تابع سفارشی باید حتما با زبان php تابع مورد نظر را توسعه بدین و تا اونجا که من می دونم ابزاری برای این کار در ویتایگر وجود ندارد
ارسالها: 21
موضوعها: 1
تاریخ عضویت: بهمن ۱۳۹۵
اعتبار:
0
سپاسها: 19
0 سپاس گرفتهشده در 0 ارسال
۱۳۹۵/۱۱/۱۰, ۲۰:۲۱
(آخرین ویرایش: ۱۳۹۵/۱۱/۱۰, ۲۰:۲۴، توسط aminweb.)
مهندس من در انجمن ویتایگر همین موضوع رو پرسیدم جواب این رو دادن
@aminweb ,
first you need to Item block to Workflow Edit task window so that in the task you can add item block meta key . to do this you need to add . got to
modules/Settings/Workflows/views/EditTask.php
after
$structure = $recordStructureInstance->getStructure();
add
if($taskType == "VTEmailTask" && in_array($workflowModel->getModule()->name, getInventoryModules())){
$itemsBlock = "LBL_ITEM_DETAILS";
unset($structure[$itemsBlock]);
}
now go to workflow edit task for any inventory module and you can see Itemblock inside the fields option.
now in modules/com_vtiger_workflow/VTSimpleTemplate.inc
inside function getMetaValue()
add new case in switch statement as case 'crmitemblock' :
البته این کدی که گفته اضافه کنیم در modules/Settings/Workflows/views/EditTask.php بصورت دیفالت در خود این فایل بودش...
بعد گفتن که در این مسیر modules/com_vtiger_workflow/VTSimpleTemplate.inc فانکشن getMetavalue ایجاد کنیم که من نفهمیدم چطوری و با کدوم مقدارها ...
ممنون میشم راهنمایی بفرمایید.واقعا این کار فوری هست به همین خاطر به دفعات زیاد پست ارسال می کنم.
ممنون از لطفتان
ارسالها: 197
موضوعها: 23
تاریخ عضویت: آذر ۱۳۹۵
اعتبار:
9
سپاسها: 29
93 سپاس گرفتهشده در 60 ارسال
سلام مجدد
منظور vivek در انجمن ویتایگر این بود که قالب VTSimpleTemplate که قالب پیش فرض اکثر ورک فلو های سیستم هست را تغییر بدین تادر گردش کارها بتونید اطلاعات محصول را هم ببینید که روشی بدی به نظر نمی رسد اما باید خاطر نشان کنم این کار بسیار حساس است و یک اشتباه می تواند منجر به از کار افتادن سایر گردش کارها در سیستم شود لذا باید در فایل قالب شرطی به جهت شناسایی ماژول انبار بگذارید و محدود به ماژول فاکتور آن ها در زمانی که فاکتور پراخت شده می باشد بکنید.
پیشنهاد بنده بسیار ساده تر و راحت تر است. پیش از این گفتم که از تابع سفارشی استفاده کنید.
خوب حالا ما در تعریف تابع سفارشی مشکلاتی داریم پس کار را ساده تر می کنیم بیایید از تابع سفارشی موجود برای انبار استفاده کنیم
ویتایگر برای ماژول انبار شامل ماژول های سفارش خرید و فروش و فاکتور از یک تابع سفارشی به نام updateinventory استفاده می کند که در هر بار ذخیره موجودی انبار را از محصولات انتخاب شده در ماژولهای ذکر شده بروز رسانی می کند
و در این تابع اطلاعات فاکتور و اطلاعات ماژول های محصولات به عنوان ورودی وجود دارد و از تابعی به نام updateInventoryProductRel استفاده میکند
برای انجام این کار تنها کافی است در مسر زیر اقدام به اضافه نمودن تغییرات مورد نظر خود شوید
include/InventoryHandler.php
فراموش نکنید که کلیه اطلاعات مورد نظر شما در پارامتر ورودی $entity به صورت یک array-object وجود دارد
ارسالها: 21
موضوعها: 1
تاریخ عضویت: بهمن ۱۳۹۵
اعتبار:
0
سپاسها: 19
0 سپاس گرفتهشده در 0 ارسال
ممنون مهندس جان از توضیحات روان و راهنمایی عالیتان
میشه برای این مورد ""پارامتر ورودی $entity به صورت یک array-object وجود دارد""" یک سمپل کد و ... بفرمایید ؟
ممنون از لطفتان
ارسالها: 197
موضوعها: 23
تاریخ عضویت: آذر ۱۳۹۵
اعتبار:
9
سپاسها: 29
93 سپاس گرفتهشده در 60 ارسال
در تابع updateInventoryProductRel می تونید نمونه پیاده سازی وقتی وضعیت ماژول تغییر می کنه را ببینید