Osticket: 1.10 - مخرجات تصدير قائمة التذاكر سطرين أوليين فقط

تم إنشاؤها على ١١ يوليو ٢٠١٦  ·  60تعليقات  ·  مصدر: osTicket/osTicket

عند النقر فوق "تصدير" في أي قائمة تذاكر (مفتوحة ، مغلقة ، مملوكة ، تم البحث عنها) ، يتضمن ملف CSV الذي تم إنشاؤه أول سطرين فقط.
يؤثر هذا أيضًا على أي نتيجة للبحث.

تظهر سجلات اباتشي هذا:
تحذير PHP: mysqli_result :: close (): تعذر جلب mysqli_result في /site_1.10.rc3/include/class.orm.php على السطر 3076 ، المرجع: http: // ---------- -------- / scp / Tickets.php

أوستيكيت 1.10.rc3.0
Centos 6.8 64b
mysql 5.1.0
php 5.6

شكرا لك.

التعليق الأكثر فائدة

ما زلنا نبحث في هذه القضية. حتى نصلحها نهائيًا ، يمكنك التعليق على السطر 63 في include/class.export.php :

->options(QuerySet::OPT_NOCACHE)

... ويجب أن يتم تصديرها جميعًا مرة أخرى.

ال 60 كومينتر

بواسطة "يشمل فقط أول سطرين" sistemasad تعني في الواقع الثلاثة الأولى (3).
رؤية نفس السلوك على تركيبات الاختبار الخاصة بي.

1.10rc3
Win2012 R2 w / IIS8.5
PHP 5.6

مرحبًا ، أؤكد أيضًا نفس المشكلة.

أوستيكيت 1.10.rc3.0
Centos 6.8 64b
mysql 5.5.50-cll ، libmysql - 5.1.73
php 5.6

أهلا،
لقد أمضيت بضع دقائق في هذا.
في ملف class.export.php ، دالة dumpTickets ، فإن آخر instruccion هو استدعاء إرجاع self :: dumpQuery.
المعلمة الأخيرة التي يقبلها dumpQuery هي "$ options = array". إذا قمت بتعيين هذا على قيمة خالية ، فسيتم تصدير التذاكر بشكل صحيح. (المعلمات الثلاثة الأخرى هي sql والرؤوس و "csv")

يبدو أن المشكلة تكمن في الخيارات التي تم إنشاؤها بواسطة هذه السطور (المعلمة الرابعة):

array ('edit' => function (& $ record، $ keys) استخدم ($ الحقول) {
foreach (حقول $ مثل $ k => $ f) {
إذا (($ i = array_search ($ k، $ keys))! == false) {
سجل $ [$ i] = $ f-> تصدير ($ f-> to_php ($ record [$ i])) ؛
}
}
صدى $ سجل
إرجاع سجل $؛

الرجاء مساعدتي ، مشكلتي هي نفسها

تحذير : mysqli_result :: close (): تعذر إحضار mysqli_result في ................ / include / class.orm.php على السطر 3089

تحذير : mysqli_result :: close (): تعذر إحضار mysqli_result في ................ / include / class.orm.php على السطر 3089

thuc960 ،
ما فعلته هو تغيير استدعاء الإرجاع هذا على ملف class.export.php ، حول السطر 85 داخل وظيفة dumpTickets ($ sql ، $ how = 'csv') :

_return self :: dumpQuery (تذاكر $،
مجموعة مصفوفة(
'number' => __ ('رقم التذكرة') ،
"تم إنشاؤه" => ("تاريخ الإنشاء") ،'cdata.subject' => __ ('الموضوع') ،'user.name' => __ ('من') ،'user.default_email.address' => __ ("من البريد الإلكتروني") ،"cdata.:priority.priority_desc '=> __ (" الأولوية ") ،'dept :: getLocalName' => __ ('القسم') ،'topic :: getName' => __ ('Help Topic') ،'المصدر' => __ ('المصدر') ،'status :: getName' => ('Current Status') ،
"lastupdate" => __ ("آخر تحديث") ،
'est_duedate' => __ ('تاريخ الاستحقاق') ،
'isoverdue' => __ ('متأخر') ،
"isanswered" => __ ("مجاب") ،
'staff :: getName' => __ ('تم تعيين الوكيل') ،
'team :: getName' => __ ('Team معين') ،
'thread_count' => __ ('عدد الصفحات') ،
'attachment_count' => __ ('Attachment Count') ،
) + $ cdata ،
$ كيف ،
array ('edit' => function (& $ record، $ keys) استخدم ($ الحقول) {
foreach (حقول $ مثل $ k => $ f) {
إذا (($ i = array_search ($ k، $ keys))! == false) {
سجل $ [$ i] = $ f-> تصدير ($ f-> to_php ($ record [$ i])) ؛
}
}
صدى $ سجل
إرجاع سجل $؛
})
) ؛ _

باستخدام هذا (أزل آخر معلمة ، بعد $ how ،):

_return self :: dumpQuery (تذاكر $،
مجموعة مصفوفة(
'number' => __ ('رقم التذكرة') ،
"تم إنشاؤه" => ("تاريخ الإنشاء") ،'cdata.subject' => __ ('الموضوع') ،'user.name' => __ ('من') ،'user.default_email.address' => __ ("من البريد الإلكتروني") ،"cdata.:priority.priority_desc '=> __ (" الأولوية ") ،'dept :: getLocalName' => __ ('القسم') ،'topic :: getName' => __ ('Help Topic') ،'المصدر' => __ ('المصدر') ،'status :: getName' => ('Current Status') ،
"lastupdate" => __ ("آخر تحديث") ،
'est_duedate' => __ ('تاريخ الاستحقاق') ،
'isoverdue' => __ ('متأخر') ،
"isanswered" => __ ("مجاب") ،
'staff :: getName' => __ ('تم تعيين الوكيل') ،
'team :: getName' => __ ('Team معين') ،
'thread_count' => __ ('عدد الصفحات') ،
'attachment_count' => __ ('Attachment Count') ،
) + $ cdata ،
$ كيف ،
باطل
) ؛ _

ولكن ، لست متأكدًا من سبب نجاح ذلك ؛-)
يعتبر.

لدي نفس المشاكل. تذكرتان فقط في التصدير.
هل كانت موجودة بالفعل في RC3 و RC2 والآن في الاسطبل ؟!

تضمين التغريدة
لقد أكدت للتو هذا التقرير على خادم اختبار v1.10 (901e5ea).

لقد جربت الإصلاح أعلاه ، وهو يجعله يصدر أكثر ، ولكن لا يزال ينتج عنه خطأ PHP في السجل:
[04-Nov-2016 14:49:25 UTC] تحذير PHP: mysqli_result :: free (): تعذر جلب mysqli_result في \ support.110 \ include \ mysqli.php على السطر 185

أعتقد أن هذا هو المكان الذي توقف فيه

لقد قمت بتصحيح الملف باستخدام ما يوصي به sistemasad ، وأنا قادر على تصدير التقارير ، ولكن يبدو أنه من خلال القيام بذلك ، فإن حقل القائمة المنسدلة المخصص لـ "الموقع" الخاص بي يلتقط التمثيل الرقمي أحيانًا ، وأحيانًا موقع الرقم (الفاصلة). أيه أفكار؟

وجود نفس المشكلة في الإصدار 1.10 النهائي. يبدو أن التصحيح المقترح لإصلاحه.

نفس المشكلة ، شكرا rayfoss

لقد جربت الإصلاح أعلاه ولكن لا يزال ينتج خطأ PHP في السجل:
تحذير PHP: mysqli_result :: free (): تعذر جلب mysqli_result في \\ include \ mysqli.php في السطر 185

جعلت استدعاء الوظيفة المجانية () (mysqli.php على السطر 185) سطرًا معلقًا ويعمل التصدير.

+1 أواجه نفس المشكلة.

HansLe - هل يمكنك التوضيح؟ هل حللت المشكلة؟ كيف وأين قمت باستدعاء الوظيفة () المجانية؟

@ tdefreest ، تم حل مشكلتي. لقد علقت على هذا السطر (رقم 185):
// $ __ db-> unuffered_result-> free () ؛
في الوحدة النمطية تشمل \ mssqli.php

تم حل المشكلة بالنسبة لي وفقًا لتوصية sistemasad .

3813

إن التعليق على الأسطر حسب حل sistemasad يعيد تمكين التصدير لكنه يفشل في كتابة الحقول المخصصة بشكل صحيح ... تظهر كأرقام ... هل وجد أي شخص حلاً أفضل؟

أواجه نفس المشكلة مثلdemenna. يتم تصدير الحقول المخصصة الآن كأرقام.

بالنسبة لي أيضًا ، يتم تصدير الحقول المخصصة الآن كأرقام.

الرمز الذي علق عليه sistemasad مسؤول عن تحويل البيانات الأولية إلى بيانات منسقة. يبدو أن الخطأ ناتج عن خطأ في مكان ما في هذا الرمز. لذا فإن التعليق على هذا الرمز يمنع الخطأ ، ولكنه أيضًا يعطل منطق التنسيق - وهذا هو سبب تصدير الحقول المخصصة كأرقام.

ما أفهمه من إضافة HansLe هو أن الإصلاح الأول لم يمنع المشكلة تمامًا للجميع ، وكان هذا ضروريًا بالإضافة إلى ذلك. أنا لم أر هذا السلوك بنفسي.

ما زلنا بحاجة إلى إصلاح حقيقي يحافظ على منطق التنسيق.

كان التصدير يعمل بشكل جيد وتم تصدير كل تذكرة ، ثم بعد تعديل تفاصيل بطاقة النموذج لإضافة بعض الحقول المخصصة من استخدام الحقول الأساسية إلى القوائم المخصصة نظرًا لعدم وجود بيانات في التصدير ، لدينا الآن البيانات في الحقل المخصص ولكننا نحصل فقط على أول 2 خطوط في التصدير. حتى الآن لم نحقق نجاحًا في التراجع عن تغييراتنا. من المؤكد أن هناك شيئًا ما يحدث يحتاج إلى حل مناسب وأوافق على أن ما ورد أعلاه ليس حلاً ويحتاج إلى حل مناسب.

مرحباً بالجميع ، آسف على الضياع قليلاً مع تذاكر متعددة ، فما الحل؟

لا يوجد حل كامل حتى الآن ، على الأقل ليس إذا كنت تريد تصدير الحقول المخصصة بشكل صحيح. إذا كنت موافقًا على عدم قيامهم بالتصدير بشكل صحيح ، فسيوجهك التعليق في 26 أكتوبر إلى الاتجاه الصحيح.

لست متأكدًا مما إذا كان هذا يساعد ولكن لدي نفس المشكلة ويبدو أن سبب ذلك بالكامل هو استدعاء الكود للأعمدة المخصصة حول 54 في ملف class.export.php. أيضًا لم تنجح أي من الحلول الأخرى في هذا الموضوع ، فهي توقف تحميل الصفحة بأكملها (بالنسبة لي).

// أضف الحقول المخصصة إلى بيان $ sql
$ cdata = $ الحقول = array () ؛
foreach (TicketForm :: getInstance () -> getFields () كـ $ f) {
// تجاهل المجالات الأساسية
if (in_array ($ f-> get ('name')، المصفوفة ('priority')))
استمر؛
// تجاهل الحقول غير البيانات
elseif (! $ f-> hasData () || $ f-> isPresentationOnly ())
استمر؛

        $name = $f->get('name') ?: 'field_'.$f->get('id');
        $key = 'cdata.'.$name;
        $fields[$key] = $f;
        $cdata[$key] = $f->getLocal('label');

إذا تم التعليق على القسم الأخير من هذا الكود ، فسيتم التصدير بالطريقة التي ينبغي أن يتم بها ولكنه يترك أي حقول مخصصة. لقد حاولت تغيير الرمز دون نجاح مطلقًا بخلاف الحصول على عمود الأولوية ليتم استدعاؤه مرتين (بدلاً من المكان الذي يجب أن يكون فيه عمود الحقل المخصص).

ربما تساعد هذه المعلومات في تحديد شيء ما لشخص أكثر خبرة. إذا كان بإمكان أي شخص إعطائي أي ملاحظات / اقتراحات ، فلا تتردد.

هذه المساعدة تجمع كل الخبراء ولكن بدون الحقول المخصصة ، فهي ليست جيدة :(

تضمين التغريدة
أي فرصة يمكن النظر في هذا؟ لا يزال التصدير لا يجلب بيانات الحقول المخصصة بشكل صحيح. حدث بعد الترقية من الإصدار 1.9 إلى الإصدار 1.10 في الأصل: تصدير التذاكر إلى توقفات csv بعد تصدير عنصرين فقط (لا يزال الملف قيد الإنشاء). يمنع الإصلاح في هذا الخيط الحقول المخصصة من العمل لجلب زوج المفتاح والقيمة مما يتسبب في بعض الأعمال اليدوية التي تربط المعلومات. يحدث هذا في أحدث إصدارات v 1.10.1 أيضًا. هو موضع تقدير أي مساعدة.

أهلا.

أواجه نفس المشكلة هنا أيضًا:
إصدار osTicket | الإصدار 1.10.1 (9ae093d) - مُحدَّث
برنامج خادم الويب | Apache / 2.4.6 (CentOS) OpenSSL / 1.0.1e-fips PHP / 5.4.16
إصدار MySQL | 5.5.52
إصدار PHP | 5.4.16

لدينا قائمة مخصصة ، عندما نجري بحثًا عن تذاكر باستخدام إحدى قيم القوائم المخصصة ، يتم إخراجها جميعًا في ملف CSV بشكل صحيح ، ومع ذلك ، إذا لم نبحث عن شيء ما في هذه القائمة المخصصة ، فسيتم إخراج صفين فقط في CSV.

ينتج عن الإصلاح لإزالة الحقل المخصص جميع الصفوف التي يتم إخراجها ولكننا نطلب تضمين القائمة المخصصة في ملف CSV.

لقد حاولت معرفة ما يحدث ولكني لم أتمكن من العثور على حل لذلك ، لذا سأكون ممتنًا لأي اقتراحات أخرى.

جوامع.

ما زلنا نبحث في هذه القضية. حتى نصلحها نهائيًا ، يمكنك التعليق على السطر 63 في include/class.export.php :

->options(QuerySet::OPT_NOCACHE)

... ويجب أن يتم تصديرها جميعًا مرة أخرى.

أهلا.

شكرًا لهذا الحل ، فهو يعرض الآن جميع التذاكر ، ولكنه يعني أن عنصر القائمة الأول الوحيد في حقل قائمة مخصص يتم عرضه ، ولكن لا يتم عرض أي عنصر آخر ، لذلك إذا كان يجب أن يكون هناك "تفاحة" و "كمثرى" في القائمة المخصصة لـ هذه التذكرة ستظهر لك فقط "تفاحة".

جوامع.

حسنًا ، لقد احتجنا إلى هذا الإصلاح ، لذا قم بإجراء حل بديل ... ربما لا يكون نظيفًا كما نحب ولكنه يعمل.

هذه هي وظيفة dumptickets الكاملة (يبدأ الحل حول السطر 83)

static function dumpTickets($sql, $how='csv') {
    // Add custom fields to the $sql statement
    $cdata = $fields = array();
    foreach (TicketForm::getInstance()->getFields() as $f) {
        // Ignore core fields
        if (in_array($f->get('name'), array('priority')))
            continue;
        // Ignore non-data fields
        elseif (!$f->hasData() || $f->isPresentationOnly())
            continue;

        $name = $f->get('name') ?: 'field_'.$f->get('id');
        $key = 'cdata.'.$name;
        $fields[$key] = $f;
        $cdata[$key] = $f->getLocal('label');
    }
    // Reset the $sql query
    $tickets = $sql->models()
        ->select_related('user', 'user__default_email', 'dept', 'staff',
            'team', 'staff', 'cdata', 'topic', 'status', 'cdata__:priority')
        ->options(QuerySet::OPT_NOCACHE)
        ->annotate(array(
            'collab_count' => TicketThread::objects()
                ->filter(array('ticket__ticket_id' => new SqlField('ticket_id', 1)))
                ->aggregate(array('count' => SqlAggregate::COUNT('collaborators__id'))),
            'attachment_count' => TicketThread::objects()
                ->filter(array('ticket__ticket_id' => new SqlField('ticket_id', 1)))
                ->filter(array('entries__attachments__inline' => 0))
                ->aggregate(array('count' => SqlAggregate::COUNT('entries__attachments__id'))),
            'thread_count' => TicketThread::objects()
                ->filter(array('ticket__ticket_id' => new SqlField('ticket_id', 1)))
                ->exclude(array('entries__flags__hasbit' => ThreadEntry::FLAG_HIDDEN))
                ->aggregate(array('count' => SqlAggregate::COUNT('entries__id'))),
        ));

    // Fetch staff information
    // FIXME: Adjust Staff model so it doesn't do extra queries
    foreach (Staff::objects() as $S)
        $S->get('junk');

    //custom list
    $sql = 'SELECT type, name FROM ost_form_field WHERE type like "list%" ';  //fields
    $query = db_query($sql);
    $type_lists = array();
    while($row = mysqli_fetch_assoc($query)){
      $type_lists[] = $row;
    }

    $list = array();
    foreach($type_lists as $type_list){
      $list_id = intval(substr($type_list['type'], 5));

      $sql = 'SELECT id, value FROM ost_list_items WHERE list_id = '.$list_id; //list elements
      $query = db_query($sql);
      while($row = mysqli_fetch_assoc($query)){
        $list[$type_list['name']][$row['id']] = $row['value'];
      }
    }

    $cambio = array('modify' => function(&$record, $keys) use ($fields, $list) {
      $fields_array = array();
      foreach($keys as $key => $row){
        if(strpos($row, 'cdata.') === 0){ 
          $fields_array[$key] = substr($row, 6);
          if(isset($list[$fields_array[$key]]))
            $fields_list[] = $key;
        }
      }
      foreach ($fields as $k=>$f) {
        if (($i = array_search($k, $keys)) !== false) {
          if(in_array($i, $fields_list)){
            $record[$i] = $list[$fields_array[$i]][intval($record[$i])];
          }else{
            $record[$i] = $f->export($f->to_php($record[$i]));
          }
        }
      }
      return $record;
    });

أتمنى أن يعمل هذا مع شخص آخر .....

كان حل Razarate بمثابة سحر بالنسبة لي - مع تعديل بسيط. أعتقد أن razarate نسيت تضمين الجزء الأساسي التالي من وظيفة dumptickets المنقحة:

 return self::dumpQuery($tickets,
        array(
            'number' =>         __('Ticket Number'),
            'created' =>        __('Date Created'),
            'cdata.subject' =>  __('Subject'),
            'user.name' =>      __('From'),
            'user.default_email.address' => __('From Email'),
            'cdata.:priority.priority_desc' => __('Priority'),
            'dept::getLocalName' => __('Department'),
            'topic::getName' => __('Help Topic'),
            'source' =>         __('Source'),
            'status::getName' =>__('Current Status'),
            'lastupdate' =>     __('Last Updated'),
            'est_duedate' =>    __('Due Date'),
            'isoverdue' =>      __('Overdue'),
            'isanswered' =>     __('Answered'),
            'staff::getName' => __('Agent Assigned'),
            'team::getName' =>  __('Team Assigned'),
            'thread_count' =>   __('Thread Count'),
            'attachment_count' => __('Attachment Count'),
        ) + $cdata,
        $how,
        $cambio
        );

مرحبًا ، هل هناك أي أخبار حول متى سيتم إصلاح ذلك في الإصدار 1.10.1؟

1.10.1 موجود بالفعل ... لذلك لن يتم إصلاحه في 1.10.1.
أتخيل أنه من المحتمل أن يتم إصلاحه في 1.11 عند إصداره.

أهلا،
ntozier هل يمكنني العثور على class.export.php مع التعديلات؟
تشكرات!

@ elma1003 هاه؟

لقد قمت بتصحيح 1.10 بالتعليق
// -> الخيارات (QuerySet :: OPT_NOCACHE)
كان التصدير يعمل بشكل جيد بعد ذلك

لقد قمت الآن بتثبيت v1.10.1 (9ae093d)
التصدير ليس على ما يرام ، فقط 3 خطوط.
إنني أحاول أن أختفي وهو ليس على ما يرام ، لا شيء يعمل
لقد قمت بتنزيل 1.10.2 من https://github.com/osTicket/osTicket/releases/tag/v1.10.2
لكن class.export.php هو نفسه في 1.10
الرجاء المساعدة ....

@ elma1003 هل جربت استخدام محلول Razarate؟

تضمين التغريدة

تم تضمين إصلاح لهذا في الإصدار القادم من v1.11.0rc-1 (سيتم طرحه قريبًا).

هههههههههههههه

أتساءل عما يحدث للمثيل الخاص بك لأنني علقت للتو على هذا السطر في مثيل v1.10.1 الخاص بي وهو يقوم بتصدير جميع التذاكر بشكل صحيح.

هتافات.

هل حصل أي شخص على التصدير - بما في ذلك الحقول المخصصة - للعمل؟ أنا يبدو غير قادر على أنها من أصل الرقم.

لقد جربت حل razarate بما في ذلك ملاحظات kclubok ، وجربت الإصدار 1.11.x من ملف class.export.php لكنه لا يشتمل على الحقول المخصصة.

ربما الروح الطيبة التي تمكنت من نشر ملف class.export.php المعدل هنا؟

هذا ثابت يستخدم للعمل بالنسبة لي. فجأة ، لم يعد يعمل. لست متأكدًا مما حدث؟

تضمين التغريدة

هل يمكنك توجيهنا نحو الالتزام بالإصدار v.11.0rc-1 الذي يصلح هذا؟ سيكون من المفيد جدا!

آمل ألا يكون الإصلاح مجرد التعليق على هذا السطر. كما ذكرنا سابقًا ، لا ينتج عن ذلك السلوك الصحيح إذا كانت هناك حقول قائمة مخصصة.

لا تزال تواجه هذه المشكلة باستخدام ملف class.export.php الموجود بواسطة evertvh.

لقد جربت العديد من الإصلاحات المدرجة في هذه المشكلة ولكن بدون فرحة.

لدي تنسيق csv معدل مع إضافة عمود إضافي لإظهار "المؤسسة" التي ينتمي إليها كل مستخدم ، كما هو مفصل في منتدى osticket - http://osticket.com/forum/discussion/92606/customising-ticket-csv- تصدير صحيح # آخر

تضمين التغريدة

شكرًا لك ولكننا عالجنا هذه المشكلات فعليًا في v1.11.0rc-1 (سيتم إطلاقه قريبًا ؛ نأمل بحلول يوم الإثنين). إلى جانب معالجة المشكلة الأصلية ، فإنه يضيف القدرة على تخصيص الحقول التي تريد تصديرها.

هتافات.

EdiJediKev

آه حسنًا - لطيف.

هتافات.

مرحبًا @ JediKev

لقد قمت بالتحديث إلى أحدث إصدار عند التثبيت ، ولكن لدي بعض المشاكل في تخصيص قائمة الانتظار وفقًا للمواصفات الخاصة بي؟

أعتذر إذا لم يكن هذا هو المكان المناسب للسؤال!

لقد تمكنت من إضافة "مؤسسة" إلى صفحة قائمة الانتظار بشكل صحيح باستخدام حقل مخصص مع تعيين مصدر البيانات الأساسي على "المستخدم / المؤسسة / الاسم"

ومع ذلك - ليس لدي خيار لإضافة حقل مخصص إلى علامة التبويب "تصدير" ، ولا يمكنني التحديد إلا من مجموعة رؤوس الحقول المحددة مسبقًا.

هل هناك شيء مفقود؟

تضمين التغريدة

هذا ليس المكان المناسب للإبلاغ عن مشكلتك. ستفتح مشكلتك الخاصة وتملأ نموذج العدد الجديد. مع ما يقال ، سوف أمضي قدمًا وأنشر ردي أدناه حتى يكون لديك إجابة سريعة على الأقل. 👍

_ إخلاء المسؤولية: ينطبق ما يلي فقط على v1.11.0rc-1 _

حاليًا ، لا يمكنك إضافة حقول المستخدم ، وحقول المؤسسة ، وما إلى ذلك إلى عمليات تصدير قائمة الانتظار المخصصة لأن هذه الميزة موجودة فقط في المرحلة 1 (أو الإصدار 1) وهي محدودة. أعتقد أنه سيتم توسيعه أكثر فأكثر بمرور الوقت للسماح بجميع أنواع الحقول. يمكنك رؤية جميع الحقول التي يمكنك إضافتها / إعادة ترتيبها الآن ضمن لوحة المسؤول> الإعدادات> التذاكر> قوائم الانتظار> انقر فوق اسم قائمة الانتظار> تصدير> إضافة حقل آخر .

_ (أنا آسف لأنني أخطأت في إجابتك سابقًا ؛ أعتقد أن المصدر الجديد لديه خيار إضافة هذه الأنواع من الحقول ولكن اتضح أنه ليس كذلك. على الأقل يمكن تخصيص الصادرات الآن!) _

** ملاحظة جانبية

يمكنك دائمًا تصدير اسم مؤسسة المستخدم بالانتقال إلى لوحة الوكيل> المستخدمون> دليل المستخدم والنقر على تصدير في الأسفل.


هتافات.

نفس "1.10 - مخرجات تصدير قائمة التذاكر فقط سطرين أوليين" في 1.10.4 بعد التحديث من 1.10.1

قد يكون هذا عن ذلك:
[حدد A3. staff_id AS lock__staff_id ، A1. staff_id AS staff_id ، A1. isoverdue AS isoverdue ، A1. team_id AS team_id ، A1. ticket_id AS ticket_id ، A1. number AS number ، A4. subject AS cdata__subject ، A6. address AS user__default_email__address ، A1. source AS source ، A7. priority_color AS cdata__:priority__priority_color ، A7. priority_desc AS cdata__:priority__priority_desc ، A1. status_id AS status_id ، A8. name AS status__name ، A8. state AS status__state ، A1. dept_id AS dept_id ، B0. name AS dept__name A5. name AS user__name ، A1. lastupdate AS lastupdate ، A1. isanswered AS isanswered ، B1. firstname AS staff__firstname ، B1. lastname AS staff__lastname ، B2. name AS team__name ، (SELECT COUNT (R0. id ) AS count من ost_thread Q7 انضم ost_ticket Q8 تشغيل (Q7. object_type = 'T' و Q7. object_id = Q8. ticket_id ) الانضمام المتبقي ost_thread_collaborator R0 تشغيل (Q7. id = R0. thread_id ) حيث Q8. ticket_id = A1. ticket_id ) AS collab_count ، (SELECT COUNT (R1. id ) AS count من ost_thread Q7 انضم ost_ticket Q8 تشغيل (Q7. object_type = 'T' و Q7. object_id = Q8. ticket_id ) LEFT JOIN ost_thread_entry R0 قيد التشغيل (Q7. id = R0. thread_id ) LEFT JOIN ost_attachment R1 ON (R1. type = 'H' AND R0. id = R1. object_id ) حيث Q8. ticket_id = A1. ticket_id و R1. inline = 0) AS attachment_count ، (حدد COUNT (R0. id ) AS count من ost_thread Q7 انضم ost_ticket Q8 تشغيل (Q7. object_type = 'T' و Q7. object_id = Q8. ticket_id ) LEFT JOIN ost_thread_entry R0 تشغيل (Q7. id = R0. thread_id ) حيث Q8. ticket_id = A1. ticket_id وليس R0. flags & 4! = 0) AS thread_count من ost_ticket A1 انضم (حدد الربع السابع. ticket_id من ost_ticket Q7 انضم ost_ticket_status Q8 ON (Q7. status_id = Q8. id ) أين Q8. state state = 'مفتوح' AND (Q7. staff_id = 2 أو Q7. team_id IN (1))) أو Q7. dept_id IN ('1'، '2'، '3')) اطلب حسب Q7. ASC LIMIT 25) A2 LEFT JOIN `ost_lock` A3 ON (A1.`lock_id` = A3.`lock_id` AND A3.`expire` > NOW()) LEFT JOIN `ost_ticket__cdata` A4 ON (A1.`ticket_id` = A4.`ticket_id`) JOIN `ost_user` A5 ON (A1.`user_id` = A5.`id`) LEFT JOIN `ost_user_email` A6 ON (A5.`default_email_id` = A6.`id`) LEFT JOIN `ost_ticket_priority` A7 ON (A4.`priority` = A7.`priority_id`) JOIN `ost_ticket_status` A8 ON (A1.`status_id` = A8.`id`) JOIN `ost_department` B0 ON (A1.`dept_id` = B0.`id`) LEFT JOIN `ost_staff` B1 ON (A1.`staff_id` = B1.`staff_id`) LEFT JOIN `ost_team` B2 ON (A1.`team_id` = B2.`team_id`) WHERE A1.`ticket_id` = A2.`ticket_id` GROUP BY A3.`staff_id`, A1.`staff_id`, A1.`isoverdue`, A1.`team_id`, A1.`ticket_id`, A1.`number`, A4.`subject`, A6.`address`, A1.`source`, A7.`priority_color`, A7.`priority_desc`, A1.`status_id`, A8.`name`, A8.`state`, A1.`dept_id`, B0.`name`, A5.`name`, A1.`lastupdate`, A1.`isanswered`, B1.`firstname`, B1.`lastname`, B2.`name` ORDER BY A1. ASC]

عمود غير معروف "Q7". في "شرط النظام"



---- Backtrace ----

0 (root) /include/mysqli.php (204): osTicket-> logDBError ('DB Error # 1054'، '[SELECT A3.`sta ...')

1 (root) /include/class.orm.php (3136): db_query ('SELECT A3.`staf ...' ، صحيح ، صحيح)

2 (root) /include/class.orm.php (3183): MySqlExecutor-> تنفيذ ()

3 (root) /include/class.orm.php (1868): MySqlExecutor-> getArray ()

4 (root) /include/class.orm.php (1818): HashArrayIterator -> {close} ()

5 (root) /include/class.orm.php (1797): CallbackSimpleIterator-> next ()

6 (root) /include/class.orm.php (1806): CallbackSimpleIterator-> Rewind ()

7 (root) /include/class.orm.php (1463): CallbackSimpleIterator-> valid ()

8 (root) /include/class.orm.php (1480): CachedResultSet-> fillTo (9223372036854775807)

9 (root) /include/class.orm.php (1489): CachedResultSet-> asArray ()

10 (root) /include/staff/tickets.inc.php (570): CachedResultSet-> getIterator ()

11 (الجذر) /scp/tickets.php (495): need_once ('(root) / in ...')

12 {main}

تصدير v1.11.0-rc1 برأس فقط.

تمت الترقية إلى 1.10 إلى 1.11rc1

يعمل تصدير لوحة القيادة ، تصدير التذكرة: لا يمكن العثور على الملف على http://xxxxxxxx.xxxxxxx.com/helpdesk/scp/tickets.php؟a=export&queue=adhoc ، ikDr5jdnAc.

1.10.4 يحتوي بالفعل على هذه السطور ، نفس المشكلة - سطرين فقط في رأس csv وبطاقة واحدة

إصدار osTicket | الإصدار 1.10.4
إصدار PHP | 5.6.37

قم بمراجعة توصياتك ولكني ما زلت أعاني من نفس المشكلة ، عند تصدير تقرير التذاكر بحالة "مغلقة" ، يظهر لي الملف تذكرة واحدة فقط.

كان يعمل في 1.10.1
مانع حقيقي
أعلم أن الجميع عند 1.11 ولكن ما لم يخرج المستقر 1.11 الشهر المقبل ، أعطنا فكرة لإصلاح هذا

lavdnone الإصلاح الذي نشره JediKev في هذا الموضوع يعمل بالنسبة لي في 1.10.0 و 1.10.4.
https://github.com/osTicket/osTicket/issues/3264#issuecomment -330262555

شكرًا ، لا أعرف كيف فاتني ، نجح # 3264

lavdnone موضع ترحيب كبير. خذ فترة راحة كبيرة من يومك! :)

لدي أيضًا مشكلة في عدم عرض جميع التذاكر.
استخدام الحلول المذكورة أعلاه في الملف لا يعمل بالنسبة لي. عند استخدامي دائما أحصل على خطأ php

هل يمكن لشخص ما أن ينشر class.export.php العامل الكامل؟

تضمين التغريدة

هل قمت بالتعليق على هذا السطر وهو يعطيك خطأ php؟ يبدو أنك فعلت ذلك بشكل خاطئ. كل ما عليك فعله هو الخروج من سطر واحد للتعليق ويعمل.
# 3264 (تعليق)

هتافات.

لقد علقت على السطر 58 في _include / class.export.php_ ، على النحو الموصى به في هذا الموضوع ، ويمكنني الآن تصدير جميع التذاكر إلى تنسيق .csv.
//->options(QuerySet::OPT_NOCACHE)

OSTicket v1.10.4 على Ubuntu 16

لقد علقت على السطر 58 في _include / class.export.php_ ، على النحو الموصى به في هذا الموضوع ،
ويمكنني الآن تصدير جميع التذاكر إلى تنسيق .csv.
//->options(QuerySet::OPT_NOCACHE)

نعم،
يبدو أيضًا أنه يعمل في ملفي أن جزءًا من الكود عبارة عن سطر 63 ولكنه يأكل الذاكرة ... يمكنني تصدير قوائم صغيرة من التذاكر ، ولكن إذا أخذت قائمة بمئات الآلاف من التذاكر ، فستنتهي حتمًا بخطأ :-(

_PHP خطأ فادح: تم استنفاد حجم الذاكرة المسموح به البالغ 536870912 بايت (حاول تخصيص 32 بايت) في include / class.orm.php على السطر 3146_

لقد غيرت الحدود حتى 512 ميجا بايت ، لكنني توقفت واستعدت الحد القديم ، لتجنب بعض المشكلات الأكثر خطورة.

ملحوظة: لقد جربت أيضًا الإصلاح الآخر الذي نشره JediKev ولكن على أي حال يتطلب الأمر الكثير من ذاكرة الوصول العشوائي إذا كانت القائمة كبيرة.

73 ثانية ،
ارتورو.

@ iw0der

لدينا إصلاح لسلسلة 1.12.x قريبًا والذي يعالج مهلات تصدير التذاكر لمجموعات البيانات الكبيرة. يرجى ترقبوا.

هتافات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات