Osticket: 1.10 - Ekspor daftar tiket hanya menghasilkan dua baris pertama

Dibuat pada 11 Jul 2016  ·  60Komentar  ·  Sumber: osTicket/osTicket

Saat Anda mengklik "ekspor" pada daftar tiket mana pun (dibuka, ditutup, dimiliki, dicari), CSV yang dihasilkan hanya menyertakan DUA baris pertama.
Hal ini juga mempengaruhi untuk setiap hasil pencarian.

Log Apache menunjukkan ini:
PHP Peringatan: mysqli_result::close(): Tidak dapat mengambil mysqli_result di /site_1.10.rc3/include/class.orm.php on line 3076, referer: http://---------- --------/scp/tickets.php

osTicket 1.10.rc3
Centos 6.8 64b
mysql 5.1
php 5.6

Terima kasih.

Komentar yang paling membantu

Kami masih mendalami masalah ini. Sampai kami memperbaikinya secara permanen, Anda dapat mengomentari baris 63 di include/class.export.php :

->options(QuerySet::OPT_NOCACHE)

...dan Anda harus mengekspor semuanya lagi.

Semua 60 komentar

dengan "hanya menyertakan dua baris pertama" @sistemasad sebenarnya berarti tiga baris pertama (3).
Melihat perilaku yang sama pada instalasi pengujian saya.

1.10rc3
Win2012 R2 dengan IIS8.5
PHP 5.6

Hai, saya juga mengkonfirmasi masalah yang sama.

osTicket 1.10.rc3
Centos 6.8 64b
mysql 5.5.50-cll, libmysql - 5.1.73
php 5.6

Hai,
Saya telah menghabiskan beberapa menit untuk ini.
Pada file class.export.php, fungsi dumpTickets, instruksi terakhir adalah pemanggilan kembali fungsi self::dumpQuery.
Parameter terakhir yang diterima dumpQuery adalah "$options=array". Jika Anda menyetel ini ke nol, tiket diekspor dengan benar. (tiga parameter lainnya adalah sql, header dan "csv")

Tampaknya masalahnya ada pada opsi yang dihasilkan oleh baris ini (param keempat):

array('modify' => function(&$record, $keys) use ($fields) {
foreach ($bidang sebagai $k=>$f) {
if (($i = array_search($k, $keys)) !== false) {
$rekam[$i] = $f->ekspor($f->ke_php($rekam[$i]));
}
}
gema $rekam
kembalikan $rekaman;

Tolong bantu saya, masalah saya sama

Peringatan : mysqli_result::close(): Tidak dapat mengambil mysqli_result di ................/include/class.orm.php on line 3089

Peringatan : mysqli_result::close(): Tidak dapat mengambil mysqli_result di ................/include/class.orm.php on line 3089

thuc960,
apa yang saya lakukan adalah mengubah panggilan balik ini pada file class.export.php , tentang baris 85 di dalam fungsi fungsi dumpTickets($sql, $how='csv') :

_return self::dumpQuery($tickets,
Himpunan(
'nomor' => __('Nomor Tiket'),
'dibuat' => ('Tanggal Dibuat'),'cdata.subjek' => __('Subjek'),'nama pengguna' => __('Dari'),'user.default_email.address' => __('Dari Email'),'cdata.:priority.priority_desc' => __('Prioritas'),'dept::getLocalName' => __('Departemen'),'topic::getName' => __('Topik Bantuan'),'sumber' => __('Sumber'),'status::getName' => ('Status Saat Ini'),
'lastupdate' => __('Terakhir Diperbarui'),
'est_duedate' => __('Tanggal Jatuh Tempo'),
'terlambat' => __('Terlambat'),
'terjawab' => __('Terjawab'),
'staff::getName' => __('Agen Ditugaskan'),
'tim::getName' => __('Tim Ditugaskan'),
'jumlah_utas' => __('Jumlah Utas'),
'jumlah_lampiran' => __('Jumlah Lampiran'),
) + $cdata,
$bagaimana,
array('modify' => function(&$record, $keys) use ($fields) {
foreach ($bidang sebagai $k=>$f) {
if (($i = array_search($k, $keys)) !== false) {
$rekam[$i] = $f->ekspor($f->ke_php($rekam[$i]));
}
}
gema $rekam
kembalikan $rekaman;
})
);_

Dengan ini (hapus param terakhir, setelah $how,):

_return self::dumpQuery($tickets,
Himpunan(
'nomor' => __('Nomor Tiket'),
'dibuat' => ('Tanggal Dibuat'),'cdata.subjek' => __('Subjek'),'nama pengguna' => __('Dari'),'user.default_email.address' => __('Dari Email'),'cdata.:priority.priority_desc' => __('Prioritas'),'dept::getLocalName' => __('Departemen'),'topic::getName' => __('Topik Bantuan'),'sumber' => __('Sumber'),'status::getName' => ('Status Saat Ini'),
'lastupdate' => __('Terakhir Diperbarui'),
'est_duedate' => __('Tanggal Jatuh Tempo'),
'terlambat' => __('Terlambat'),
'terjawab' => __('Terjawab'),
'staff::getName' => __('Agen Ditugaskan'),
'tim::getName' => __('Tim Ditugaskan'),
'jumlah_utas' => __('Jumlah Utas'),
'jumlah_lampiran' => __('Jumlah Lampiran'),
) + $cdata,
$bagaimana,
batal
);_

TAPI, tidak yakin mengapa ini Bekerja ;-)
Salam.

Saya memiliki masalah yang sama. Hanya 2 tiket yang di ekspor.
Sudah di RC3 dan RC2 dan sekarang di kandang?!

@JediKev @protich
Saya baru saja mengkonfirmasi laporan ini di server pengujian v1.10 (901e5ea) saya.

Saya mencoba perbaikan di atas, dan itu membuatnya lebih banyak mengekspor, tetapi masih menghasilkan kesalahan PHP di log:
[04-Nov-2016 14:49:25 UTC] PHP Peringatan: mysqli_result::free(): Tidak dapat mengambil mysqli_result di \support.110\include\mysqli.php on line 185

Dugaan saya adalah di sinilah @greezybacon berhenti mengubah sumber untuk mengakses DB dari mysli dan ORM.

Saya telah menambal file menggunakan apa yang direkomendasikan @sistemasad , dan saya dapat mengekspor laporan, namun sepertinya dengan melakukannya bidang tarik-turun "lokasi" khusus saya terkadang mengambil representasi numerik, dan terkadang lokasi nomor (koma). Ada ide?

Memiliki masalah yang sama pada rilis final 1.10. Patch yang disarankan tampaknya memperbaikinya.

Masalah yang sama, terima kasih @rayfoss

Saya mencoba perbaikan di atas tetapi masih menghasilkan kesalahan PHP di log:
PHP Peringatan: mysqli_result::free(): Tidak dapat mengambil mysqli_result di \\include\mysqli.php pada baris 185

Saya membuat panggilan fungsi free() (mysqli.php pada baris 185) sebagai baris komentar dan ekspor berfungsi.

+1 Saya mengalami masalah yang sama.

@HansLe - Bisakah Anda menjelaskan? Apakah Anda memecahkan masalah? Bagaimana dan di mana Anda membuat panggilan fungsi free()?

@tdefreest , masalah saya terpecahkan. Saya mengomentari baris ini (nomor 185):
// $__db->unbuffered_result->gratis();
dalam modul include\mssqli.php

Masalah telah diselesaikan untuk saya sesuai rekomendasi @sistemasad .

3813

Mengomentari baris sesuai solusi @sistemasad mengaktifkan kembali ekspor tetapi gagal menulis bidang khusus dengan benar ... mereka muncul sebagai angka ... adakah yang menemukan solusi yang lebih baik?

Saya mengalami masalah yang sama dengan @demenna. Bidang khusus sekarang diekspor sebagai angka.

untuk saya juga. Bidang khusus sekarang diekspor sebagai angka.

Kode yang dikomentari oleh @sistemasad bertanggung jawab untuk mengubah data mentah menjadi data yang diformat. Tampaknya kesalahan dipicu oleh bug di suatu tempat dalam kode ini. Jadi mengomentari kode itu mencegah bug, tetapi juga menonaktifkan logika pemformatan - itulah sebabnya bidang khusus diekspor sebagai angka.

Pemahaman saya tentang penambahan @HansLe adalah bahwa perbaikan pertama tidak mencegah masalah sepenuhnya untuk semua orang, dan ini diperlukan sebagai tambahan. Saya sendiri tidak melihat perilaku itu.

Yang masih kita butuhkan adalah perbaikan yang benar yang mempertahankan logika pemformatan.

Ekspor berfungsi dengan baik dan mengekspor setiap tiket kemudian setelah memodifikasi detail formulir tiket untuk menambahkan beberapa bidang khusus dari menggunakan Bidang Dasar ke Daftar Khusus karena tidak ada data yang terisi dalam ekspor, kami sekarang memiliki data di bidang khusus tetapi hanya mendapatkan 2 yang pertama garis dalam ekspor. Sejauh ini kami belum menemukan keberhasilan mendukung perubahan kami. Pasti ada sesuatu yang terjadi yang membutuhkan resolusi yang tepat dan saya setuju di atas bukanlah resolusi dan membutuhkan resolusi yang tepat.

HI semuanya, maaf agak hilang dengan beberapa tiket, jadi apa solusinya?

Belum ada solusi lengkap, setidaknya tidak jika Anda ingin bidang khusus diekspor dengan benar. Jika Anda setuju dengan mereka yang tidak mengekspor dengan benar, maka komentar pada 26 Oktober akan mengarahkan Anda ke arah yang benar.

Tidak yakin apakah ini membantu tetapi saya mengalami masalah yang sama dan tampaknya sepenuhnya disebabkan oleh kode yang memanggil kolom khusus sekitar 54 di file class.export.php. Juga tidak ada solusi lain di utas ini yang berfungsi, mereka hanya menghentikan seluruh halaman dari memuat (untuk saya).

// Tambahkan bidang khusus ke pernyataan $sql
$cdata = $bidang = array();
foreach (TicketForm::getInstance()->getFields() sebagai $f) {
// Abaikan bidang inti
if (in_array($f->get('name'), array('priority')))
melanjutkan;
// Abaikan bidang non-data
elseif (!$f->hasData() || $f->isPresentationOnly())
melanjutkan;

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

Jika bagian terakhir dari kode ini dikomentari, ekspor berfungsi sebagaimana mestinya tetapi meninggalkan bidang khusus apa pun. Saya sudah mencoba mengubah kode sama sekali tidak berhasil selain membuat kolom prioritas dipanggil dua kali (sebagai pengganti kolom bidang khusus seharusnya).

Mungkin informasi ini akan membantu menunjukkan sesuatu untuk seseorang yang lebih berpengalaman. Jika ada yang bisa memberi saya umpan balik / saran, jangan ragu.

Bantuan ini mengumpulkan semua ahli tetapi tanpa bidang khusus, itu tidak bagus :(

@protich @JediKev
Adakah kemungkinan ini bisa dilihat? Ekspor masih tidak mengambil data bidang khusus dengan benar. Terjadi setelah peningkatan dari v 1.9 ke v 1.10 awalnya: ekspor tiket ke csv berhenti setelah mengekspor hanya dua item (file masih dibuat). Perbaikan di utas ini mencegah bidang khusus berjalan untuk mengambil pasangan nilai kunci yang menyebabkan beberapa pekerjaan manual menghubungkan informasi. Ini juga terjadi pada rilis v 1.10.1 terbaru. Bantuan apa pun dihargai.

Halo.

Saya juga mengalami masalah yang sama di sini:
Versi osTicket | v1.10.1 (9ae093d) — Terbaru
Perangkat Lunak Server Web | Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16
Versi MySQL | 5.5.52
Versi PHP | 5.4.16

Kami memiliki daftar kustom, ketika kami melakukan pencarian untuk tiket dengan salah satu nilai daftar kustom yang semuanya keluar dalam CSV dengan benar, namun, jika kami tidak mencari sesuatu dalam daftar kustom ini maka hanya dua baris yang ditampilkan di CSV.

Perbaikan untuk menghapus hasil bidang khusus di semua baris menjadi keluaran tetapi kami memerlukan daftar khusus untuk dimasukkan dalam CSV.

Saya sudah mencoba mencari tahu apa yang terjadi tetapi saya tidak dapat menemukan perbaikan untuk itu, jadi saya akan menghargai saran lainnya.

Yakobus.

Kami masih mendalami masalah ini. Sampai kami memperbaikinya secara permanen, Anda dapat mengomentari baris 63 di include/class.export.php :

->options(QuerySet::OPT_NOCACHE)

...dan Anda harus mengekspor semuanya lagi.

Halo.

Terima kasih atas solusi ini, sekarang ini menunjukkan semua tiket, tetapi berarti bahwa satu-satunya item daftar pertama di bidang daftar khusus ditampilkan, tetapi yang lain tidak, jadi jika seharusnya ada 'apel' dan 'pir' dalam daftar khusus untuk tiket itu hanya akan menunjukkan 'apel'.

Yakobus.

Yah kami perlu ini diperbaiki jadi buat solusi ... mungkin tidak sebersih yang kami suka tetapi berhasil.

Ini adalah fungsi dumptickets penuh (solusi dimulai sekitar baris 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;
    });

Saya harap ini bekerja untuk orang lain .....

Solusi Razarate bekerja seperti pesona bagi saya - dengan sedikit modifikasi. Saya pikir razarate lupa memasukkan bagian penting berikut dari fungsi dumpticket yang direvisi:

 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
        );

Hai, apakah ada berita kapan ini akan diperbaiki di v1.10.1?

1.10.1 sudah keluar ... jadi tidak akan diperbaiki di 1.10.1.
Saya membayangkan kemungkinan akan diperbaiki di 1.11 saat dirilis.

Halo,
@ntozier adakah saya dapat menemukan class.export.php dengan modifikasi?
Terimakasih banyak!

@elma1003 ya?

Saya telah menambal 1.10 dengan berkomentar
//->pilihan(QuerySet::OPT_NOCACHE)
Ekspor berfungsi dengan baik setelah ini

Sekarang saya telah menginstal v1.10.1 (9ae093d)
Ekspor tidak ok, hanya 3 baris.
Saya mencoba untuk melakukan pach dan tidak apa-apa, tidak ada yang berhasil
Saya telah mengunduh 1.10.2 dari https://github.com/osTicket/osTicket/releases/tag/v1.10.2
tapi class.export.php sama seperti di 1.10
Tolong bantu....

@ elma1003 Sudahkah Anda mencoba menggunakan solusi Razarate?

@elma1003 @kclubok

Perbaikan untuk ini termasuk dalam versi v1.11.0rc-1 yang akan datang (segera dirilis).

@elma1003

Idk apa yang terjadi dengan instance Anda karena saya baru saja mengomentari baris itu pada instance v1.10.1 saya dan itu mengekspor semua tiket dengan benar.

Bersulang.

Adakah yang membuat ekspor - termasuk bidang khusus - berfungsi? Sepertinya aku tidak bisa mengetahuinya.

Saya mencoba solusi razarate termasuk umpan balik kclubok, dan mencoba file class.export.php versi 1.11.x tetapi tidak menyertakan bidang khusus.

Mungkin orang yang baik hati yang mengelola dapat memposting file class.export.php yang dimodifikasi di sini?

Perbaikan ini dulu bekerja untuk saya. Tiba-tiba, itu tidak lagi berfungsi. Tidak yakin apa yang terjadi?

@JediKev

Bisakah Anda mengarahkan kami ke komit untuk v.11.0rc-1 yang memperbaiki ini? Ini akan sangat membantu!

Saya harap perbaikannya tidak hanya mengomentari baris itu. Seperti disebutkan sebelumnya, itu tidak menghasilkan perilaku yang benar jika ada bidang daftar kustom.

Masih mengalami masalah ini menggunakan file class.export.php yang terletak di evertvh.

Saya telah mencoba berbagai perbaikan yang tercantum pada masalah ini tetapi tidak ada kesenangan.

Saya memiliki format csv yang dimodifikasi dengan kolom tambahan yang ditambahkan untuk menunjukkan "organisasi" yang dimiliki setiap pengguna, sebagaimana dirinci di forum osticket - http://osticket.com/forum/discussion/92606/customising-ticket-csv- ekspor-benar#terbaru

@Zixt

Terima kasih, tetapi kami sebenarnya telah mengatasi masalah ini di v1.11.0rc-1 (rilis _very_ segera; mudah-mudahan pada hari Senin). Seiring dengan mengatasi masalah asli, ia menambahkan kemampuan untuk menyesuaikan bidang apa yang ingin Anda ekspor.

Bersulang.

EdiJediKev

Ah oke - bagus.

Bersulang.

Hai @JediKev

Saya telah memperbarui ke rilis terbaru pada instalasi kami, tetapi saya mengalami masalah dalam menyesuaikan antrian dengan spesifikasi saya?

Maaf jika ini bukan tempat yang tepat untuk bertanya!

Saya telah berhasil menambahkan "Organisasi" ke halaman Antrian dengan benar menggunakan bidang khusus dengan sumber data utama disetel ke "Pengguna/Organisasi/Nama"

Namun - Saya tidak memiliki opsi untuk menambahkan bidang khusus ke tab Ekspor, dan hanya dapat memilih dari satu set tajuk bidang yang telah ditentukan sebelumnya.

Apakah ada sesuatu yang saya lewatkan?

@Zixt

Ini bukan tempat untuk melaporkan masalah Anda. Anda akan membuka edisi Anda sendiri dan mengisi Template Edisi Baru. Dengan itu, saya akan melanjutkan dan memposting tanggapan saya di bawah ini sehingga Anda setidaknya memiliki jawaban cepat. 👍

_ Penafian: Berikut ini hanya berlaku untuk v1.11.0rc-1 _

Saat ini, Anda tidak dapat menambahkan bidang Pengguna, bidang Organisasi, dll. ke Ekspor Antrian Khusus karena fitur ini hanya dalam fase 1 (atau versi 1) dan terbatas. Saya _percaya_ itu akan diperluas lebih dan lebih dari waktu ke waktu untuk memungkinkan semua jenis bidang. Anda dapat melihat semua bidang yang dapat Anda tambahkan/atur ulang sekarang di Panel Admin > Pengaturan > Tiket > Antrean > klik nama antrean > Ekspor > Tambahkan Bidang Lain .

_(Maaf saya salah menjawab Anda sebelumnya; Saya pikir Eksportir baru memiliki opsi untuk menambahkan jenis bidang itu tetapi ternyata tidak. Setidaknya Ekspor dapat disesuaikan sekarang!)_

** Catatan Samping

Anda selalu dapat mengekspor Nama Organisasi Pengguna dengan membuka Panel Agen > Pengguna > Direktori Pengguna dan mengeklik Ekspor di bagian bawah.


Bersulang.

sama " 1.10 - Ekspor daftar tiket hanya menghasilkan dua baris pertama" di 1.10.4 setelah pembaruan dari 1.10.1

ini mungkin tentang itu:
[PILIH 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 SEBAGAI lastupdate , A1. isanswered AS isanswered , B1. firstname AS staff__firstname , B1. lastname AS staff__lastname , B2. name AS team__name , (PILIH JUMLAH(R0. id ) AS count DARI ost_thread Q7 GABUNG ost_ticket Q8 ON (Q7. object_type = 'T' DAN Q7. object_id = Q8. ticket_id ) KIRI JOIN ost_thread_collaborator R0 ON (Q7. id = R0. thread_id ) WHERE Q8. ticket_id = A1. ticket_id ) AS collab_count, (SELECT COUNT(R1. id ) AS count DARI ost_thread Q7 GABUNG ost_ticket Q8 ON (Q7. object_type = 'T' DAN Q7. object_id = Q8. ticket_id ) LEFT JOIN ost_thread_entry R0 ON (Q7. id = R0. thread_id ) LEFT JOIN ost_attachment R1 ON (R1. type = 'H' DAN R0. id = R1. object_id ) DIMANA Q8. ticket_id = A1. ticket_id DAN R1. inline = 0) SEBAGAI attachment_count, (SELECT COUNT(R0. id ) AS count FROM ost_thread Q7 GABUNG ost_ticket Q8 ON (Q7. object_type = 'T' DAN Q7. object_id = Q8. ticket_id ) KIRI JOIN ost_thread_entry R0 ON (Q7. id = R0. thread_id ) DI MANA Q8. ticket_id = A1. ticket_id DAN BUKAN R0. flags & 4 != 0) SEBAGAI thread_count DARI ost_ticket A1 JOIN (PILIH Q7. ticket_id FROM ost_ticket Q7 GABUNG ost_ticket_status Q8 AKTIF (Q7. status_id = Q8. id ) DI MANA Q8. state state = 'buka' AND (Q7. staff_id = 2 ATAU Q7. team_id IN (1))) ATAU Q7. dept_id IN ('1', '2', '3')) ORDER OLEH 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]

Kolom 'Q7' tidak diketahui. dalam 'klausa pesanan'



---- 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...', true, true)

2 (root)/include/class.orm.php(3183): MySqlExecutor->execute()

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

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

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 (root)/scp/tickets.php(495): require_once('(root)/in...')

12 {utama}

v1.11.0-rc1 ekspor dengan header saja.

1.10 ditingkatkan ke 1.11rc1

ekspor dasbor berfungsi, ekspor tiket: tidak dapat menemukan file di http://xxxxxxxx.xxxxxxx.com/helpdesk/scp/tickets.php?a=export&queue=adhoc ,ikDr5jdnAc.

1.10.4 sudah memiliki baris ini, masalah yang sama - hanya dua baris di header csv dan satu tiket

Versi osTicket | v1.10.4
Versi PHP | 5.6.37

Tinjau rekomendasi Anda namun saya melanjutkan dengan masalah yang sama, ketika mengekspor laporan tiket dengan status "ditutup", file tersebut hanya menunjukkan kepada saya 1 tiket.

Bekerja di 1.10.1
pemblokir nyata
Saya tahu semua orang menggunakan 1.11 tetapi kecuali 1.11 stable akan keluar bulan depan, beri kami petunjuk untuk memperbaiki yang ini

@lavdnone Perbaikan yang diposting oleh @JediKev di utas ini berfungsi untuk saya di 1.10.0 dan 1.10.4.
https://github.com/osTicket/osTicket/issues/3264#issuecomment -330262555

Terima kasih, tidak tahu bagaimana saya melewatkannya, #3264 berhasil

@lavdnone sangat disambut. Selamat beristirahat! :)

Saya juga memiliki masalah bahwa tidak semua tiket ditampilkan.
penggunaan solusi di atas dalam file tidak berfungsi untuk saya. Saat menggunakan saya selalu mendapatkan kesalahan php

Bisakah seseorang memposting class.export.php lengkap yang berfungsi?

@Orkanson

Anda mengomentari satu baris itu dan itu memberi Anda kesalahan php? Kedengarannya seperti ya 'melakukannya salah. Yang harus Anda lakukan adalah berkomentar satu baris dan itu berhasil.
#3264 (komentar)

Bersulang.

Saya mengomentari baris 58 di _include/class.export.php_, seperti yang direkomendasikan di utas ini, dan sekarang saya dapat mengekspor semua tiket ke format .csv.
//->options(QuerySet::OPT_NOCACHE)

OSTicket v1.10.4 di Ubuntu 16

Saya mengomentari baris 58 di _include/class.export.php_, seperti yang direkomendasikan di utas ini,
dan sekarang saya dapat mengekspor semua tiket ke format .csv.
//->options(QuerySet::OPT_NOCACHE)

Ya,
itu juga tampaknya berfungsi di file saya bahwa bagian dari kode adalah baris 63 tetapi memakan memori ... Saya dapat mengekspor daftar kecil tiket, tetapi jika saya mengambil daftar dengan ratusan ribu tiket, itu pasti berakhir dengan kesalahan :-(

_PHP Kesalahan fatal: Ukuran memori yang diizinkan 536870912 byte habis (mencoba mengalokasikan 32 byte) di include/class.orm.php on line 3146_

Saya mengubah batas hingga 512MB, tetapi saya berhenti dan saya memulihkan batas lama, untuk menghindari beberapa masalah yang lebih kritis.

NB: Saya juga mencoba perbaikan lain yang diposting oleh @JediKev tetapi bagaimanapun itu membutuhkan terlalu banyak ram jika daftarnya besar.

73-an,
Arturo.

@iw0der

Kami memiliki perbaikan untuk seri 1.12.x segera hadir yang membahas batas waktu ekspor tiket untuk kumpulan data besar. Harap tetap disini.

Bersulang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat