Server Calls (AJAX)
frappe.call
frappe.call(method, args)
Mengirim permintaan AJAX ke server, di mana method adalah jalur REST API yang dieksekusi dan nilai balikan dikirim sebagai respons.
// panggilan tanpa parameter
frappe.call('ping')
.then(r => {
console.log(r)
// {message: "pong"}
})
// panggilan dengan satu parameter
frappe.call('cybersecurity-get_profile', {
profile: 'Test'
}).then(r => {
console.log(r.message)
})
// panggilan dengan semua opsi
frappe.call({
method: 'cybersecurity-get_profile',
args: {
profile: 'Test'
},
// menonaktifkan tombol hingga permintaan selesai
btn: $('.primary-action'),
// membekukan layar hingga permintaan selesai
freeze: true,
callback: (r) => {
// jika berhasil
},
error: (r<span="hljs-function">) => {
// jika terjadi error
}
})
frappe.db.get_doc
frappe.db.get_doc(doctype, name, filters)
Mengembalikan objek Dokumen dari doctype dan name. Jika name tidak diberikan, mendapatkan dokumen pertama yang sesuai dengan filters.
// mendapatkan dokumen berdasarkan nama
frappe.db.get_doc('Task', 'TASK00002')
.then(doc => {
console.log(doc)
})
// mendapatkan dokumen berdasarkan filter
frappe.db.get_doc('Task', null, { status: 'Open' })
.then(doc => {
console.log(doc)
})
frappe.db.get_list
frappe.db.get_list(doctype, { fields, filters })
Mengembalikan daftar catatan dari doctype dengan fields dan filters.
frappe.db.get_list('Task', {
fields: ['subject', 'description'],
filters: {
status: 'Open'
}
}).then(records => {
console.log(records);
})
frappe.db.get_value
frappe.db.get_value(doctype, name, fieldname)
Mengembalikan nilai field dokumen atau daftar nilai.
// nilai tunggal
frappe.db.get_value('Task', 'TASK00004', 'status')
.then(r => {
console.log(r.message.status) // Open
})
// nilai ganda
frappe.db.get_value('Task', 'TASK00004', ['status', 'subject'])
.then(r => {
let values = r.message;
console.log(values.status, values.subject)
})
// menggunakan filter
frappe.db.get_value('Task', {status: 'Open'}, <span="hljs-string">'subject')
.then(r => {
let values = r.message;
console.log(values.subject)
})
frappe.db.get_single_value
frappe.db.get_single_value(doctype, field)
Mengembalikan nilai field dari Single DocType.
frappe.db.get_single_value('System Settings', 'time_zone')
.then(time_zone => {
console.log(time_zone);
})
frappe.db.set_value
frappe.db.set_value(doctype, docname, fieldname, value, callback)
Menetapkan properti dokumen menggunakan frappe.get_doc dan doc.save di server.
// memperbarui nilai field
frappe.db.set_value('Task', 'TASK00004', 'status', 'Open')
.then(r => {
let doc = r.message;
console.log(doc);
})
// memperbarui beberapa field
frappe.db.set_value('Task', 'TASK00004', {
status: 'Working',
priority: 'Medium'
}).then(r => {
let doc = r.message;
console.log(doc);
})
frappe.db.insert
frappe.db.insert(doc)
Menyisipkan dokumen baru.
frappe.db.insert({
doctype: 'Task',
subject: 'New Task'
}).then(doc => {
console.log(doc);
})
frappe.db.count
frappe.db.count(doctype, filters)
Mengembalikan jumlah catatan untuk doctype dan filters yang diberikan.
// total jumlah catatan Task
frappe.db.count('Task')
.then(count => {
console.log(count)
})
// total jumlah Task yang Open
frappe.db.<span="hljs-title function_">count('Task', { status: 'Open' })
.then(count => {
console.log(count)
})
frappe.db.delete_doc
frappe.db.delete_doc(doctype, name)
Menghapus dokumen yang diidentifikasi oleh doctype dan name.
frappe.db.delete_doc('Task', 'TASK00004')
frappe.db.exists
frappe.db.exists(doctype, name)
Mengembalikan true jika catatan dokumen ada.
frappe.db.exists('Task', 'TASK00004')
.then(exists => {
console.log(exists) // true
})