الانتقال إلى المحتوى

استرجاع اسم المنتج بناء على رقم المنتج في Tabular Region


eslam elbyaly

Recommended Posts

السلام عليكم ورحمة الله وبركاته

- Oracle Apex 5

- نظام قائم على استخدام الباركود

- عندى Master detail page , الـ Detail region query كالآتى

select item_id , item_name

from purchase_order , items

where ................

 

المفروض لما اليوزر يضرب الباركود , يروح السيستم يجيب اسم المنتج من الداتابيز بناء على الباركود الى اتضرب .

الموضوع ده عارف انه قابل للتطبيق عن طريق Ajax and javascript لو على Form Region , بس هل قابل للتطبيق مع الـ Detail Region ولا لا ؟

تم تعديل بواسطة eslam elbyaly
رابط هذا التعليق
شارك

السلام عليكم

هذا السؤال كنت اريد طرحة في المنتدى  لقد حاولت باستخدام action dynamic لاكن لايوجد في  tablur ذلك  يوجد طريقة طويلة ب pl/sql  والجافا   اعتقد سوف يتم حل ذلك في النسخة الجديدة 5.1  وياريت احد يعطي مثال بسيط  مثلا

 

اذا اختار رقم الصنف باي طريقة  يظهر اسمة في خانة الاسم  وايظا  مجموع  خانتين مثلا الكمية في السعر يوضع في المجموع   وشكرااا

رابط هذا التعليق
شارك

بسم الله الرحمن الرحيم 
الخطوات بالتفصيل ::
1: عمل بروسيس على مستوى البرنامج وظيفتها الحصول على الاسم اعتمادا على الباركود 
*******

declare
 l_prijs N_PRODUCT.PRODUCT_NAME%type;
begin
 select
        N_PRODUCT.PRODUCT_NAME into l_prijs
 from  N_PRODUCT
where PRODUCT_CODE = apex_application.g_x04;
 --
 sys.htp.p( l_prijs );
exception when no_data_found then
 sys.htp.p( 'product not found' );
end;
 
رابط هذا التعليق
شارك

ثانيا كتابه دوال الجافا سكريت فى الصفحة المستخدمه 
******

function calc1(This)
{
 
$('td[headers=PRODUCT_CODE] input').change(function(){
var that = this;
$.post('wwv_flow.show', 
       {"p_request"      : "APPLICATION_PROCESS=get_name",
        "p_flow_id"      : $v('pFlowId'),
        "p_flow_step_id" : $v('pFlowStepId'),
        "p_instance"     : $v('pInstance'),
        "x04"            : $(this).val()
        },
        function(data){ 
           var eJob2 = $(that).closest("tr").find("td[headers=PRODUCT_NAME] input");
           eJob2.val(data);
        },
        "text"
      );
    
});
 
  
 
}
رابط هذا التعليق
شارك

نفترض اننا نحاول ايجاد قيمة حقلين فى قاعدة البيانات بناء على قيمة حقل آخر
 

نفترض اننا نحاول الحصول على قيمة اسم الدواء وسعر البيع بناء على قيمة الباركود
الخطوات المطلوبه كالاتى
اولا :
نقوم بعمل

process
على مستوى الابلكيشن بالاعدادات الاتيه
لاستخراج قيمة اسم الدواء
بالاعدادات الاتيه

ثم نكتب الكود الاتى مع مراعاه اختلاف الكود بناء على الحقول التى تريدها
 

declare

 l_prijs PH_DAWA.DAWA_AR_NAME%type;

begin

 select

        PH_DAWA.DAWA_AR_NAME into l_prijs

 from  PH_DAWA

 where PH_DAWA.DAWA_PARCODE= apex_application.g_x04;

 --

 sys.htp.p( l_prijs );

exception when no_data_found then

 sys.htp.p( 'dawa not found' );

end;

 

ثانيا
نكتب كود جافا سكريبت يأخذ البيانات من ال

Process

فى   

HTML Header

 

<script type="text/javascript">

 

 

 

function calculateTotal(This)

{

 

$('td[headers=DAWA_PARCODE] input').change(function(){

var that = this;

$.post('wwv_flow.show',

       {"p_request"      : "APPLICATION_PROCESS=get_name",

        "p_flow_id"      : $v('pFlowId'),

        "p_flow_step_id" : $v('pFlowStepId'),

        "p_instance"     : $v('pInstance'),

        "x04"            : $(this).val()

        },

        function(data){

           var eJob = $(that).closest("tr").find("td[headers=DAWA_AR_NAME] input");

           eJob.val(data);

        },

        "text"

      );

});

</script>

 

ثالثا :
نذهب للعنصر الرئيسى اللى هنعتمد عليه فى احضار القيم الاخري
فى حالتنا هو عنصر الباركود

ونعمل تعديل علىه ونكتب الكود الاتى
كما فى الصوره

onchange="calculateTotal(this)"

رابط هذا التعليق
شارك

اظنك بتتكلم عن الـ form region برده يا على مش الـ Tabular .

OnChange ده هكتبه فين ؟

- انت نسيت ترفع الصورة على فكرة .

رابط هذا التعليق
شارك

اظنك بتتكلم عن الـ form region برده يا على مش الـ Tabular .

OnChange ده هكتبه فين ؟

- انت نسيت ترفع الصورة على فكرة .

الكلام على  

tabular 

وكود onchange 

بيتحط فى 

custom attribute 

رابط هذا التعليق
شارك

فين الجزء في الكود الى بيقول حط الداتا الى البروسيس هتجبها في الكولوم المخصص وليكن item_name ؟

يا ريت لو تقدر يا على تعمل الموضوع علي

https://apex.oracle.com/pls/apex/f?p=4000:4500:101920255856123::NO:::

 

eslam_ws

[email protected]

123

رابط هذا التعليق
شارك

فين الجزء في الكود الى بيقول حط الداتا الى البروسيس هتجبها في الكولوم المخصص وليكن item_name ؟

يا ريت لو تقدر يا على تعمل الموضوع علي

https://apex.oracle.com/pls/apex/f?p=4000:4500:101920255856123::NO:::

 

eslam_ws

[email protected]

123

 

http://www.4shared.com/file/TTnEmb4Jce/ali_saleh.html

رابط هذا التعليق
شارك

ههههه , انا مصدقك يا على طبعا , انا بس بحب افهم .

هو ده الجزء الى انا بسال عليه 

           var eJob2 = $(that).closest("tr").find("td[headers=PRODUCT_NAME] input");
؟
رابط هذا التعليق
شارك

شكراا  التطبيق هذا على اصدار قديم  نريد على apex 5

اعتقد نفس الموضوع ,

process and javascript function

رابط هذا التعليق
شارك

جربت الكود لم يشتغل بعد ماغيرت اسماء الحقول   - الهيدر هل هو اسم الحقل او اسم العنوان   ممكن اسم العنوان يكون عربي  وماذا تقصد ب x04

رابط هذا التعليق
شارك

السلام عليكم  عملت كل الخطوات بالتمام لاكن لم يستجع اي بيانات كانه الاجراء لم ينفذ

 

declare
l_prijs CARS.CAR_NAME%type;
begin
select
      CARS.CAR_NAME into l_prijs
from  CARS
where CARS.CAR_BN= apex_application.g_x04;
 
sys.htp.p(l_prijs);
exception when no_data_found then
sys.htp.p( 'not found' );
end;

 

==================

 

<script type="text/javascript">


function dis(This)
{

$('td[headers=Bn] input').change(function(){
var that = this;
$.post('wwv_flow.show',
       {"p_request"      : "APPLICATION_PROCESS=CARNAME",
        "p_flow_id"      : $v('pFlowId'),
        "p_flow_step_id" : $v('pFlowStepId'),
        "p_instance"     : $v('pInstance'),
        "x04"            : $(this).val()
        },
        function(data){
           var eJob = $(that).closest("tr").find("td[headers=Crna] input");
           eJob.val(data);
        },
        "text"
      );
});
</script>

 

 وفي حقل cr_bn    في costume attriube

onchange="dis(this)"

تم تعديل بواسطة alzmohammed
رابط هذا التعليق
شارك

السلام عليكم  عملت كل الخطوات بالتمام لاكن لم يستجع اي بيانات كانه الاجراء لم ينفذ

 

declare

l_prijs CARS.CAR_NAME%type;

begin

select

      CARS.CAR_NAME into l_prijs

from  CARS

where CARS.CAR_BN= apex_application.g_x04;

 

sys.htp.p(l_prijs);

exception when no_data_found then

sys.htp.p( 'not found' );

end;

 

==================

 

<script type="text/javascript">

 

 

function dis(This)

{

 

$('td[headers=Bn] input').change(function(){

var that = this;

$.post('wwv_flow.show',

       {"p_request"      : "APPLICATION_PROCESS=CARNAME",

        "p_flow_id"      : $v('pFlowId'),

        "p_flow_step_id" : $v('pFlowStepId'),

        "p_instance"     : $v('pInstance'),

        "x04"            : $(this).val()

        },

        function(data){

           var eJob = $(that).closest("tr").find("td[headers=Crna] input");

           eJob.val(data);

        },

        "text"

      );

});

</script>

 

 وفي حقل cr_bn    في costume attriube

onchange="dis(this)"

 

تأكد اخى العزيز من ان العنصر الذى يحتوى على  bn يأخذ المصفوفه .g_x04

 

رابط هذا التعليق
شارك

متأكد من العنصر  اسم الهيدر Bn  واسم الحقل    CR_BN  وهو حقل نصي يوضع فيه رقم لوحة السيارة    ويتم استرجاع اسم السيارة في crname  

 

لو كانت الصفحة فورم عادي كان وضعت action dynamic   ويتم الاسترجاع لاكن التابلور معقد

رابط هذا التعليق
شارك

لو البروسيس يتنفذ وفرضنا لايوجد بيانات كان ارجع  كلمة not found  انا شاك في المتغيير لايحمل اي قيمة مسترجعة او الحدث onchange  لاينفذ    لايوجد طريقة ابسط في الكود

رابط هذا التعليق
شارك

ده مشروع مبيعات انا كنت عملته قبل كده 

http://www.araboug.org/ib/index.php?showtopic=61048
موجود فيه الفكره فى اربع فواتير (البيع والشراء -ومرتجع البيع ومرتجع الشراء)
وده سورس البرنامج للى حابب يستفاد

تم تعديل بواسطة alisaleh84
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية