mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-31 18:59:08 +00:00
Moved Sales BOM & Sales BOM Item to Selling module, completed 'Available Stock for packing Items' report
This commit is contained in:
@@ -1 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
@@ -1,11 +0,0 @@
|
||||
[
|
||||
"Package Items",
|
||||
"Sales BOM Items",
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.\n\nNote: BOM = Bill of Materials",
|
||||
"List items that form the package.",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"",
|
||||
"Sales BOM Item",
|
||||
"Sales BOM",
|
||||
"Parent Item",
|
||||
"Stock"
|
||||
]
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "\u0625\u062c\u0645\u0627\u0644\u064a \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0646 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 ** ** ** \u0641\u064a \u0628\u0646\u062f \u0622\u062e\u0631. ** \u0647\u0630\u0627 \u0645\u0641\u064a\u062f \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u062c\u0645\u064a\u0639 \u0639\u0646\u0627\u0635\u0631 \u0645\u0639\u064a\u0646\u0629 ** ** \u0641\u064a \u062d\u0632\u0645\u0629 \u0648\u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u0645\u062e\u0632\u0648\u0646 \u0645\u0646 \u0627\u0644\u0623\u0635\u0646\u0627\u0641 ** ** \u0645\u0639\u0628\u0623\u0629 \u0648\u0644\u064a\u0633 \u0627\u0644\u0643\u0644\u064a ** \u0627\u0644\u0633\u0644\u0639\u0629 **. \u0627\u0644\u062d\u0632\u0645\u0629 \u0627\u0644\u0633\u0644\u0639\u0629 ** ** \u0633\u064a\u0643\u0648\u0646 "\u0647\u0648 \u0627\u0644\u0645\u062e\u0632\u0648\u0646 \u0627\u0644\u0633\u0644\u0639\u0629" \u0628 "\u0644\u0627" \u0648 "\u0647\u0644 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u0633\u0644\u0639\u0629" \u0628 "\u0646\u0639\u0645" \u0639\u0644\u0649 \u0633\u0628\u064a\u0644 \u0627\u0644\u0645\u062b\u0627\u0644: \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0628\u064a\u0639 \u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \u0627\u0644\u0645\u062d\u0645\u0648\u0644\u0629 \u0648\u062d\u0642\u0627\u0626\u0628 \u062a\u062d\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u0638\u0647\u0631 \u0628\u0634\u0643\u0644 \u0645\u0646\u0641\u0635\u0644 \u0648\u0644\u0647\u0627 \u0633\u0639\u0631 \u062e\u0627\u0635 \u0627\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0632\u0628\u0648\u0646 \u064a\u0634\u062a\u0631\u064a \u0643\u0644 \u060c \u062b\u0645 \u0633\u064a\u0642\u0648\u0645 \u0627\u0644\u0643\u0645\u0628\u064a\u0648\u062a\u0631 \u0627\u0644\u0645\u062d\u0645\u0648\u0644 + \u062d\u0642\u064a\u0628\u0629 \u0627\u0644\u0638\u0647\u0631 \u062a\u0643\u0648\u0646 \u062c\u062f\u064a\u062f\u0629 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a BOM Item.Note: BOM = \u0628\u064a\u0644 \u0627\u0644\u0645\u0648\u0627\u062f",
|
||||
"List items that form the package.": "\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u064a \u062a\u0634\u0643\u0644 \u0627\u0644\u062d\u0632\u0645\u0629.",
|
||||
"Package Items": "\u062d\u0632\u0645\u0629 \u0627\u0644\u0628\u0646\u0648\u062f",
|
||||
"Parent Item": "\u0627\u0644\u0623\u0645 \u0627\u0644\u0645\u062f\u064a\u0646\u0629",
|
||||
"Sales BOM": "\u0645\u0628\u064a\u0639\u0627\u062a BOM",
|
||||
"Sales BOM Item": "\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u0633\u0644\u0639\u0629 BOM",
|
||||
"Sales BOM Items": "\u0639\u0646\u0627\u0635\u0631 \u0645\u0628\u064a\u0639\u0627\u062a BOM",
|
||||
"Stock": "\u0627\u0644\u0623\u0648\u0631\u0627\u0642 \u0627\u0644\u0645\u0627\u0644\u064a\u0629",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "\u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u0630\u064a \u064a\u0645\u062b\u0644 \u0627\u0644\u062d\u0632\u0645\u0629. \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0644\u062f\u0649 \u0647\u0630\u0627 \u0627\u0644\u0628\u0646\u062f "\u0647\u0648 \u0627\u0644\u0645\u062e\u0632\u0648\u0646 \u0627\u0644\u0633\u0644\u0639\u0629" \u0628 "\u0644\u0627" \u0648 "\u0647\u0644 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u0633\u0644\u0639\u0629" \u0628 "\u0646\u0639\u0645""
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"List items that form the package.": "Diese Liste Artikel bilden das Paket.",
|
||||
"Package Items": "Package Angebote",
|
||||
"Parent Item": "\u00dcbergeordneter Artikel",
|
||||
"Sales BOM": "Vertrieb BOM",
|
||||
"Sales BOM Item": "Vertrieb St\u00fccklistenposition",
|
||||
"Sales BOM Items": "Vertrieb St\u00fccklistenpositionen",
|
||||
"Stock": "Lager",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "Das Element, das das Paket darstellt. Dieser Artikel muss \"Ist Stock Item\" als \"Nein\" und \"Ist Vertrieb Item\" als \"Ja\""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "Grupo global de productos ** ** en otro art\u00edculo **. ** Esto es \u00fatil si usted est\u00e1 empaquetando un cierto ** ** Los productos en un paquete y usted mantiene un balance de los art\u00edculos envasados \u200b\u200b** ** y no el agregado del art\u00edculo **. ** El paquete ** art\u00edculo ** habr\u00e1 "es el tema de" como "No" y "\u00bfSales Item" como "S\u00ed", por ejemplo:. Si usted est\u00e1 vendiendo computadoras port\u00e1tiles y Mochilas por separado y recibir un descuento si el cliente compra a la vez , entonces el ordenador port\u00e1til + Mochila ser\u00e1 una nueva lista de materiales de ventas Item.Note: BOM = Bill de Materiales",
|
||||
"List items that form the package.": "Lista de tareas que forman el paquete.",
|
||||
"Package Items": "Art\u00edculos del embalaje",
|
||||
"Parent Item": "Art\u00edculo principal",
|
||||
"Sales BOM": "Ventas BOM",
|
||||
"Sales BOM Item": "Ventas de art\u00edculo de lista de materiales",
|
||||
"Sales BOM Items": "Los productos que la lista de materiales de ventas",
|
||||
"Stock": "Valores",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "El punto que representa el paquete. Este elemento debe tener "es el tema de" como "No" y "\u00bfSales Item" como "S\u00ed""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "Groupe global de ** ** Articles dans un autre article **. ** Ceci est utile si vous mettez en place un certains articles ** ** dans un paquet et vous maintenir le stock des articles emball\u00e9s ** ** et non pas le total ** Article **. Le paquet ** ** Point aura \u00abEst Produit en stock" comme "No" et "Est Point de vente" que "Oui" Par exemple:. Si vous vendez des ordinateurs portables et sacs \u00e0 dos s\u00e9par\u00e9ment et un prix sp\u00e9cial si le client ach\u00e8te \u00e0 la fois , puis l'ordinateur portable Sac \u00e0 dos + sera une nouvelle nomenclature des ventes Item.Note: BOM = Bill of Materials",
|
||||
"List items that form the package.": "Liste des articles qui composent le paquet.",
|
||||
"Package Items": "Articles paquet",
|
||||
"Parent Item": "Article Parent",
|
||||
"Sales BOM": "BOM ventes",
|
||||
"Sales BOM Item": "Article nomenclature des ventes",
|
||||
"Sales BOM Items": "Articles ventes de nomenclature",
|
||||
"Stock": "Stock",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "L'article qui repr\u00e9sente le package. Cet article doit avoir \u00abEst Produit en stock" comme "No" et "Est Point de vente" que "Oui""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "** \u0906\u0907\u091f\u092e \u0915\u0947 \u0938\u0915\u0932 \u0938\u092e\u0942\u0939 \u092e\u0947\u0902 \u090f\u0915 \u0914\u0930 \u0906\u0907\u091f\u092e ** **. \u092f\u0939 \u0909\u092a\u092f\u094b\u0917\u0940 \u0939\u0948 \u0905\u0917\u0930 \u0906\u092a \u090f\u0915 \u092a\u0948\u0915\u0947\u091c \u092e\u0947\u0902 ** \u0915\u0941\u091b ** \u0906\u0907\u091f\u092e bundling \u0939\u0948\u0902 \u0914\u0930 \u0906\u092a \u092a\u0948\u0915 ** \u0914\u0930 \u0928\u0939\u0940\u0902 \u0915\u0941\u0932 ** \u0906\u0907\u091f\u092e ** ** \u0906\u0907\u091f\u092e \u0915\u0947 \u0938\u094d\u091f\u0949\u0915 \u0915\u094b \u092c\u0928\u093e\u090f \u0930\u0916\u0928\u0947. \u092a\u0948\u0915\u0947\u091c ** \u0906\u0907\u091f\u092e ** \u0939\u0948 "\u0938\u094d\u091f\u0949\u0915 \u0906\u0907\u091f\u092e \u0939\u0948" "\u0928\u0939\u0940\u0902" \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0914\u0930 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 "\u0939\u093e\u0901" "\u092c\u093f\u0915\u094d\u0930\u0940 \u0906\u0907\u091f\u092e \u0939\u0948," \u0909\u0926\u093e\u0939\u0930\u0923 \u0915\u0947 \u0932\u093f\u090f: \u092f\u0926\u093f \u0906\u092a \u0932\u0948\u092a\u091f\u0949\u092a \u0914\u0930 Backpacks \u092c\u0947\u091a \u0930\u0939\u0947 \u0939\u0948\u0902 \u0914\u0930 \u0905\u0932\u0917 \u0938\u0947 \u090f\u0915 \u0935\u093f\u0936\u0947\u0937 \u092e\u0942\u0932\u094d\u092f \u0939\u0948 \u0905\u0917\u0930 \u0917\u094d\u0930\u093e\u0939\u0915 \u0926\u094b\u0928\u094b\u0902 \u0916\u0930\u0940\u0926\u0924\u093e BOM = \u0935\u093f\u0927\u0947\u092f\u0915 \u0915\u0940 \u0938\u093e\u092e\u0917\u094d\u0930\u0940:, \u0924\u094b \u090f\u0915 \u0928\u092f\u093e \u0932\u0948\u092a\u091f\u0949\u092a + \u092c\u0948\u0917 \u092c\u093f\u0915\u094d\u0930\u0940 \u092c\u0940\u0913\u090f\u092e Item.Note \u0939\u094b\u0917\u093e",
|
||||
"List items that form the package.": "\u0938\u0942\u091a\u0940 \u0906\u0907\u091f\u092e \u0939\u0948 \u0915\u093f \u092a\u0948\u0915\u0947\u091c \u0915\u093e \u092b\u093e\u0930\u094d\u092e.",
|
||||
"Package Items": "\u092a\u0948\u0915\u0947\u091c \u0906\u0907\u091f\u092e",
|
||||
"Parent Item": "\u092e\u0942\u0932 \u0906\u0907\u091f\u092e",
|
||||
"Sales BOM": "\u092c\u093f\u0915\u094d\u0930\u0940 \u092c\u0940\u0913\u090f\u092e",
|
||||
"Sales BOM Item": "\u092c\u093f\u0915\u094d\u0930\u0940 \u092c\u0940\u0913\u090f\u092e \u0906\u0907\u091f\u092e",
|
||||
"Sales BOM Items": "\u092c\u093f\u0915\u094d\u0930\u0940 \u092c\u0940\u0913\u090f\u092e \u0906\u0907\u091f\u092e",
|
||||
"Stock": "\u0938\u094d\u091f\u0949\u0915",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "\u0906\u0907\u091f\u092e \u0939\u0948 \u0915\u093f \u092a\u0948\u0915\u0947\u091c \u0915\u093e \u092a\u094d\u0930\u0924\u093f\u0928\u093f\u0927\u093f\u0924\u094d\u0935 \u0915\u0930\u0924\u093e \u0939\u0948. \u0907\u0938 \u092e\u0926 "\u0938\u094d\u091f\u0949\u0915 \u0906\u0907\u091f\u092e" "\u0928\u0939\u0940\u0902" \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0914\u0930 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 "\u0939\u093e\u0901" "\u092c\u093f\u0915\u094d\u0930\u0940 \u0906\u0907\u091f\u092e \u0939\u0948""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "Agregat skupina ** stavki ** u drugoj to\u010dki ** **. To je korisno ako ste vezanje odre\u0111ene artikle ** ** u paketu i odr\u017eavanje zalihe pakiran ** stavki ** a ne agregata ** artikla **. Paket ** artikla ** \u0107e "Je katalo\u0161ki Stavka" kao "Ne" i "Je li prodaja artikla" kao "Da", na primjer:. Ako prodajete Prijenosna ra\u010dunala i Ruksaci odvojeno i imaju posebnu cijenu ako kupac kupuje oboje , onda laptop + ruksak \u0107e biti novi Prodaja BOM Item.Note: BOM = Bill materijala",
|
||||
"List items that form the package.": "Popis stavki koje \u010dine paket.",
|
||||
"Package Items": "Paket Proizvodi",
|
||||
"Parent Item": "Roditelj artikla",
|
||||
"Sales BOM": "Prodaja BOM",
|
||||
"Sales BOM Item": "Prodaja BOM artikla",
|
||||
"Sales BOM Items": "Prodaja BOM Proizvodi",
|
||||
"Stock": "Zaliha",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "Stavka koja predstavlja paket. Ova stavka mora imati "Je katalo\u0161ki Stavka" kao "Ne" i "Je li prodaja artikla" kao "Da""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "De totale groep van ** Items ** in een andere ** Item **. Dit is handig als u de bundeling van een bepaalde ** Items ** in een pakket en u onderhoudt voorraad van de verpakte ** Items ** en niet de totale ** Item **. Het pakket ** Item ** zal hebben "Is Stock Item" als "No" en "Is Sales Item" als "Ja" Bijvoorbeeld:. Als je verkoopt laptops en Rugzakken apart en hebben een speciale prijs als de klant koopt zowel , dan is de laptop + Rugzak zal een nieuwe Sales BOM Item.Note: BOM = Bill of Materials",
|
||||
"List items that form the package.": "Lijst items die het pakket vormen.",
|
||||
"Package Items": "Pakket Artikelen",
|
||||
"Parent Item": "Parent Item",
|
||||
"Sales BOM": "Verkoop BOM",
|
||||
"Sales BOM Item": "Verkoop BOM Item",
|
||||
"Sales BOM Items": "Verkoop BOM Items",
|
||||
"Stock": "Voorraad",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "Het item dat het pakket vertegenwoordigt. Dit artikel moet hebben "Is Stock Item" als "No" en "Is Sales Item" als "Yes""
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"List items that form the package.": "Lista de itens que comp\u00f5em o pacote.",
|
||||
"Package Items": "Itens do pacote",
|
||||
"Parent Item": "Item Pai",
|
||||
"Sales BOM": "LDM de Vendas",
|
||||
"Sales BOM Item": "Item da LDM de Vendas",
|
||||
"Sales BOM Items": "Itens da LDM de Vendas",
|
||||
"Stock": "Estoque",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "O item que representa o pacote. Este item deve ter "\u00c9 Item de Estoque" como "N\u00e3o" e "\u00c9 Item de Venda" como "Sim""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "Grupo agregado de Itens ** ** em outro item **. ** Isso \u00e9 \u00fatil se voc\u00ea est\u00e1 empacotando um certo ** ** Itens em um pacote e voc\u00ea manter o estoque dos itens embalados ** ** e n\u00e3o agregar o item **. ** O pacote ** ** item ter\u00e1 "\u00e9 o item da" como "N\u00e3o" e "\u00e9 o item de vendas" como "Sim", por exemplo:. Se voc\u00ea est\u00e1 vendendo laptops e mochilas separadamente e t\u00eam um pre\u00e7o especial se o cliente compra tanto , ent\u00e3o o Laptop Backpack + ser\u00e1 uma nova Vendas BOM Item.Note: BOM = Bill of Materials",
|
||||
"List items that form the package.": "Lista de itens que comp\u00f5em o pacote.",
|
||||
"Package Items": "Itens do pacote",
|
||||
"Parent Item": "Item Pai",
|
||||
"Sales BOM": "BOM vendas",
|
||||
"Sales BOM Item": "Vendas item BOM",
|
||||
"Sales BOM Items": "Vendas Itens BOM",
|
||||
"Stock": "Estoque",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "O item que representa o pacote. Este item deve ter "\u00e9 o item da" como "N\u00e3o" e "\u00e9 o item de vendas" como "Sim""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "\u0410\u0433\u0440\u0435\u0433\u0430\u0442 \u0433\u0440\u0443\u043f\u0430 ** ** \u0458\u0435\u0434\u0438\u043d\u0438\u0446\u0435 \u0443 \u0434\u0440\u0443\u0433\u0443 ** ** \u0442\u0430\u0447\u043a\u0435. \u041e\u0432\u043e \u0458\u0435 \u043a\u043e\u0440\u0438\u0441\u043d\u043e \u0430\u043a\u043e \u0441\u0442\u0435 \u0433\u0440\u0443\u043f\u0438\u0441\u0430\u045a\u0435 \u043e\u0434\u0440\u0435\u0452\u0435\u043d\u0435 \u0441\u0442\u0430\u0432\u043a\u0435 ** ** \u0443 \u043f\u0430\u043a\u0435\u0442\u0443 \u0438 \u0434\u0430 \u043e\u0434\u0440\u0436\u0438 \u0437\u0430\u043b\u0438\u0445\u0435 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u0438\u0445 ** ** \u0441\u0442\u0430\u0432\u043a\u0438, \u0430 \u043d\u0435 \u0430\u0433\u0440\u0435\u0433\u0430\u0442 ** ** \u0442\u0430\u0447\u043a\u0430. \u041f\u0430\u043a\u0435\u0442 ** ** \u0448\u0438\u0444\u0440\u0430 \u045b\u0435 "\u0414\u0430 \u043b\u0438 \u0458\u0435 \u0431\u0435\u0440\u0437\u0430 \u0421\u0442\u0430\u0432\u043a\u0430" \u043a\u0430\u043e "\u043d\u0435" \u0438 "\u0414\u0430 \u043b\u0438 \u0458\u0435 \u043f\u0440\u043e\u0434\u0430\u0458\u0435 \u0421\u0442\u0430\u0432\u043a\u0430" \u043a\u0430\u043e "\u0414\u0430" \u0417\u0430 \u041f\u0440\u0438\u043c\u0435\u0440: \u0410\u043a\u043e \u0441\u0435 \u043f\u0440\u043e\u0434\u0430\u0458\u0435 \u043b\u0430\u043f\u0442\u043e\u043f \u0438 \u0440\u0430\u043d\u0447\u0435\u0432\u0438 \u043e\u0434\u0432\u043e\u0458\u0435\u043d\u043e \u0438 \u0438\u043c\u0430\u0458\u0443 \u043f\u043e\u0441\u0435\u0431\u043d\u0443 \u0446\u0435\u043d\u0443 \u0443\u043a\u043e\u043b\u0438\u043a\u043e \u043a\u0443\u043f\u0430\u0446 \u043a\u0443\u043f\u0443\u0458\u0435 \u043e\u0431\u043e\u0458\u0435. , \u043e\u043d\u0434\u0430 \u043b\u0430\u043f\u0442\u043e\u043f + \u0420\u0430\u043d\u0430\u0446 \u045b\u0435 \u0431\u0438\u0442\u0438 \u043d\u043e\u0432\u0438 \u041f\u0440\u043e\u0434\u0430\u0458\u0430 \u0411\u041e\u041c \u0418\u0442\u0435\u043c.\u041d\u043e\u0442\u0435: \u0411\u041e\u041c = \u0421\u0430\u0441\u0442\u0430\u0432\u043d\u0438\u0446\u0435",
|
||||
"List items that form the package.": "\u041b\u0438\u0441\u0442\u0430 \u0441\u0442\u0432\u0430\u0440\u0438 \u043a\u043e\u0458\u0435 \u0447\u0438\u043d\u0435 \u043f\u0430\u043a\u0435\u0442.",
|
||||
"Package Items": "\u041f\u0430\u043a\u0435\u0442 \u0410\u0440\u0442\u0438\u043a\u043b\u0438",
|
||||
"Parent Item": "\u0420\u043e\u0434\u0438\u0442\u0435\u0459 \u0448\u0438\u0444\u0440\u0430",
|
||||
"Sales BOM": "\u041f\u0440\u043e\u0434\u0430\u0458\u0430 \u0411\u041e\u041c",
|
||||
"Sales BOM Item": "\u041f\u0440\u043e\u0434\u0430\u0458\u0430 \u0411\u041e\u041c \u0448\u0438\u0444\u0440\u0430",
|
||||
"Sales BOM Items": "\u041f\u0440\u043e\u0434\u0430\u0458\u0430 \u0411\u041e\u041c \u0410\u0440\u0442\u0438\u043a\u043b\u0438",
|
||||
"Stock": "\u0417\u0430\u043b\u0438\u0445\u0430",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "\u0421\u0442\u0430\u0432\u043a\u0430 \u043a\u043e\u0458\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0459\u0430 \u043f\u0430\u043a\u0435\u0442. \u041e\u0432\u0430 \u0442\u0430\u0447\u043a\u0430 \u043c\u043e\u0440\u0430 \u0434\u0430 "\u0417\u0430\u0440 \u0431\u0435\u0440\u0437\u0430 \u0421\u0442\u0430\u0432\u043a\u0430" \u043a\u0430\u043e "\u043d\u0435" \u0438 "\u0414\u0430 \u043b\u0438 \u0458\u0435 \u043f\u0440\u043e\u0434\u0430\u0458\u0435 \u0442\u0430\u0447\u043a\u0430" \u043a\u0430\u043e "\u0414\u0430""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "\u0bae\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc0\u0b9f\u0bcd\u0b9f\u0bc1 ** \u0bb5\u0bbf\u0b9f\u0baf\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b95\u0bc1\u0bb4\u0bc1 ** \u0bae\u0bb1\u0bcd\u0bb1\u0bc6\u0bbe\u0bb0\u0bc1 ** \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd \u0b95\u0bc6\u0bbe\u0ba3\u0bcd\u0b9f\u0bc1 **. \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd ** \u0b92\u0bb0\u0bc1 \u0ba4\u0bc6\u0bbe\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc1 \u0b92\u0bb0\u0bc1 \u0b95\u0bc1\u0bb1\u0bbf\u0baa\u0bcd\u0baa\u0bbf\u0b9f\u0bcd\u0b9f ** \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0b9f\u0bcd\u0b95\u0bb3\u0bc8 \u0b92\u0ba9\u0bcd\u0bb1\u0bc1 \u0b95\u0bc2\u0b9f\u0bcd\u0b9f\u0bc1\u0ba4\u0bb2\u0bcd \u0b87\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bbe\u0bb2\u0bcd \u0b87\u0ba8\u0bcd\u0ba4 \u0baa\u0baf\u0ba9\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bbe\u0b95 \u0b87\u0bb0\u0bc1\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd ** \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0bae\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc0\u0b9f\u0bcd\u0b9f\u0bc1 ** \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd ** \u0baa\u0bc7\u0b95\u0bcd ** \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0b9f\u0bcd\u0b95\u0bb3\u0bc8 \u0baa\u0b99\u0bcd\u0b95\u0bc1 \u0bb5\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1. \u0ba4\u0bc6\u0bbe\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc1 ** \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd ** "\u0b87\u0bb2\u0bcd\u0bb2\u0bc8" \u0b8e\u0ba9 "\u0baa\u0b99\u0bcd\u0b95\u0bc1 \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf \u0b87\u0bb2\u0bcd\u0bb2\u0bc8" \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd "\u0b86\u0bae\u0bcd" \u0b8e\u0ba9 "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bbe\u0b95 \u0b89\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1" \u0b89\u0ba4\u0bbe\u0bb0\u0ba3\u0bae\u0bbe\u0b95:. \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0ba4\u0ba9\u0bbf\u0baf\u0bbe\u0b95 \u0bae\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0ba3\u0bbf\u0ba9\u0bbf\u0b95\u0bb3\u0bcd \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0bae\u0bc1\u0ba4\u0bc1\u0b95\u0bbf\u0bb2\u0bcd \u0b9a\u0bc1\u0bae\u0bc8 \u0baa\u0bc8\u0baf\u0bc1\u0b9f\u0ba9\u0bc1\u0bae\u0bcd \u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb1\u0baa\u0bcd\u0baa\u0bc1 \u0bb5\u0bbf\u0bb2\u0bc8 \u0b87\u0bb2\u0bcd\u0bb2\u0bc8 \u0b8e\u0ba9\u0bcd\u0bb1\u0bbe\u0bb2\u0bcd \u0bb5\u0bbe\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bc8\u0baf\u0bbe\u0bb3\u0bb0\u0bcd \u0b87\u0bb0\u0bc1 \u0bb5\u0bbe\u0b99\u0bcd\u0b95\u0bc1\u0bae\u0bcd \u0baa\u0bc7\u0bbe\u0ba4\u0bc1 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0b9f\u0bcd\u0b95\u0bb3\u0bc8 BOM = \u0baa\u0bbf\u0bb2\u0bcd:, \u0baa\u0bbf\u0ba9\u0bcd\u0ba9\u0bb0\u0bcd \u0bb2\u0bc7\u0baa\u0bcd\u0b9f\u0bbe\u0baa\u0bcd + \u0baa\u0bc8\u0baf\u0bc1\u0b9f\u0ba9\u0bc1\u0bae\u0bcd \u0b92\u0bb0\u0bc1 \u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 BOM Item.Note \u0b87\u0bb0\u0bc1\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd",
|
||||
"List items that form the package.": "\u0ba4\u0bc6\u0bbe\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc1 \u0b85\u0bae\u0bc8\u0b95\u0bcd\u0b95 \u0b8e\u0ba9\u0bcd\u0bb1\u0bc1 \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0b95\u0bb3\u0bcd.",
|
||||
"Package Items": "\u0ba4\u0bc6\u0bbe\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc1 \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",
|
||||
"Parent Item": "\u0baa\u0bc6\u0bb1\u0bcd\u0bb1\u0bc7\u0bbe\u0bb0\u0bcd \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd",
|
||||
"Sales BOM": "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 BOM",
|
||||
"Sales BOM Item": "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 BOM \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd",
|
||||
"Sales BOM Items": "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 BOM \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",
|
||||
"Stock": "\u0baa\u0b99\u0bcd\u0b95\u0bc1",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "\u0ba4\u0bc6\u0bbe\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0bbf\u0bb0\u0ba4\u0bbf\u0baa\u0bb2\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1 \u0b8e\u0ba9\u0bcd\u0bb1\u0bc1 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd. \u0b87\u0ba8\u0bcd\u0ba4 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd "\u0b87\u0bb2\u0bcd\u0bb2\u0bc8" \u0b8e\u0ba9 "\u0baa\u0b99\u0bcd\u0b95\u0bc1 \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf \u0b87\u0bb2\u0bcd\u0bb2\u0bc8" \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd "\u0b86\u0bae\u0bcd" \u0b8e\u0ba9 "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd \u0b87\u0bb2\u0bcd\u0bb2\u0bc8""
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. The package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.Note: BOM = Bill of Materials": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e23\u0e27\u0e21\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 ** ** \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e2d\u0e35\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 ** ** \u0e19\u0e35\u0e49\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e0a\u0e19\u0e4c\u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07 bundling \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 ** ** \u0e1a\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e1e\u0e04\u0e40\u0e01\u0e08\u0e41\u0e25\u0e30\u0e04\u0e38\u0e13\u0e23\u0e31\u0e01\u0e29\u0e32\u0e2a\u0e15\u0e47\u0e2d\u0e01\u0e02\u0e2d\u0e07\u0e1a\u0e23\u0e23\u0e08\u0e38\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 ** ** \u0e41\u0e25\u0e30\u0e44\u0e21\u0e48\u0e23\u0e27\u0e21\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 ** ** \u0e41\u0e1e\u0e04\u0e40\u0e01\u0e08\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32 ** ** \u0e08\u0e30\u0e21\u0e35 "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32" \u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 "\u0e44\u0e21\u0e48\u0e21\u0e35" \u0e41\u0e25\u0e30 "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e02\u0e32\u0e22" \u0e40\u0e1b\u0e47\u0e19 "\u0e43\u0e0a\u0e48" \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07:. \u0e16\u0e49\u0e32\u0e04\u0e38\u0e13\u0e01\u0e33\u0e25\u0e31\u0e07\u0e02\u0e32\u0e22\u0e41\u0e25\u0e47\u0e1b\u0e17\u0e47\u0e2d\u0e1b\u0e41\u0e25\u0e30\u0e40\u0e1b\u0e49\u0e2a\u0e30\u0e1e\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07\u0e41\u0e22\u0e01\u0e41\u0e25\u0e30\u0e21\u0e35\u0e23\u0e32\u0e04\u0e32\u0e1e\u0e34\u0e40\u0e28\u0e29\u0e2b\u0e32\u0e01\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e0b\u0e37\u0e49\u0e2d\u0e17\u0e31\u0e49\u0e07 \u0e41\u0e25\u0e49\u0e27\u0e41\u0e25\u0e47\u0e1b\u0e17\u0e47\u0e2d\u0e1b\u0e01\u0e23\u0e30\u0e40\u0e1b\u0e4b\u0e32\u0e40\u0e1b\u0e49\u0e2a\u0e30\u0e1e\u0e32\u0e22\u0e2b\u0e25\u0e31\u0e07 + \u0e08\u0e30\u0e02\u0e32\u0e22\u0e43\u0e2b\u0e21\u0e48 BOM Item.Note: BOM \u0e1a\u0e34\u0e25\u0e02\u0e2d\u0e07\u0e27\u0e31\u0e2a\u0e14\u0e38 =",
|
||||
"List items that form the package.": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e1e\u0e04\u0e40\u0e01\u0e08",
|
||||
"Package Items": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e04\u0e40\u0e01\u0e08",
|
||||
"Parent Item": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2b\u0e25\u0e31\u0e01",
|
||||
"Sales BOM": "BOM \u0e02\u0e32\u0e22",
|
||||
"Sales BOM Item": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 BOM \u0e02\u0e32\u0e22",
|
||||
"Sales BOM Items": "\u0e02\u0e32\u0e22\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32 BOM",
|
||||
"Stock": "\u0e04\u0e25\u0e31\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
|
||||
"The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e41\u0e1e\u0e04\u0e40\u0e01\u0e08 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e19\u0e35\u200b\u200b\u0e49\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35 "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32" \u0e02\u0e13\u0e30\u0e17\u0e35\u0e48 "\u0e44\u0e21\u0e48\u0e21\u0e35" \u0e41\u0e25\u0e30 "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e02\u0e32\u0e22" \u0e40\u0e1b\u0e47\u0e19 "\u0e43\u0e0a\u0e48""
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
// ERPNext - web based ERP (http://erpnext.com)
|
||||
// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
cur_frm.cscript.refresh = function(doc, cdt, cdn) {
|
||||
cur_frm.toggle_enable('new_item_code', doc.__islocal);
|
||||
if(!doc.__islocal) {
|
||||
cur_frm.add_custom_button("Check for Duplicates", function() {
|
||||
cur_frm.call_server('check_duplicate', 1)
|
||||
}, 'icon-search')
|
||||
}
|
||||
}
|
||||
|
||||
cur_frm.fields_dict.new_item_code.get_query = function() {
|
||||
return 'select name, description from tabItem where is_stock_item="No" and is_sales_item="Yes"\
|
||||
and name not in (select name from `tabSales BOM`)\
|
||||
and `%(key)s` like "%s"'
|
||||
}
|
||||
cur_frm.fields_dict.new_item_code.query_description = 'Select Item where "Is Stock Item" is "No" \
|
||||
and "Is Sales Item" is "Yes" and there is no other Sales BOM';
|
||||
|
||||
cur_frm.cscript.item_code = function(doc, dt, dn) {
|
||||
var d = locals[dt][dn];
|
||||
if (d.item_code){
|
||||
get_server_fields('get_item_details', d.item_code, 'sales_bom_items', doc ,dt, dn, 1);
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
# ERPNext - web based ERP (http://erpnext.com)
|
||||
# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import webnotes
|
||||
from webnotes.utils import flt
|
||||
from webnotes.model.utils import getlist
|
||||
|
||||
class DocType:
|
||||
def __init__(self,d,dl):
|
||||
self.doc, self.doclist = d,dl
|
||||
|
||||
def autoname(self):
|
||||
self.doc.name = self.doc.new_item_code
|
||||
|
||||
def validate(self):
|
||||
# check for duplicate
|
||||
self.check_duplicate()
|
||||
self.validate_main_item()
|
||||
|
||||
def validate_main_item(self):
|
||||
"""main item must have Is Stock Item as No and Is Sales Item as Yes"""
|
||||
if not webnotes.conn.sql("""select name from tabItem where name=%s and
|
||||
ifnull(is_stock_item,'')='No' and ifnull(is_sales_item,'')='Yes'""", self.doc.new_item_code):
|
||||
webnotes.msgprint("""Parent Item %s is either a Stock Item or a not a Sales Item""",
|
||||
raise_exception=1)
|
||||
|
||||
def get_item_details(self, name):
|
||||
det = webnotes.conn.sql("""select description, stock_uom from `tabItem`
|
||||
where name = %s""", name)
|
||||
rate = webnotes.conn.sql("""select ref_rate from `tabItem Price`
|
||||
where price_list_name = %s and parent = %s
|
||||
and ref_currency = %s""", (self.doc.price_list, name, self.doc.currency))
|
||||
return {
|
||||
'description' : det and det[0][0] or '',
|
||||
'uom': det and det[0][1] or '',
|
||||
'rate': rate and flt(rate[0][0]) or 0.00
|
||||
}
|
||||
|
||||
def check_duplicate(self, finder=0):
|
||||
il = getlist(self.doclist, "sales_bom_items")
|
||||
if not il:
|
||||
webnotes.msgprint("Add atleast one item")
|
||||
return
|
||||
|
||||
# get all Sales BOM that have the first item
|
||||
sbl = webnotes.conn.sql("""select distinct parent from `tabSales BOM Item` where item_code=%s
|
||||
and parent != %s and docstatus != 2""", (il[0].item_code, self.doc.name))
|
||||
|
||||
# check all siblings
|
||||
sub_items = [[d.item_code, flt(d.qty)] for d in il]
|
||||
|
||||
for s in sbl:
|
||||
t = webnotes.conn.sql("""select item_code, qty from `tabSales BOM Item` where parent=%s and
|
||||
docstatus != 2""", s[0])
|
||||
t = [[d[0], flt(d[1])] for d in t]
|
||||
|
||||
if self.has_same_items(sub_items, t):
|
||||
webnotes.msgprint("%s has the same Sales BOM details" % s[0])
|
||||
raise Exception
|
||||
if finder:
|
||||
webnotes.msgprint("There is no Sales BOM present with the following Combination.")
|
||||
|
||||
def has_same_items(self, l1, l2):
|
||||
if len(l1)!=len(l2): return 0
|
||||
for l in l2:
|
||||
if l not in l1:
|
||||
return 0
|
||||
for l in l1:
|
||||
if l not in l2:
|
||||
return 0
|
||||
return 1
|
||||
@@ -1,97 +0,0 @@
|
||||
[
|
||||
{
|
||||
"creation": "2013-01-10 16:34:29",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-01-22 14:57:23",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
{
|
||||
"description": "Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Sales BOM Item.\n\nNote: BOM = Bill of Materials",
|
||||
"doctype": "DocType",
|
||||
"document_type": "Master",
|
||||
"is_submittable": 0,
|
||||
"module": "Stock",
|
||||
"name": "__common__"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"name": "__common__",
|
||||
"parent": "Sales BOM",
|
||||
"parentfield": "fields",
|
||||
"parenttype": "DocType",
|
||||
"permlevel": 0
|
||||
},
|
||||
{
|
||||
"amend": 0,
|
||||
"doctype": "DocPerm",
|
||||
"name": "__common__",
|
||||
"parent": "Sales BOM",
|
||||
"parentfield": "permissions",
|
||||
"parenttype": "DocType",
|
||||
"permlevel": 0,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"submit": 0
|
||||
},
|
||||
{
|
||||
"doctype": "DocType",
|
||||
"name": "Sales BOM"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "basic_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Sales BOM Item"
|
||||
},
|
||||
{
|
||||
"description": "The Item that represents the Package. This Item must have \"Is Stock Item\" as \"No\" and \"Is Sales Item\" as \"Yes\"",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "new_item_code",
|
||||
"fieldtype": "Link",
|
||||
"label": "Parent Item",
|
||||
"no_copy": 1,
|
||||
"oldfieldname": "new_item_code",
|
||||
"oldfieldtype": "Data",
|
||||
"options": "Item",
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"description": "List items that form the package.",
|
||||
"doctype": "DocField",
|
||||
"fieldname": "item_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Package Items"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "sales_bom_items",
|
||||
"fieldtype": "Table",
|
||||
"label": "Sales BOM Items",
|
||||
"oldfieldname": "sales_bom_items",
|
||||
"oldfieldtype": "Table",
|
||||
"options": "Sales BOM Item",
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"role": "Material Manager",
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"doctype": "DocPerm",
|
||||
"role": "Material User",
|
||||
"write": 0
|
||||
},
|
||||
{
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"doctype": "DocPerm",
|
||||
"role": "Sales User",
|
||||
"write": 1
|
||||
}
|
||||
]
|
||||
@@ -1,20 +0,0 @@
|
||||
test_records = [
|
||||
[
|
||||
{
|
||||
"doctype": "Sales BOM",
|
||||
"new_item_code": "_Test Sales BOM Item"
|
||||
},
|
||||
{
|
||||
"doctype": "Sales BOM Item",
|
||||
"item_code": "_Test Item",
|
||||
"parentfield": "sales_bom_items",
|
||||
"qty": 5.0
|
||||
},
|
||||
{
|
||||
"doctype": "Sales BOM Item",
|
||||
"item_code": "_Test Item Home Desktop 100",
|
||||
"parentfield": "sales_bom_items",
|
||||
"qty": 2.0
|
||||
}
|
||||
],
|
||||
]
|
||||
@@ -1 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
@@ -1,9 +0,0 @@
|
||||
[
|
||||
"Description",
|
||||
"Item",
|
||||
"Qty",
|
||||
"Sales BOM Item",
|
||||
"Rate",
|
||||
"UOM",
|
||||
"Stock"
|
||||
]
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "\u0648\u0635\u0641",
|
||||
"Item": "\u0628\u0646\u062f",
|
||||
"Qty": "\u0627\u0644\u0643\u0645\u064a\u0629",
|
||||
"Rate": "\u0645\u0639\u062f\u0644",
|
||||
"Sales BOM Item": "\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u0633\u0644\u0639\u0629 BOM",
|
||||
"Stock": "\u0627\u0644\u0623\u0648\u0631\u0627\u0642 \u0627\u0644\u0645\u0627\u0644\u064a\u0629",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Beschreibung",
|
||||
"Item": "Artikel",
|
||||
"Qty": "Menge",
|
||||
"Rate": "Rate",
|
||||
"Sales BOM Item": "Vertrieb St\u00fccklistenposition",
|
||||
"Stock": "Lager",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Descripci\u00f3n",
|
||||
"Item": "Art\u00edculo",
|
||||
"Qty": "Cantidad",
|
||||
"Rate": "Velocidad",
|
||||
"Sales BOM Item": "Ventas de art\u00edculo de lista de materiales",
|
||||
"Stock": "Valores",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Description",
|
||||
"Item": "Article",
|
||||
"Qty": "Qt\u00e9",
|
||||
"Rate": "Taux",
|
||||
"Sales BOM Item": "Article nomenclature des ventes",
|
||||
"Stock": "Stock",
|
||||
"UOM": "Emballage"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "\u0935\u093f\u0935\u0930\u0923",
|
||||
"Item": "\u092e\u0926",
|
||||
"Qty": "\u092e\u093e\u0924\u094d\u0930\u093e",
|
||||
"Rate": "\u0926\u0930",
|
||||
"Sales BOM Item": "\u092c\u093f\u0915\u094d\u0930\u0940 \u092c\u0940\u0913\u090f\u092e \u0906\u0907\u091f\u092e",
|
||||
"Stock": "\u0938\u094d\u091f\u0949\u0915",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Opis",
|
||||
"Item": "Stavka",
|
||||
"Qty": "Kol",
|
||||
"Rate": "Stopa",
|
||||
"Sales BOM Item": "Prodaja BOM artikla",
|
||||
"Stock": "Zaliha",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Beschrijving",
|
||||
"Item": "Item",
|
||||
"Qty": "Aantal",
|
||||
"Rate": "Tarief",
|
||||
"Sales BOM Item": "Verkoop BOM Item",
|
||||
"Stock": "Voorraad",
|
||||
"UOM": "Verpakking"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Descri\u00e7\u00e3o",
|
||||
"Item": "Item",
|
||||
"Qty": "Qtde.",
|
||||
"Rate": "Taxa",
|
||||
"Sales BOM Item": "Item da LDM de Vendas",
|
||||
"Stock": "Estoque",
|
||||
"UOM": "UDM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "Descri\u00e7\u00e3o",
|
||||
"Item": "Item",
|
||||
"Qty": "Qty",
|
||||
"Rate": "Taxa",
|
||||
"Sales BOM Item": "Vendas item BOM",
|
||||
"Stock": "Estoque",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "\u041e\u043f\u0438\u0441",
|
||||
"Item": "\u0421\u0442\u0430\u0432\u043a\u0430",
|
||||
"Qty": "\u041a\u043e\u043b",
|
||||
"Rate": "\u0421\u0442\u043e\u043f\u0430",
|
||||
"Sales BOM Item": "\u041f\u0440\u043e\u0434\u0430\u0458\u0430 \u0411\u041e\u041c \u0448\u0438\u0444\u0440\u0430",
|
||||
"Stock": "\u0417\u0430\u043b\u0438\u0445\u0430",
|
||||
"UOM": "\u0423\u041e\u041c"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "\u0bb5\u0bbf\u0bb3\u0b95\u0bcd\u0b95\u0bae\u0bcd",
|
||||
"Item": "\u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf",
|
||||
"Qty": "\u0b85\u0bb3\u0bb5\u0bc1",
|
||||
"Rate": "\u0bb5\u0bbf\u0bb2\u0bc8",
|
||||
"Sales BOM Item": "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 BOM \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd",
|
||||
"Stock": "\u0baa\u0b99\u0bcd\u0b95\u0bc1",
|
||||
"UOM": "\u0bae\u0bc6\u0bbe\u0bb1\u0b9f\u0bcd\u0b9f\u0bc1\u0bb5 \u0baa\u0bb2\u0bcd\u0b95\u0bb2\u0bc8\u0b95\u0bb4\u0b95\u0bae\u0bcd"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Description": "\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30",
|
||||
"Item": "\u0e0a\u0e34\u0e49\u0e19",
|
||||
"Qty": "\u0e08\u0e33\u0e19\u0e27\u0e19",
|
||||
"Rate": "\u0e2d\u0e31\u0e15\u0e23\u0e32",
|
||||
"Sales BOM Item": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 BOM \u0e02\u0e32\u0e22",
|
||||
"Stock": "\u0e04\u0e25\u0e31\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
|
||||
"UOM": "UOM"
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
# ERPNext - web based ERP (http://erpnext.com)
|
||||
# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import webnotes
|
||||
|
||||
class DocType:
|
||||
def __init__(self, d, dl):
|
||||
self.doc, self.doclist = d, dl
|
||||
@@ -1,75 +0,0 @@
|
||||
[
|
||||
{
|
||||
"creation": "2013-02-22 01:28:03",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-03-07 07:03:30",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
{
|
||||
"doctype": "DocType",
|
||||
"istable": 1,
|
||||
"module": "Stock",
|
||||
"name": "__common__"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"name": "__common__",
|
||||
"parent": "Sales BOM Item",
|
||||
"parentfield": "fields",
|
||||
"parenttype": "DocType",
|
||||
"permlevel": 0
|
||||
},
|
||||
{
|
||||
"doctype": "DocType",
|
||||
"name": "Sales BOM Item"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "item_code",
|
||||
"fieldtype": "Link",
|
||||
"label": "Item",
|
||||
"oldfieldname": "item_code",
|
||||
"oldfieldtype": "Link",
|
||||
"options": "Item",
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "qty",
|
||||
"fieldtype": "Float",
|
||||
"label": "Qty",
|
||||
"oldfieldname": "qty",
|
||||
"oldfieldtype": "Currency",
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "description",
|
||||
"fieldtype": "Text",
|
||||
"label": "Description",
|
||||
"oldfieldname": "description",
|
||||
"oldfieldtype": "Text",
|
||||
"print_width": "300px",
|
||||
"width": "300px"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "rate",
|
||||
"fieldtype": "Float",
|
||||
"label": "Rate",
|
||||
"oldfieldname": "rate",
|
||||
"oldfieldtype": "Currency"
|
||||
},
|
||||
{
|
||||
"doctype": "DocField",
|
||||
"fieldname": "uom",
|
||||
"fieldtype": "Link",
|
||||
"label": "UOM",
|
||||
"oldfieldname": "uom",
|
||||
"oldfieldtype": "Link",
|
||||
"options": "UOM",
|
||||
"read_only": 1,
|
||||
"search_index": 0
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user