Created
March 25, 2020 15:22
-
-
Save TurkerTunali/17e75581e57794a24c223a4697495d5a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*LOGEDOSOFT 2020 | |
Amac: Alim irsaliyelerinde ambar ve malzeme karti kisitlamasi yapmak. | |
Detay: | |
- Alim irsaliyelerde sadece Ticari ve ham madde urunler gorunmeli. | |
https://app.asana.com/0/1159095102216267/1118662457336759/f | |
- Alim irsaliyelerde sadece Ticari malzeme ise sevk (Merkez, şube) ambarı görünmeli. HM. ise hm (Merkez, şube) ambarı görünmeli. | |
https://app.asana.com/0/1159095102216267/1118662457336758/f | |
*/ | |
frappe.ui.form.on('Purchase Receipt', { | |
refresh: async function(frm) { | |
//refresh(frm) { | |
frm.fields_dict['set_warehouse'].get_query = function(doc) { | |
return { | |
filters:[ | |
['name', 'like', '%Hammadde%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
} | |
//let strItemParentGroup = GetItemParentGroup("H.ValeoK.31.001.4"); | |
//console.log(strItemParentGroup); | |
frm.fields_dict['items'].grid.get_field('warehouse').get_query = function(doc, cdt, cdn) { | |
var row = locals[cdt][cdn]; | |
var strItemCode = row.item_code; | |
console.log(strItemCode); | |
//return GetItemParentGroup(strItemCode); | |
var result = await GetItemParentGroup(strItemCode); | |
return result; | |
} | |
} | |
}) | |
async function GetItemParentGroup(strItemCode) { | |
try { | |
return { | |
filters:[ | |
['name', 'like', '%Sevk%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
} catch(e) { | |
console.log(e); | |
throw e; // let caller know the promise was rejected with this reason | |
} | |
} | |
function GetItemParentGroup2(strItemCode) { | |
let strResult = ""; | |
let promItem = frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item", | |
"name": strItemCode | |
} | |
}); | |
console.log(promItem); | |
while(promItem.readyState == 1) { //(promItem.state == "pending") { | |
setTimeout(function () { }, 500); | |
} | |
console.log(promItem); | |
strResult = promItem.responseJSON.message.item_group; | |
return { | |
filters:[ | |
['name', 'like', '%Sevk%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
} | |
async function GetItemGroup(strItemCode) { | |
let promResult = await frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item", | |
"name": strItemCode | |
} | |
}); | |
return promResult; | |
} | |
async function GetParentItemGroup(strItemGroup) { | |
let promResult = await frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item Group", | |
"name": strItemGroup | |
} | |
}); | |
return promResult; | |
} | |
/* | |
function GetItemGroup(strItemCode) { | |
let promItem = frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item", | |
"name": strItemCode | |
} | |
}); | |
Promise.all([promItem]).then(function(objItem) { | |
console.log(objItem); | |
let strItemGroup = objItem[0].message.item_group; | |
alert(strItemGroup); | |
//Grubun bir ustunu bulalim | |
let promItemGroup = frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item Group", | |
"name": strItemGroup | |
} | |
}); | |
Promise.all([promItemGroup]).then(function(objItemGroup) { | |
console.log(objItemGroup); | |
let strParentItemGroup = objItemGroup[0].message.parent_item_group; | |
alert(strParentItemGroup); | |
}); | |
}); | |
} | |
*/ | |
/* | |
let promItem = frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item", | |
"name": strItemCode | |
} | |
}); | |
Promise.all([promItem]).then(function(objItem) { | |
//console.log(objItem); | |
let strItemGroup = objItem[0].message.item_group; | |
console.log(strItemGroup); | |
//Grubun bir ustunu bulalim | |
let promItemGroup = frappe.call({ | |
"method": "frappe.client.get", | |
"args": { | |
"doctype": "Item Group", | |
"name": strItemGroup | |
} | |
}); | |
Promise.all([promItemGroup]).then(function(objItemGroup) { | |
//console.log(objItemGroup); | |
let strParentItemGroup = objItemGroup[0].message.parent_item_group; | |
console.log(strParentItemGroup); | |
if (strParentItemGroup == "HAMMADDE") { | |
return { | |
filters:[ | |
['name', 'like', '%Hammadde%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
} else { | |
return { | |
filters:[ | |
['name', 'like', '%Sevk%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
} | |
}); | |
}); | |
}*/ | |
/*.then(result => { | |
// got final result | |
console.log(result); | |
}).catch(err => { | |
// got error | |
});*/ | |
/* | |
let promItem = GetItemGroup(strItemCode); | |
return promItem.then(function(resItem) { | |
console.log(resItem); | |
return { | |
filters:[ | |
['name', 'like', '%Sevk%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
});*/ | |
/*return new Promise(function(resolve, reject) { | |
return { | |
filters:[ | |
['name', 'like', '%Sevk%'], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
});*/ | |
/*let promItem = GetItemGroup(strItemCode); | |
Promise.all([promItem]).then(function(resItem) { | |
console.log(resItem); | |
console.log(resItem[0].message.item_group); | |
let promItemGroup = GetParentItemGroup(resItem[0].message.item_group); | |
promItemGroup.then(function(resItemGroup) { //)Promise.all([promItemGroup]).then(function(resItemGroup) { | |
console.log(resItemGroup); | |
console.log(resItemGroup[0].message.parent_item_group); | |
let strWHNameLike = '%Sevk%'; | |
if (resItemGroup[0].message.parent_item_group == "HAMMADDE") { | |
strWHNameLike = '%Hammadde%'; | |
} | |
return { | |
filters:[ | |
['name', 'like', strWHNameLike], | |
['is_group', '=', 0], | |
['company', '=', frappe.defaults.get_user_default("Company") || frappe.defaults.get_global_default("company")] | |
] | |
} | |
}) | |
});*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment