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

طباعة التقرير 10g علي الطابعة مباشرا دون فتح التقرير


bolaa

Recommended Posts

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

 

اريد طباعة تقرير (فاتورة ) بالإصدار 10g  علي الطابعة مباشرا دون فتح التقرير .

مع اللعلم انها تعمل عندي في الإصدار 6i فقط فهل يوجد حل في الإصدار 10g .

 

و شكرا 

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

شكرا استاذ/  eslam elbyaly

 

هل يوجد برامتر موجودة في 10g عن 6i

 

حيث تم استخدام المتغيرات  DESNAME و  DESFORMAT و DESTYPE في 6i  و هي تعمل بنجاح  فهل هناك متغيرات اخري في 10g 

 

 

و شكرا

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

شكرا استاذ/  eslam elbyaly

 

الكود المستخدم  و هو لا يعمل عندي

DECLARE
  pl_id ParamList;
  lv_repid REPORT_OBJECT; 
  lv_report VARCHAR2(100);
BEGIN
   pl_id := Get_Parameter_List('tmpdata'); 
  IF NOT Id_Null(pl_id) THEN 
    Destroy_Parameter_List( pl_id ); 
  END IF;
  pl_id := Create_Parameter_List('tmpdata');
  --Add_Parameter(pl_id,'P_1',TEXT_PARAMETER,:STUDENTS.STDCODE); 
  Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
  lv_repid:=FIND_REPORT_OBJECT('tmpdata'); -- std_ledger
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_FILENAME, 'd:\ofiswin10g\acc\report1.rdf');
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_EXECUTION_MODE, RUNTIME);
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_COMM_MODE , SYNCHRONOUS);
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_DESTYPE ,PRINTER);
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_DESNAME ,'\\192.168.0.55\HP LaserJet Professional P 1102w');
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_DESFORMAT ,'hpl.prt');
  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_SERVER , 'bola');
  lv_report := RUN_REPORT_OBJECT (lv_repid,pl_id);
END;
رابط هذا التعليق
شارك

شكرا استاذ/  eslam elbyaly

 

الوضع الحالي هي تطبع بنجاح و لكن يجب ان يكون الطابعة معرفة علي server وليس client 

فهل هناك حل من وجود تعريف الطابعة علي client و ليس server ?

 

و شكرا ....

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

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

 

 

 

Property

One of the following constants:

REPORT_EXECUTION_MODE: The report execution mode, either BATCH or RUNTIME REPORT_COMM_MODE: The report communication mode, either SYNCHRONOUS or ASYNCHRONOUS

REPORT_DESTYPE: The report destination type, either PREVIEW, FILE, PRINTER, MAIL, CACHE or SCREEN

SET_REPORT_OBJECT_PROPERTY Examples
DECLARE
repid REPORT_OBJECT; 
report_prop VARCHAR2(20);
BEGIN repid := find_report_object('report4');
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESTYPE, FILE);
END;

بالتوفيق إن شاء الله

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

شكرا يا استاذ / jamal_rrkk

 

المشكلة الموجودة لدي في الإصدار (10g) هي انني استطيع الطباعة المباشرة علي طابعة معرفة علي السرفر و تم الحل باستخدام الكود المرفق من حضرتك 

 

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

 

و شكرا

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

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

 

أخي الكريم

 

الكود التالي يحتوى على امتداد الطابعة على السيرفر صحيح

 

  SET_REPORT_OBJECT_PROPERTY(lv_repid, REPORT_DESNAME ,'\\192.168.0.55\HP LaserJet Professional P 1102w');

 

جرب حذف هذا الجزء من الكود هل يتم أخذ الطابعة الموجودة على الجهاز أم لا

declare
report_id Report_Object;
report_job_id VARCHAR2(100);
BEGIN
 report_id:= find_report_object('report_node');
--NOTE <REPORT_NODE> IS NOT A REPORT NAME 
--IT IS A REPORT OBJECT IN OBJECT NAVIGATION OF FORM UNDET - --IT U GIVE REPORT NAME 
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,PRINTER);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,'<REPORT SERVER NAME>');
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'PARAM1='||:code1||' '||'PARAM2'||:code2);
--REPORT_OTHER IS OPTIONAL FOR PASSING  PARAMETR
report_JOB_ID:=run_report_object(report_id);
END;

أو 

 

SET_REPORT_OBJECT_PROPERTY(rep_id, REPORT_EXECUTION_MODE,RUNTIME);               

 

بالتوفيق إن شاء الله

 

 

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

  • بعد 1 سنة...

السلام عليكم ورحمه الله 

 

هل  يوجد حل  في  الطباعه من خلال المسخدم مش  من خلال  السيرفر 

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

انا عاوز اطبع ع الطابعه علطول .. ارجو المساعده 

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

الطريقة الوحيدة لعمل اشياء غير موجودة في اوراكل فورمز وريبورتس على جهاز المستخدم، هي باستخدام javabeans
انا شرحت طريقة الطباعة مباشرة على جهاز المستخدم في الفيديو

https://www.youtube.com/watch?v=Lb0JAA1XGjs

تابع الفيديو وخبرني اذا عندك استفسارات

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

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

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

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

×   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.

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

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

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