Skip to content

Instantly share code, notes, and snippets.

@TurkerTunali
Created March 25, 2020 15:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TurkerTunali/17e75581e57794a24c223a4697495d5a to your computer and use it in GitHub Desktop.
Save TurkerTunali/17e75581e57794a24c223a4697495d5a to your computer and use it in GitHub Desktop.
/*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