mirror of
https://github.com/frappe/books.git
synced 2024-11-10 15:50:56 +00:00
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
const frappe = require('frappejs');
|
|
|
|
module.exports = {
|
|
async get_series_next(prefix) {
|
|
let series;
|
|
try {
|
|
series = await frappe.get_doc('Number Series', prefix);
|
|
} catch (e) {
|
|
if (!e.status_code || e.status_code !== 404) {
|
|
throw e;
|
|
}
|
|
series = frappe.new_doc({doctype: 'Number Series', name: prefix, current: 0});
|
|
await series.insert();
|
|
}
|
|
let next = await series.next()
|
|
return prefix + next;
|
|
},
|
|
common_fields: [
|
|
{
|
|
fieldname: 'name', fieldtype: 'Data', reqd: 1
|
|
}
|
|
],
|
|
parent_fields: [
|
|
{
|
|
fieldname: 'owner', fieldtype: 'Link', reqd: 1, options: 'User'
|
|
},
|
|
{
|
|
fieldname: 'modified_by', fieldtype: 'Link', reqd: 1, options: 'User'
|
|
},
|
|
{
|
|
fieldname: 'creation', fieldtype: 'Datetime', reqd: 1
|
|
},
|
|
{
|
|
fieldname: 'modified', fieldtype: 'Datetime', reqd: 1
|
|
},
|
|
{
|
|
fieldname: 'keywords', fieldtype: 'Text'
|
|
},
|
|
{
|
|
fieldname: 'docstatus', fieldtype: 'Int', reqd: 1, default: 0
|
|
}
|
|
],
|
|
child_fields: [
|
|
{
|
|
fieldname: 'idx', fieldtype: 'Int', reqd: 1
|
|
},
|
|
{
|
|
fieldname: 'parent', fieldtype: 'Data', reqd: 1
|
|
},
|
|
{
|
|
fieldname: 'parenttype', fieldtype: 'Link', reqd: 1, options: 'DocType'
|
|
},
|
|
{
|
|
fieldname: 'parentfield', fieldtype: 'Data', reqd: 1
|
|
}
|
|
]
|
|
}; |