From 702d07ea7db1a032ee0f617f642f68e6d63a0f77 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 21 Mar 2023 22:48:38 +0530 Subject: [PATCH 01/17] fix: translations and UX in alternative item mapping (#34433) fix: translations and UX in alternative item mapping (#34433) * fix: disable deletion in alternative item mapping * feat: german translations * fix: make string translatable --------- Co-authored-by: Anand Baburajan Co-authored-by: Deepesh Garg (cherry picked from commit 79911734e914b61c9dd8a4af721d462d3dff20c0) Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> --- erpnext/selling/doctype/quotation/quotation.js | 3 ++- erpnext/translations/de.csv | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js index 81ef44d53ed9..83fa472d68ba 100644 --- a/erpnext/selling/doctype/quotation/quotation.js +++ b/erpnext/selling/doctype/quotation/quotation.js @@ -304,6 +304,7 @@ erpnext.selling.QuotationController = class QuotationController extends erpnext. fieldname: "alternative_items", fieldtype: "Table", cannot_add_rows: true, + cannot_delete_rows: true, in_place_edit: true, reqd: 1, data: this.data, @@ -330,7 +331,7 @@ erpnext.selling.QuotationController = class QuotationController extends erpnext. dialog.fields_dict.info.$wrapper.html( `

- Alternative Items + ${__("Alternative Items")}

` ) dialog.show(); diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv index 2aa6dbc0d1c4..3fb637b842f0 100644 --- a/erpnext/translations/de.csv +++ b/erpnext/translations/de.csv @@ -5064,7 +5064,7 @@ Price List Rate (Company Currency),Preisliste (Unternehmenswährung), Rate ,Preis, Rate (Company Currency),Preis (Unternehmenswährung), Amount (Company Currency),Betrag (Unternehmenswährung), -Is Free Item,Ist freies Einzelteil, +Is Free Item,Ist kostenlos, Net Rate,Nettopreis, Net Rate (Company Currency),Nettopreis (Unternehmenswährung), Net Amount (Company Currency),Nettobetrag (Unternehmenswährung), @@ -9915,3 +9915,7 @@ Delivered at Place Unloaded,Geliefert benannter Ort entladen, Delivered Duty Paid,Geliefert verzollt, Discount Validity,Frist für den Rabatt, Discount Validity Based On,Frist für den Rabatt berechnet sich nach, +Select Alternative Items for Sales Order,Alternativpositionen für Auftragsbestätigung auswählen, +Select an item from each set to be used in the Sales Order.,"Wählen Sie aus den Alternativen jeweils einen Artikel aus, der in die Auftragsbestätigung übernommen werden soll.", +Is Alternative,Ist Alternative, +Alternative Items,Alternativpositionen, From 096e5ef19766e032428afd2566817c90e694a16b Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Wed, 22 Mar 2023 11:28:58 +0530 Subject: [PATCH 02/17] fix: Note username overlapping with note content(CRM) (cherry picked from commit 76cea7dd6af93bc849762fc5c9775481ecb6486b) --- erpnext/public/js/templates/crm_notes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/public/js/templates/crm_notes.html b/erpnext/public/js/templates/crm_notes.html index fddeb1c1cc2f..53df93307840 100644 --- a/erpnext/public/js/templates/crm_notes.html +++ b/erpnext/public/js/templates/crm_notes.html @@ -17,7 +17,7 @@ {{ frappe.avatar(notes[i].added_by) }}
-
+
{{ strip_html(notes[i].added_by) }}
From 881e92e7b363e6790d3260da11822ccdb5949d2f Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 23 Mar 2023 00:06:14 +0530 Subject: [PATCH 03/17] fix: remove unused translation (#34519) * fix: remove unused translation (#34519) (cherry picked from commit 0df3a1a3af098da30d5197e22cbd7cb631dc567e) # Conflicts: # erpnext/translations/tr.csv * chore: resolve conflicts --------- Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> --- erpnext/translations/af.csv | 1 - erpnext/translations/am.csv | 1 - erpnext/translations/ar.csv | 1 - erpnext/translations/bg.csv | 1 - erpnext/translations/bn.csv | 1 - erpnext/translations/bs.csv | 1 - erpnext/translations/ca.csv | 1 - erpnext/translations/cs.csv | 1 - erpnext/translations/da.csv | 1 - erpnext/translations/de.csv | 1 - erpnext/translations/el.csv | 1 - erpnext/translations/es.csv | 1 - erpnext/translations/et.csv | 1 - erpnext/translations/fa.csv | 1 - erpnext/translations/fi.csv | 1 - erpnext/translations/fr.csv | 1 - erpnext/translations/gu.csv | 1 - erpnext/translations/he.csv | 1 - erpnext/translations/hi.csv | 1 - erpnext/translations/hr.csv | 1 - erpnext/translations/hu.csv | 1 - erpnext/translations/id.csv | 1 - erpnext/translations/is.csv | 1 - erpnext/translations/it.csv | 1 - erpnext/translations/ja.csv | 1 - erpnext/translations/km.csv | 1 - erpnext/translations/kn.csv | 1 - erpnext/translations/ko.csv | 1 - erpnext/translations/ku.csv | 1 - erpnext/translations/lo.csv | 1 - erpnext/translations/lt.csv | 1 - erpnext/translations/lv.csv | 1 - erpnext/translations/mk.csv | 1 - erpnext/translations/ml.csv | 1 - erpnext/translations/mr.csv | 1 - erpnext/translations/ms.csv | 1 - erpnext/translations/my.csv | 1 - erpnext/translations/nl.csv | 1 - erpnext/translations/no.csv | 1 - erpnext/translations/pl.csv | 1 - erpnext/translations/ps.csv | 1 - erpnext/translations/pt-BR.csv | 1 - erpnext/translations/pt.csv | 1 - erpnext/translations/ro.csv | 1 - erpnext/translations/ru.csv | 1 - erpnext/translations/rw.csv | 1 - erpnext/translations/si.csv | 1 - erpnext/translations/sk.csv | 1 - erpnext/translations/sl.csv | 1 - erpnext/translations/sq.csv | 1 - erpnext/translations/sr.csv | 1 - erpnext/translations/sv.csv | 1 - erpnext/translations/sw.csv | 1 - erpnext/translations/ta.csv | 1 - erpnext/translations/te.csv | 1 - erpnext/translations/th.csv | 1 - erpnext/translations/tr.csv | 1 - erpnext/translations/uk.csv | 1 - erpnext/translations/ur.csv | 1 - erpnext/translations/uz.csv | 1 - erpnext/translations/vi.csv | 1 - erpnext/translations/zh.csv | 1 - erpnext/translations/zh_tw.csv | 1 - 63 files changed, 63 deletions(-) diff --git a/erpnext/translations/af.csv b/erpnext/translations/af.csv index 265e85c0f1d9..f2458e3c9658 100644 --- a/erpnext/translations/af.csv +++ b/erpnext/translations/af.csv @@ -3505,7 +3505,6 @@ Recipient,ontvanger, Reviews,resensies, Sender,sender, Shop,Winkel, -Sign Up,Teken aan, Subsidiary,filiaal, There is some problem with the file url: {0},Daar is 'n probleem met die lêer url: {0}, There were errors while sending email. Please try again.,Daar was foute tydens die stuur van e-pos. Probeer asseblief weer., diff --git a/erpnext/translations/am.csv b/erpnext/translations/am.csv index d13140482130..d4db28586716 100644 --- a/erpnext/translations/am.csv +++ b/erpnext/translations/am.csv @@ -3505,7 +3505,6 @@ Recipient,ተቀባይ, Reviews,ግምገማዎች, Sender,የላኪ, Shop,ሱቅ, -Sign Up,ክፈት, Subsidiary,ተጪማሪ, There is some problem with the file url: {0},ፋይል ዩ አር ኤል ጋር አንድ ችግር አለ: {0}, There were errors while sending email. Please try again.,ኢሜይል በመላክ ላይ ሳለ ስህተቶች ነበሩ. እባክዎ ዳግም ይሞክሩ., diff --git a/erpnext/translations/ar.csv b/erpnext/translations/ar.csv index c0da1c4d76ee..ea2777faf03b 100644 --- a/erpnext/translations/ar.csv +++ b/erpnext/translations/ar.csv @@ -3505,7 +3505,6 @@ Recipient,مستلم, Reviews,التعليقات, Sender,مرسل, Shop,تسوق, -Sign Up,سجل, Subsidiary,شركة فرعية, There is some problem with the file url: {0},هناك بعض المشاكل مع رابط الملف: {0}, There were errors while sending email. Please try again.,كانت هناك أخطاء أثناء إرسال البريد الإلكتروني. يرجى المحاولة مرة أخرى., diff --git a/erpnext/translations/bg.csv b/erpnext/translations/bg.csv index ac6dc7851b22..6839129a319b 100644 --- a/erpnext/translations/bg.csv +++ b/erpnext/translations/bg.csv @@ -3505,7 +3505,6 @@ Recipient,Получател, Reviews,Отзиви, Sender,Подател, Shop,Магазин, -Sign Up,Регистрирай се, Subsidiary,Филиал, There is some problem with the file url: {0},Има някакъв проблем с адреса на файл: {0}, There were errors while sending email. Please try again.,"Имаше грешки при изпращане на имейл. Моля, опитайте отново.", diff --git a/erpnext/translations/bn.csv b/erpnext/translations/bn.csv index 52f7b1c593ae..a944d99ecbf2 100644 --- a/erpnext/translations/bn.csv +++ b/erpnext/translations/bn.csv @@ -3505,7 +3505,6 @@ Recipient,প্রাপক, Reviews,পর্যালোচনা, Sender,প্রেরকের, Shop,দোকান, -Sign Up,নিবন্ধন করুন, Subsidiary,সহায়ক, There is some problem with the file url: {0},ফাইলের URL সঙ্গে কিছু সমস্যা আছে: {0}, There were errors while sending email. Please try again.,ইমেইল পাঠানোর সময় কিছু সমস্যা হয়েছে. অনুগ্রহ করে আবার চেষ্টা করুন., diff --git a/erpnext/translations/bs.csv b/erpnext/translations/bs.csv index 267434f480a7..2d9c26d15b12 100644 --- a/erpnext/translations/bs.csv +++ b/erpnext/translations/bs.csv @@ -3505,7 +3505,6 @@ Recipient,Primalac, Reviews,Recenzije, Sender,Pošiljaoc, Shop,Prodavnica, -Sign Up,Prijaviti se, Subsidiary,Podružnica, There is some problem with the file url: {0},Postoji neki problem sa URL datoteku: {0}, There were errors while sending email. Please try again.,Bilo je grešaka tijekom slanja e-pošte. Molimo pokušajte ponovno ., diff --git a/erpnext/translations/ca.csv b/erpnext/translations/ca.csv index d8c2ef68e6e8..85c62851c8d5 100644 --- a/erpnext/translations/ca.csv +++ b/erpnext/translations/ca.csv @@ -3505,7 +3505,6 @@ Recipient,Receptor, Reviews,Ressenyes, Sender,Remitent, Shop,Botiga, -Sign Up,Registra't, Subsidiary,Filial, There is some problem with the file url: {0},Hi ha una mica de problema amb la url de l'arxiu: {0}, There were errors while sending email. Please try again.,"Hi ha hagut errors a l'enviar el correu electrònic. Si us plau, torna a intentar-ho.", diff --git a/erpnext/translations/cs.csv b/erpnext/translations/cs.csv index 7d570bbdd040..3fb67e787087 100644 --- a/erpnext/translations/cs.csv +++ b/erpnext/translations/cs.csv @@ -3505,7 +3505,6 @@ Recipient,Příjemce, Reviews,Recenze, Sender,Odesilatel, Shop,Obchod, -Sign Up,Přihlásit se, Subsidiary,Dceřiný, There is some problem with the file url: {0},Tam je nějaký problém s URL souboru: {0}, There were errors while sending email. Please try again.,Narazili jsme na problémy při odesílání emailu. Prosím zkuste to znovu., diff --git a/erpnext/translations/da.csv b/erpnext/translations/da.csv index 16b2e878e042..f0654b998da4 100644 --- a/erpnext/translations/da.csv +++ b/erpnext/translations/da.csv @@ -3505,7 +3505,6 @@ Recipient,Modtager, Reviews,Anmeldelser, Sender,Afsender, Shop,Butik, -Sign Up,Tilmelde, Subsidiary,Datterselskab, There is some problem with the file url: {0},Der er nogle problemer med filen url: {0}, There were errors while sending email. Please try again.,Der var fejl under afsendelse af e-mail. Prøv venligst igen., diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv index 3fb637b842f0..8472d04f1cac 100644 --- a/erpnext/translations/de.csv +++ b/erpnext/translations/de.csv @@ -3511,7 +3511,6 @@ Recipient,Empfänger, Reviews,Bewertungen, Sender,Absender, Shop,Laden, -Sign Up,Anmelden, Subsidiary,Tochtergesellschaft, There is some problem with the file url: {0},Es gibt irgend ein Problem mit der Datei-URL: {0}, There were errors while sending email. Please try again.,Beim Versand der E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut., diff --git a/erpnext/translations/el.csv b/erpnext/translations/el.csv index 06b80603e637..c241558e31c7 100644 --- a/erpnext/translations/el.csv +++ b/erpnext/translations/el.csv @@ -3505,7 +3505,6 @@ Recipient,Παραλήπτης, Reviews,Κριτικές, Sender,Αποστολέας, Shop,Κατάστημα, -Sign Up,Εγγραφείτε, Subsidiary,Θυγατρική, There is some problem with the file url: {0},Υπάρχει κάποιο πρόβλημα με το url αρχείο: {0}, There were errors while sending email. Please try again.,Υπήρξαν σφάλματα κατά την αποστολή ηλεκτρονικού ταχυδρομείου. Παρακαλώ δοκιμάστε ξανά ., diff --git a/erpnext/translations/es.csv b/erpnext/translations/es.csv index b216b868bbdb..9996fe54c15d 100644 --- a/erpnext/translations/es.csv +++ b/erpnext/translations/es.csv @@ -3505,7 +3505,6 @@ Recipient,Beneficiario, Reviews,Comentarios, Sender,Remitente, Shop,Tienda., -Sign Up,Regístrate, Subsidiary,Subsidiaria, There is some problem with the file url: {0},Hay un poco de problema con la url del archivo: {0}, There were errors while sending email. Please try again.,"Ha ocurrido un error al enviar el correo electrónico. Por favor, inténtelo de nuevo.", diff --git a/erpnext/translations/et.csv b/erpnext/translations/et.csv index 5d67d81b7945..6e60809fe7b9 100644 --- a/erpnext/translations/et.csv +++ b/erpnext/translations/et.csv @@ -3505,7 +3505,6 @@ Recipient,Saaja, Reviews,Ülevaated, Sender,Lähetaja, Shop,Kauplus, -Sign Up,Registreeri, Subsidiary,Tütarettevõte, There is some problem with the file url: {0},Seal on mõned probleem faili url: {0}, There were errors while sending email. Please try again.,Vigu samas saates email. Palun proovi uuesti., diff --git a/erpnext/translations/fa.csv b/erpnext/translations/fa.csv index 040034d09ec6..7d18e27ad422 100644 --- a/erpnext/translations/fa.csv +++ b/erpnext/translations/fa.csv @@ -3505,7 +3505,6 @@ Recipient,گیرنده, Reviews,بررسی ها, Sender,فرستنده, Shop,فروشگاه, -Sign Up,ثبت نام, Subsidiary,فرعی, There is some problem with the file url: {0},بعضی از مشکل با آدرس فایل وجود دارد: {0}, There were errors while sending email. Please try again.,بودند خطاهای هنگام ارسال ایمیل وجود دارد. لطفا دوباره تلاش کنید., diff --git a/erpnext/translations/fi.csv b/erpnext/translations/fi.csv index 27ea3b8dd45d..c700f60d15c0 100644 --- a/erpnext/translations/fi.csv +++ b/erpnext/translations/fi.csv @@ -3505,7 +3505,6 @@ Recipient,vastaanottaja, Reviews,Arvostelut, Sender,Lähettäjä, Shop,Osta, -Sign Up,Kirjaudu, Subsidiary,tytäryhtiö, There is some problem with the file url: {0},Tiedosto-URL:issa {0} on ongelma, There were errors while sending email. Please try again.,"Lähetettäessä sähköpostia oli virheitä, yrita uudelleen", diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv index bace129213d9..ab9bf7d9c147 100644 --- a/erpnext/translations/fr.csv +++ b/erpnext/translations/fr.csv @@ -3505,7 +3505,6 @@ Recipient,Destinataire, Reviews,Avis, Sender,Expéditeur, Shop,Magasin, -Sign Up,S'inscrire, Subsidiary,Filiale, There is some problem with the file url: {0},Il y a un problème avec l'url du fichier : {0}, There were errors while sending email. Please try again.,Il y a eu des erreurs lors de l'envoi d’emails. Veuillez essayer à nouveau., diff --git a/erpnext/translations/gu.csv b/erpnext/translations/gu.csv index 97adac94db16..b26d2f3d0768 100644 --- a/erpnext/translations/gu.csv +++ b/erpnext/translations/gu.csv @@ -3505,7 +3505,6 @@ Recipient,પ્રાપ્તકર્તા, Reviews,સમીક્ષાઓ, Sender,પ્રેષક, Shop,દુકાન, -Sign Up,સાઇન અપ કરો, Subsidiary,સબસિડીયરી, There is some problem with the file url: {0},ફાઈલ URL સાથે કેટલાક સમસ્યા છે: {0}, There were errors while sending email. Please try again.,ઇમેઇલ મોકલતી વખતે ભૂલો આવી હતી. ફરી પ્રયત્ન કરો., diff --git a/erpnext/translations/he.csv b/erpnext/translations/he.csv index 22b252261fd5..e40b68e504f9 100644 --- a/erpnext/translations/he.csv +++ b/erpnext/translations/he.csv @@ -3505,7 +3505,6 @@ Recipient,נמען, Reviews,ביקורות, Sender,שולח, Shop,חנות, -Sign Up,הירשם, Subsidiary,חברת בת, There is some problem with the file url: {0},יש קצת בעיה עם כתובת אתר הקובץ: {0}, There were errors while sending email. Please try again.,היו שגיאות בעת שליחת דואר אלקטרוני. אנא נסה שוב., diff --git a/erpnext/translations/hi.csv b/erpnext/translations/hi.csv index ca41cf3d9f44..78094d735af0 100644 --- a/erpnext/translations/hi.csv +++ b/erpnext/translations/hi.csv @@ -3505,7 +3505,6 @@ Recipient,प्राप्तकर्ता, Reviews,समीक्षा, Sender,प्रेषक, Shop,दुकान, -Sign Up,साइन अप करें, Subsidiary,सहायक, There is some problem with the file url: {0},फ़ाइल यूआरएल के साथ कुछ समस्या है: {0}, There were errors while sending email. Please try again.,ईमेल भेजने के दौरान त्रुटि . पुन: प्रयास करें ., diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv index 319b80b7c47e..232832f3f97d 100644 --- a/erpnext/translations/hr.csv +++ b/erpnext/translations/hr.csv @@ -3505,7 +3505,6 @@ Recipient,Primalac, Reviews,Recenzije, Sender,Pošiljalac, Shop,Dućan, -Sign Up,Prijavite se, Subsidiary,Podružnica, There is some problem with the file url: {0},Postoji neki problem s datotečnog URL: {0}, There were errors while sending email. Please try again.,Bilo je grešaka tijekom slanja e-pošte. Molimo pokušajte ponovno ., diff --git a/erpnext/translations/hu.csv b/erpnext/translations/hu.csv index 06647281cd60..e3dcd61fb2f5 100644 --- a/erpnext/translations/hu.csv +++ b/erpnext/translations/hu.csv @@ -3505,7 +3505,6 @@ Recipient,Címzett, Reviews,Vélemények, Sender,Küldő, Shop,Bolt, -Sign Up,Regisztrálj, Subsidiary,Leányvállalat, There is some problem with the file url: {0},Van valami probléma a fájl URL-el: {0}, There were errors while sending email. Please try again.,"Email küldés közben hibák voltak. Kérjük, próbálja újra.", diff --git a/erpnext/translations/id.csv b/erpnext/translations/id.csv index 1e507470239c..ccbb002370f3 100644 --- a/erpnext/translations/id.csv +++ b/erpnext/translations/id.csv @@ -3505,7 +3505,6 @@ Recipient,Penerima, Reviews,Ulasan, Sender,Pengirim, Shop,Toko, -Sign Up,Daftar, Subsidiary,Anak Perusahaan, There is some problem with the file url: {0},Ada beberapa masalah dengan url berkas: {0}, There were errors while sending email. Please try again.,Ada kesalahan saat mengirim email. Silakan coba lagi., diff --git a/erpnext/translations/is.csv b/erpnext/translations/is.csv index c20c21eef891..5f11c63abafd 100644 --- a/erpnext/translations/is.csv +++ b/erpnext/translations/is.csv @@ -3505,7 +3505,6 @@ Recipient,viðtakandi, Reviews,Umsagnir, Sender,sendanda, Shop,Shop, -Sign Up,Skráðu þig, Subsidiary,dótturfélag, There is some problem with the file url: {0},Það er einhver vandamál með skrá url: {0}, There were errors while sending email. Please try again.,Það komu upp villur við að senda tölvupóst. Vinsamlegast reyndu aftur., diff --git a/erpnext/translations/it.csv b/erpnext/translations/it.csv index 3d15d5594deb..0dbde45778a7 100644 --- a/erpnext/translations/it.csv +++ b/erpnext/translations/it.csv @@ -3505,7 +3505,6 @@ Recipient,Destinatario, Reviews,Recensioni, Sender,Mittente, Shop,Negozio, -Sign Up,Iscriviti, Subsidiary,Sussidiario, There is some problem with the file url: {0},C'è qualche problema con il file url: {0}, There were errors while sending email. Please try again.,Ci sono stati errori durante l'invio email. Riprova., diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv index a11a9a126a91..210c78ee5df5 100644 --- a/erpnext/translations/ja.csv +++ b/erpnext/translations/ja.csv @@ -3505,7 +3505,6 @@ Recipient,受信者, Reviews,レビュー, Sender,送信者, Shop,店, -Sign Up,サインアップ, Subsidiary,子会社, There is some problem with the file url: {0},ファイルURLに問題があります:{0}, There were errors while sending email. Please try again.,メールの送信中にエラーが発生しました。もう一度お試しください。, diff --git a/erpnext/translations/km.csv b/erpnext/translations/km.csv index bd70595a7b6d..1eb85cca924e 100644 --- a/erpnext/translations/km.csv +++ b/erpnext/translations/km.csv @@ -3505,7 +3505,6 @@ Recipient,អ្នកទទួល, Reviews,ការពិនិត្យឡើងវិញ។, Sender,អ្នកផ្ញើ, Shop,ហាងលក់, -Sign Up,ចុះឈ្មោះ, Subsidiary,ក្រុមហ៊ុនបុត្រសម្ព័ន្ធ, There is some problem with the file url: {0},មានបញ្ហាមួយចំនួនជាមួយនឹងឯកសារ URL គឺ: {0}, There were errors while sending email. Please try again.,មានកំហុសខណៈពេលដែលការផ្ញើអ៊ីម៉ែលនោះទេ។ សូមព្យាយាមម្តងទៀត។, diff --git a/erpnext/translations/kn.csv b/erpnext/translations/kn.csv index 7572a09a0868..4e40c63e576b 100644 --- a/erpnext/translations/kn.csv +++ b/erpnext/translations/kn.csv @@ -3505,7 +3505,6 @@ Recipient,ಗ್ರಾಹಿ, Reviews,ವಿಮರ್ಶೆಗಳು, Sender,ಪ್ರೇಷಕ, Shop,ಅಂಗಡಿ, -Sign Up,ಸೈನ್ ಅಪ್, Subsidiary,ಸಹಕಾರಿ, There is some problem with the file url: {0},ಕಡತ URL ನೊಂದಿಗೆ ಕೆಲವು ಸಮಸ್ಯೆಯಿದೆ: {0}, There were errors while sending email. Please try again.,ಇಮೇಲ್ ಕಳುಹಿಸುವಾಗ ದೋಷಗಳು ಇದ್ದವು. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ ., diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv index b873b73b9cd7..36ec3affcec6 100644 --- a/erpnext/translations/ko.csv +++ b/erpnext/translations/ko.csv @@ -3505,7 +3505,6 @@ Recipient,받는 사람, Reviews,리뷰, Sender,보낸 사람, Shop,상점, -Sign Up,가입, Subsidiary,자회사, There is some problem with the file url: {0},파일 URL 몇 가지 문제가 있습니다 : {0}, There were errors while sending email. Please try again.,이메일을 보내는 동안 오류가 발생했습니다.재시도하십시오., diff --git a/erpnext/translations/ku.csv b/erpnext/translations/ku.csv index 89e12c070b5c..28927a08d105 100644 --- a/erpnext/translations/ku.csv +++ b/erpnext/translations/ku.csv @@ -3505,7 +3505,6 @@ Recipient,Girtevan, Reviews,Nirxandin, Sender,virrêkerî, Shop,Dikan, -Sign Up,Tomar kirin, Subsidiary,Şîrketa girêdayî, There is some problem with the file url: {0},e hinek pirsgirêk bi url file hene: {0}, There were errors while sending email. Please try again.,bûn çewtî dema şandina email heye. Ji kerema xwe careke din biceribîne., diff --git a/erpnext/translations/lo.csv b/erpnext/translations/lo.csv index 778a59b3c2e2..3904308af2fd 100644 --- a/erpnext/translations/lo.csv +++ b/erpnext/translations/lo.csv @@ -3505,7 +3505,6 @@ Recipient,ຜູ້ຮັບ, Reviews,ການທົບທວນຄືນ, Sender,ຜູ້ສົ່ງ, Shop,ບໍລິການຜ່ານ, -Sign Up,ລົງທະບຽນ, Subsidiary,ບໍລິສັດຍ່ອຍ, There is some problem with the file url: {0},ມີບັນຫາບາງຢ່າງກັບ url ໄຟລ໌ແມ່ນ: {0}, There were errors while sending email. Please try again.,ມີຄວາມຜິດພາດໃນຂະນະທີ່ການສົ່ງອີເມວໄດ້. ກະລຸນາພະຍາຍາມອີກເທື່ອຫນຶ່ງ., diff --git a/erpnext/translations/lt.csv b/erpnext/translations/lt.csv index 4721ce43ff38..d05688c6537a 100644 --- a/erpnext/translations/lt.csv +++ b/erpnext/translations/lt.csv @@ -3505,7 +3505,6 @@ Recipient,Gavėjas, Reviews,Atsiliepimai, Sender,Siuntėjas, Shop,parduotuvė, -Sign Up,Registruotis, Subsidiary,filialas, There is some problem with the file url: {0},Yra kai kurie su URL failui problema: {0}, There were errors while sending email. Please try again.,"Nebuvo klaidos Nors siunčiant laišką. Prašau, pabandykite dar kartą.", diff --git a/erpnext/translations/lv.csv b/erpnext/translations/lv.csv index b8499b28c127..d5cf852bc6b9 100644 --- a/erpnext/translations/lv.csv +++ b/erpnext/translations/lv.csv @@ -3505,7 +3505,6 @@ Recipient,Saņēmējs, Reviews,Atsauksmes, Sender,Nosūtītājs, Shop,Veikals, -Sign Up,Pierakstīties, Subsidiary,Filiāle, There is some problem with the file url: {0},Ir dažas problēmas ar faila url: {0}, There were errors while sending email. Please try again.,"Bija kļūdas, nosūtot e-pastu. Lūdzu, mēģiniet vēlreiz.", diff --git a/erpnext/translations/mk.csv b/erpnext/translations/mk.csv index 8ecae03adc7e..e01cb70e926d 100644 --- a/erpnext/translations/mk.csv +++ b/erpnext/translations/mk.csv @@ -3505,7 +3505,6 @@ Recipient,Примачот, Reviews,Прегледи, Sender,Испраќачот, Shop,Продавница, -Sign Up,Регистрирај се, Subsidiary,Подружница, There is some problem with the file url: {0},Има некој проблем со URL-то на фајл: {0}, There were errors while sending email. Please try again.,Имаше грешка при испраќање на е-мејл. Ве молиме обидете се повторно., diff --git a/erpnext/translations/ml.csv b/erpnext/translations/ml.csv index f649e6c83b7f..c5a98b6d2560 100644 --- a/erpnext/translations/ml.csv +++ b/erpnext/translations/ml.csv @@ -3505,7 +3505,6 @@ Recipient,സ്വീകർത്താവ്, Reviews,അവലോകനങ്ങൾ, Sender,അയച്ചയാളുടെ, Shop,കട, -Sign Up,സൈൻ അപ്പ് ചെയ്യുക, Subsidiary,സഹായകന്, There is some problem with the file url: {0},ഫയൽ URL ഉള്ള ചില പ്രശ്നം ഉണ്ട്: {0}, There were errors while sending email. Please try again.,ഇമെയിൽ അയയ്ക്കുമ്പോൾ പിശകുകളുണ്ടായിരുന്നു. വീണ്ടും ശ്രമിക്കുക., diff --git a/erpnext/translations/mr.csv b/erpnext/translations/mr.csv index 38effc1b15a5..21aaa3f8bbf9 100644 --- a/erpnext/translations/mr.csv +++ b/erpnext/translations/mr.csv @@ -3505,7 +3505,6 @@ Recipient,प्राप्तकर्ता, Reviews,पुनरावलोकने, Sender,प्रेषक, Shop,दुकान, -Sign Up,साइन अप करा, Subsidiary,उपकंपनी, There is some problem with the file url: {0},फाइल URL सह काही समस्या आहे: {0}, There were errors while sending email. Please try again.,ई-मेल पाठविताना त्रुटी होत्या. कृपया पुन्हा प्रयत्न करा., diff --git a/erpnext/translations/ms.csv b/erpnext/translations/ms.csv index 4ee650b10462..5a3d986f5b58 100644 --- a/erpnext/translations/ms.csv +++ b/erpnext/translations/ms.csv @@ -3505,7 +3505,6 @@ Recipient,Penerima, Reviews,Ulasan, Sender,Penghantar, Shop,Kedai, -Sign Up,Daftar, Subsidiary,Anak Syarikat, There is some problem with the file url: {0},Terdapat beberapa masalah dengan url fail: {0}, There were errors while sending email. Please try again.,Terdapat ralat semasa menghantar e-mel. Sila cuba sekali lagi., diff --git a/erpnext/translations/my.csv b/erpnext/translations/my.csv index f0d216bbc73f..7638e762ba47 100644 --- a/erpnext/translations/my.csv +++ b/erpnext/translations/my.csv @@ -3505,7 +3505,6 @@ Recipient,လက်လံသူ, Reviews,reviews, Sender,ပေးပို့သူ, Shop,ကုန်ဆိုင်, -Sign Up,အကောင့်ဖွင့်ရန်, Subsidiary,ထောက်ခံသောကုမ္ပဏီ, There is some problem with the file url: {0},ဖိုင်ကို url နှင့်အတူအချို့သောပြဿနာကိုလည်းရှိ၏: {0}, There were errors while sending email. Please try again.,အီးမေးလ်ပို့သည့်အနေဖြင့်အမှားများရှိကြ၏။ ထပ်ကြိုးစားပါ။, diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv index 6ec43a059253..b559c694094b 100644 --- a/erpnext/translations/nl.csv +++ b/erpnext/translations/nl.csv @@ -3505,7 +3505,6 @@ Recipient,Ontvanger, Reviews,beoordelingen, Sender,Afzender, Shop,Winkelen, -Sign Up,Inschrijven, Subsidiary,Dochteronderneming, There is some problem with the file url: {0},Er is een probleem met het bestand url: {0}, There were errors while sending email. Please try again.,Er zijn fouten opgetreden tijdens het versturen van e-mail. Probeer het opnieuw ., diff --git a/erpnext/translations/no.csv b/erpnext/translations/no.csv index df87e81db9ff..20b8916eaf26 100644 --- a/erpnext/translations/no.csv +++ b/erpnext/translations/no.csv @@ -3505,7 +3505,6 @@ Recipient,Mottaker, Reviews,anmeldelser, Sender,Avsender, Shop,Butikk, -Sign Up,Melde deg på, Subsidiary,Datterselskap, There is some problem with the file url: {0},Det er noe problem med filen url: {0}, There were errors while sending email. Please try again.,"Det oppstod feil under sending epost. Vær så snill, prøv på nytt.", diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv index be81e29d7f17..4a93d4987567 100644 --- a/erpnext/translations/pl.csv +++ b/erpnext/translations/pl.csv @@ -3505,7 +3505,6 @@ Recipient,Adresat, Reviews,Recenzje, Sender,Nadawca, Shop,Sklep, -Sign Up,Zapisz się, Subsidiary,Pomocniczy, There is some problem with the file url: {0},Jest jakiś problem z adresem URL pliku: {0}, There were errors while sending email. Please try again.,Wystąpiły błędy podczas wysyłki e-mail. Proszę spróbuj ponownie., diff --git a/erpnext/translations/ps.csv b/erpnext/translations/ps.csv index 68add60cc93d..26cd0a9cbcb8 100644 --- a/erpnext/translations/ps.csv +++ b/erpnext/translations/ps.csv @@ -3505,7 +3505,6 @@ Recipient,دترلاسه کوونکي, Reviews,بیاکتنې, Sender,استوونکی, Shop,شاپ, -Sign Up,ګډون کول, Subsidiary,د متمم, There is some problem with the file url: {0},شتون سره د دوتنې url ځينو ستونزه دا ده: {0}, There were errors while sending email. Please try again.,ایمیل استولو په داسې حال کې تېروتنې شوې دي. لطفا بیا هڅه وکړې., diff --git a/erpnext/translations/pt-BR.csv b/erpnext/translations/pt-BR.csv index cc1c6af91374..edaaddd6a78f 100644 --- a/erpnext/translations/pt-BR.csv +++ b/erpnext/translations/pt-BR.csv @@ -3505,7 +3505,6 @@ Recipient,Destinatário, Reviews,Revisões, Sender,Remetente, Shop,Loja, -Sign Up,Inscrever-se, Subsidiary,Subsidiário, There is some problem with the file url: {0},Há algum problema com a url do arquivo: {0}, There were errors while sending email. Please try again.,Ocorreram erros durante o envio de email. Por favor tente novamente., diff --git a/erpnext/translations/pt.csv b/erpnext/translations/pt.csv index 43bf227e673e..5cc486d8be2d 100644 --- a/erpnext/translations/pt.csv +++ b/erpnext/translations/pt.csv @@ -3505,7 +3505,6 @@ Recipient,Destinatário, Reviews,Rever, Sender,Remetente, Shop,Loja, -Sign Up,Inscrever-se, Subsidiary,Subsidiário, There is some problem with the file url: {0},Há algum problema com a url do arquivo: {0}, There were errors while sending email. Please try again.,"Ocorreram erros durante o envio de e-mail. Por favor, tente novamente.", diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv index 3aab431cdd8d..8f97d072021d 100644 --- a/erpnext/translations/ro.csv +++ b/erpnext/translations/ro.csv @@ -3505,7 +3505,6 @@ Recipient,Destinatar, Reviews,opinii, Sender,Expeditor, Shop,Magazin, -Sign Up,Inscrie-te, Subsidiary,Filială, There is some problem with the file url: {0},Există unele probleme cu URL-ul fișierului: {0}, There were errors while sending email. Please try again.,Au fost erori în timp ce trimiterea de e-mail. Încercaţi din nou., diff --git a/erpnext/translations/ru.csv b/erpnext/translations/ru.csv index 662346f2e5dc..1fc37ddedb6b 100644 --- a/erpnext/translations/ru.csv +++ b/erpnext/translations/ru.csv @@ -3503,7 +3503,6 @@ Recipient,Сторона-реципиент, Reviews,Отзывы, Sender,Отправитель, Shop,Магазин, -Sign Up,Регистрация, Subsidiary,Филиал, There is some problem with the file url: {0},Существует некоторая проблема с файловой URL: {0}, There were errors while sending email. Please try again.,"При отправке электронной почты возникли ошибки. Пожалуйста, попробуйте ещё раз.", diff --git a/erpnext/translations/rw.csv b/erpnext/translations/rw.csv index 6c2b5ddb1008..741f11792f0d 100644 --- a/erpnext/translations/rw.csv +++ b/erpnext/translations/rw.csv @@ -3505,7 +3505,6 @@ Recipient,Uwakiriye, Reviews,Isubiramo, Sender,Kohereza, Shop,Amaduka, -Sign Up,Iyandikishe, Subsidiary,Inkunga, There is some problem with the file url: {0},Hano hari ikibazo na dosiye url: {0}, There were errors while sending email. Please try again.,Habayeho amakosa mugihe wohereje imeri. Nyamuneka gerageza., diff --git a/erpnext/translations/si.csv b/erpnext/translations/si.csv index 5b7823589a48..e5ea9bff7b1f 100644 --- a/erpnext/translations/si.csv +++ b/erpnext/translations/si.csv @@ -3505,7 +3505,6 @@ Recipient,පලමු වරට පිරිනැමු, Reviews,සමාලෝචන, Sender,යවන්නාගේ, Shop,වෙළඳසැල්, -Sign Up,ලියාපදිංචි වන්න, Subsidiary,අනුබද්ධිත සමාගමක්, There is some problem with the file url: {0},ගොනුව url එක සමග යම් ගැටළුවක් වේ: {0}, There were errors while sending email. Please try again.,ඊ-තැපැල් යැවීම අතර දෝෂ ඇතිවිය. කරුණාකර නැවත උත්සාහ කරන්න., diff --git a/erpnext/translations/sk.csv b/erpnext/translations/sk.csv index 446e0be58b7e..d16c49201a37 100644 --- a/erpnext/translations/sk.csv +++ b/erpnext/translations/sk.csv @@ -3505,7 +3505,6 @@ Recipient,Príjemca, Reviews,recenzia, Sender,Odosielateľ, Shop,Obchod, -Sign Up,Prihlásiť Se, Subsidiary,Dceřiný, There is some problem with the file url: {0},Tam je nejaký problém s URL súboru: {0}, There were errors while sending email. Please try again.,Narazili jsme na problémy při odesílání emailu. Prosím zkuste to znovu., diff --git a/erpnext/translations/sl.csv b/erpnext/translations/sl.csv index 8b8ed0111472..08901606c4fc 100644 --- a/erpnext/translations/sl.csv +++ b/erpnext/translations/sl.csv @@ -3505,7 +3505,6 @@ Recipient,Prejemnik, Reviews,Ocene, Sender,Sender, Shop,Trgovina, -Sign Up,Prijavite se, Subsidiary,Hčerinska družba, There is some problem with the file url: {0},Obstaja nekaj problem z datoteko url: {0}, There were errors while sending email. Please try again.,Tam so bile napake pri pošiljanju e-pošte. Prosim poskusi znova., diff --git a/erpnext/translations/sq.csv b/erpnext/translations/sq.csv index 6f4f8e013590..987211ab7a85 100644 --- a/erpnext/translations/sq.csv +++ b/erpnext/translations/sq.csv @@ -3505,7 +3505,6 @@ Recipient,Marrës, Reviews,Shqyrtime, Sender,Dërgues, Shop,Dyqan, -Sign Up,Regjistrohuni, Subsidiary,Ndihmës, There is some problem with the file url: {0},Ka disa probleme me file url: {0}, There were errors while sending email. Please try again.,Ka pasur gabime ndërsa dërguar një email. Ju lutemi provoni përsëri., diff --git a/erpnext/translations/sr.csv b/erpnext/translations/sr.csv index 853c6f3cccee..f6cbb57d201d 100644 --- a/erpnext/translations/sr.csv +++ b/erpnext/translations/sr.csv @@ -3505,7 +3505,6 @@ Recipient,Прималац, Reviews,Коментара, Sender,Пошиљалац, Shop,Продавница, -Sign Up,Пријави се, Subsidiary,Подружница, There is some problem with the file url: {0},Постоји неки проблем са Филе УРЛ: {0}, There were errors while sending email. Please try again.,"Были ошибки при отправке электронной почты . Пожалуйста, попробуйте еще раз .", diff --git a/erpnext/translations/sv.csv b/erpnext/translations/sv.csv index 2a4d6b1fbd34..ec443e90be65 100644 --- a/erpnext/translations/sv.csv +++ b/erpnext/translations/sv.csv @@ -3505,7 +3505,6 @@ Recipient,Mottagare, Reviews,recensioner, Sender,Avsändare, Shop,Shop, -Sign Up,Bli Medlem, Subsidiary,Dotterbolag, There is some problem with the file url: {0},Det finns vissa problem med filen url: {0}, There were errors while sending email. Please try again.,Det fanns fel när du skickar e-post. Var god försök igen., diff --git a/erpnext/translations/sw.csv b/erpnext/translations/sw.csv index 234d33e1066d..989f8b06c88c 100644 --- a/erpnext/translations/sw.csv +++ b/erpnext/translations/sw.csv @@ -3505,7 +3505,6 @@ Recipient,Mpokeaji, Reviews,Maoni, Sender,Sender, Shop,Duka, -Sign Up,Ingia, Subsidiary,Msaidizi, There is some problem with the file url: {0},Kuna tatizo fulani na url ya faili: {0}, There were errors while sending email. Please try again.,Kulikuwa na makosa wakati wa kutuma barua pepe. Tafadhali jaribu tena., diff --git a/erpnext/translations/ta.csv b/erpnext/translations/ta.csv index e7384b36efc9..7314d4be513d 100644 --- a/erpnext/translations/ta.csv +++ b/erpnext/translations/ta.csv @@ -3505,7 +3505,6 @@ Recipient,பெறுபவர், Reviews,விமர்சனங்கள், Sender,அனுப்புபவர், Shop,ஷாப்பிங், -Sign Up,பதிவு செய்யவும், Subsidiary,உப, There is some problem with the file url: {0},கோப்பு URL சில சிக்கல் உள்ளது: {0}, There were errors while sending email. Please try again.,மின்னஞ்சல் அனுப்பும் போது பிழைகள் இருந்தன . மீண்டும் முயற்சிக்கவும்., diff --git a/erpnext/translations/te.csv b/erpnext/translations/te.csv index cd14a7731088..3fb32dc093df 100644 --- a/erpnext/translations/te.csv +++ b/erpnext/translations/te.csv @@ -3505,7 +3505,6 @@ Recipient,స్వీకర్త, Reviews,సమీక్షలు, Sender,పంపినవారు, Shop,షాప్, -Sign Up,చేరడం, Subsidiary,అనుబంధ, There is some problem with the file url: {0},ఫైల్ URL కొన్ని సమస్య ఉంది: {0}, There were errors while sending email. Please try again.,ఇమెయిల్ పంపడం అయితే కొన్ని లోపాలు ఉన్నాయి. మళ్ళి ప్రయత్నించండి., diff --git a/erpnext/translations/th.csv b/erpnext/translations/th.csv index 4ab59bc8e1aa..e371aed72844 100644 --- a/erpnext/translations/th.csv +++ b/erpnext/translations/th.csv @@ -3505,7 +3505,6 @@ Recipient,ผู้รับ, Reviews,ความคิดเห็น, Sender,ผู้ส่ง, Shop,ร้านค้า, -Sign Up,ลงชื่อ, Subsidiary,บริษัท สาขา, There is some problem with the file url: {0},มีปัญหากับ url ของไฟล์เป็น: {0}, There were errors while sending email. Please try again.,มีข้อผิดพลาด ในขณะที่ มี การส่งอีเมล์ โปรดลองอีกครั้ง, diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv index b65494ce32b0..66ea69a1b5b5 100644 --- a/erpnext/translations/tr.csv +++ b/erpnext/translations/tr.csv @@ -3505,7 +3505,6 @@ Recipient,Alıcı, Reviews,yorumlar, Sender,Gönderici, Shop,Mağaza, -Sign Up,Kaydol, Subsidiary,Yardımcı, There is some problem with the file url: {0},Dosya url ile bazı sorun var: {0}, There were errors while sending email. Please try again.,E-posta gönderirken hatalar vardı. Lütfen tekrar deneyin., diff --git a/erpnext/translations/uk.csv b/erpnext/translations/uk.csv index 4e2f63f870e4..83c8d41cb70f 100644 --- a/erpnext/translations/uk.csv +++ b/erpnext/translations/uk.csv @@ -3505,7 +3505,6 @@ Recipient,Одержувач, Reviews,Відгуки, Sender,Відправник, Shop,Магазин, -Sign Up,Зареєструватися, Subsidiary,Дочірня компанія, There is some problem with the file url: {0},Існує деяка проблема з файлової URL: {0}, There were errors while sending email. Please try again.,Були помилки при відправленні електронної пошти. Будь ласка спробуйте ще раз., diff --git a/erpnext/translations/ur.csv b/erpnext/translations/ur.csv index db6518e86b03..8cf0707e3656 100644 --- a/erpnext/translations/ur.csv +++ b/erpnext/translations/ur.csv @@ -3505,7 +3505,6 @@ Recipient,وصول کنندہ, Reviews,جائزہ, Sender,مرسل, Shop,دکان, -Sign Up,سائن اپ, Subsidiary,ماتحت, There is some problem with the file url: {0},فائل URL کے ساتھ کچھ مسئلہ ہے: {0}, There were errors while sending email. Please try again.,ای میل بھیجنے جبکہ غلطیاں تھیں. برائے مہربانی دوبارہ کوشش کریں., diff --git a/erpnext/translations/uz.csv b/erpnext/translations/uz.csv index bb64a15f2b70..1e503769cbd2 100644 --- a/erpnext/translations/uz.csv +++ b/erpnext/translations/uz.csv @@ -3505,7 +3505,6 @@ Recipient,Qabul qiluvchi, Reviews,Sharhlar, Sender,Yuboruvchi, Shop,Do'kon, -Sign Up,Ro'yxatdan o'tish, Subsidiary,Sho'ba korxonasi, There is some problem with the file url: {0},Fayl urlida muammo mavjud: {0}, There were errors while sending email. Please try again.,"E-pochtani yuborishda xatolik yuz berdi. Iltimos, yana bir bor urinib ko'ring.", diff --git a/erpnext/translations/vi.csv b/erpnext/translations/vi.csv index 7317b4b02750..28fecb64271c 100644 --- a/erpnext/translations/vi.csv +++ b/erpnext/translations/vi.csv @@ -3505,7 +3505,6 @@ Recipient,Người nhận, Reviews,Nhận xét, Sender,Người gửi, Shop,Cửa hàng, -Sign Up,Đăng ký, Subsidiary,Công ty con, There is some problem with the file url: {0},Có một số vấn đề với các url của tệp: {0}, There were errors while sending email. Please try again.,Có lỗi khi gửi email. Vui lòng thử lại sau., diff --git a/erpnext/translations/zh.csv b/erpnext/translations/zh.csv index 228ec39ddde7..9ed7420f4630 100644 --- a/erpnext/translations/zh.csv +++ b/erpnext/translations/zh.csv @@ -3505,7 +3505,6 @@ Recipient,收件人, Reviews,评测, Sender,发件人, Shop,商店, -Sign Up,注册, Subsidiary,子机构, There is some problem with the file url: {0},有一些问题与文件的URL:{0}, There were errors while sending email. Please try again.,邮件发送曾发生错误,请重试。, diff --git a/erpnext/translations/zh_tw.csv b/erpnext/translations/zh_tw.csv index 1b7e18637d33..ef4967056773 100644 --- a/erpnext/translations/zh_tw.csv +++ b/erpnext/translations/zh_tw.csv @@ -3282,7 +3282,6 @@ Recipient,接受者, Reviews,評測, Sender,寄件人, Shop,店, -Sign Up,註冊, Subsidiary,副, There is some problem with the file url: {0},有一些問題與文件的URL:{0}, There were errors while sending email. Please try again.,還有在發送電子郵件是錯誤的。請再試一次。, From db01bf5dec74a190452b1c5a95fa59eba4db5c82 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 23 Mar 2023 12:58:32 +0530 Subject: [PATCH 04/17] fix: unset address and contact on trash (backport #34495) (#34560) fix: unset address and contact on trash (#34495) * fix(Customer): unset address and contact on trash * fix(Supplier): unset address and contact on trash --------- Co-authored-by: Sagar Sharma (cherry picked from commit f7bf1b8a0c3327a75d24b35db2abb438edf4a2c4) Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> --- erpnext/buying/doctype/supplier/supplier.py | 15 +++------------ erpnext/selling/doctype/customer/customer.py | 15 +++------------ 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py index bebff1c3acbb..c96519a91538 100644 --- a/erpnext/buying/doctype/supplier/supplier.py +++ b/erpnext/buying/doctype/supplier/supplier.py @@ -128,18 +128,9 @@ def create_primary_address(self): def on_trash(self): if self.supplier_primary_contact: - frappe.db.sql( - """ - UPDATE `tabSupplier` - SET - supplier_primary_contact=null, - supplier_primary_address=null, - mobile_no=null, - email_id=null, - primary_address=null - WHERE name=%(name)s""", - {"name": self.name}, - ) + self.db_set("supplier_primary_contact", None) + if self.supplier_primary_address: + self.db_set("supplier_primary_address", None) delete_contact_and_address("Supplier", self.name) diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index 146ebbd7dfe8..0abbbcf0fc67 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -275,18 +275,9 @@ def validate_credit_limit_on_change(self): def on_trash(self): if self.customer_primary_contact: - frappe.db.sql( - """ - UPDATE `tabCustomer` - SET - customer_primary_contact=null, - customer_primary_address=null, - mobile_no=null, - email_id=null, - primary_address=null - WHERE name=%(name)s""", - {"name": self.name}, - ) + self.db_set("customer_primary_contact", None) + if self.customer_primary_address: + self.db_set("customer_primary_address", None) delete_contact_and_address("Customer", self.name) if self.lead_name: From d2ca6f8d1f36443635d50c27b3134daca494e33e Mon Sep 17 00:00:00 2001 From: Anand Baburajan Date: Thu, 23 Mar 2023 21:08:59 +0530 Subject: [PATCH 05/17] fix: recalculate WDV rate after asset repair [v14] (#34571) fix: recalculate wdv rate after asset repair --- erpnext/assets/doctype/asset/asset.py | 32 +++++++++++-------- .../doctype/asset_repair/asset_repair.py | 24 -------------- 2 files changed, 18 insertions(+), 38 deletions(-) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index ee73729da0a9..47b5f75e6686 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -375,19 +375,12 @@ def _make_depreciation_schedule(self, finance_book, start, date_of_disposal): value_after_depreciation -= flt(depreciation_amount, self.precision("gross_purchase_amount")) # Adjust depreciation amount in the last period based on the expected value after useful life - if ( - finance_book.expected_value_after_useful_life - and ( - ( - n == cint(number_of_pending_depreciations) - 1 - and value_after_depreciation != finance_book.expected_value_after_useful_life - ) - or value_after_depreciation < finance_book.expected_value_after_useful_life - ) - and ( - not self.flags.increase_in_asset_value_due_to_repair - or not finance_book.depreciation_method in ("Written Down Value", "Double Declining Balance") + if finance_book.expected_value_after_useful_life and ( + ( + n == cint(number_of_pending_depreciations) - 1 + and value_after_depreciation != finance_book.expected_value_after_useful_life ) + or value_after_depreciation < finance_book.expected_value_after_useful_life ): depreciation_amount += value_after_depreciation - finance_book.expected_value_after_useful_life skip_row = True @@ -913,11 +906,22 @@ def get_depreciation_rate(self, args, on_validate=False): return 200.0 / args.get("total_number_of_depreciations") if args.get("depreciation_method") == "Written Down Value": - if args.get("rate_of_depreciation") and on_validate: + if ( + args.get("rate_of_depreciation") + and on_validate + and not self.flags.increase_in_asset_value_due_to_repair + ): return args.get("rate_of_depreciation") - value = flt(args.get("expected_value_after_useful_life")) / flt(self.gross_purchase_amount) + if self.flags.increase_in_asset_value_due_to_repair: + value = flt(args.get("expected_value_after_useful_life")) / flt( + args.get("value_after_depreciation") + ) + else: + value = flt(args.get("expected_value_after_useful_life")) / flt(self.gross_purchase_amount) + depreciation_rate = math.pow(value, 1.0 / flt(args.get("total_number_of_depreciations"), 2)) + return flt((100 * (1 - depreciation_rate)), float_precision) def get_pro_rata_amt(self, row, depreciation_amount, from_date, to_date): diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py index eec7ccba7545..47453e303086 100644 --- a/erpnext/assets/doctype/asset_repair/asset_repair.py +++ b/erpnext/assets/doctype/asset_repair/asset_repair.py @@ -56,8 +56,6 @@ def before_submit(self): self.asset_doc.flags.ignore_validate_update_after_submit = True self.asset_doc.prepare_depreciation_data() - if self.asset_doc.calculate_depreciation: - self.update_asset_expected_value_after_useful_life() self.asset_doc.save() def before_cancel(self): @@ -81,8 +79,6 @@ def before_cancel(self): self.asset_doc.flags.ignore_validate_update_after_submit = True self.asset_doc.prepare_depreciation_data() - if self.asset_doc.calculate_depreciation: - self.update_asset_expected_value_after_useful_life() self.asset_doc.save() def after_delete(self): @@ -103,26 +99,6 @@ def check_for_stock_items_and_warehouse(self): title=_("Missing Warehouse"), ) - def update_asset_expected_value_after_useful_life(self): - for row in self.asset_doc.get("finance_books"): - if row.depreciation_method in ("Written Down Value", "Double Declining Balance"): - accumulated_depreciation_after_full_schedule = [ - d.accumulated_depreciation_amount - for d in self.asset_doc.get("schedules") - if cint(d.finance_book_id) == row.idx - ] - - accumulated_depreciation_after_full_schedule = max( - accumulated_depreciation_after_full_schedule - ) - - asset_value_after_full_schedule = flt( - flt(row.value_after_depreciation) - flt(accumulated_depreciation_after_full_schedule), - row.precision("expected_value_after_useful_life"), - ) - - row.expected_value_after_useful_life = asset_value_after_full_schedule - def increase_asset_value(self): total_value_of_stock_consumed = self.get_total_value_of_stock_consumed() From 90ddc4a1e2ff277ef676650c899bc2c172bdbcf5 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 23 Mar 2023 21:49:13 +0530 Subject: [PATCH 06/17] fix: Sales person variance report without item group (#34552) fix: Sales person variance report without item group (#34552) fix: Sales person variance report witout item group (cherry picked from commit 87108be11ae2bb1c99d961696e52df153d765291) Co-authored-by: Deepesh Garg --- .../item_group_wise_sales_target_variance.py | 38 +++++++++++++------ ...son_target_variance_based_on_item_group.py | 2 - 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py index f34f3e34e2ce..7d28f2b90d22 100644 --- a/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py +++ b/erpnext/selling/report/sales_partner_target_variance_based_on_item_group/item_group_wise_sales_target_variance.py @@ -44,20 +44,30 @@ def get_data(filters, period_list, partner_doctype): if not sales_users_data: return - sales_users, item_groups = [], [] + sales_users = [] + sales_user_wise_item_groups = {} for d in sales_users_data: if d.parent not in sales_users: sales_users.append(d.parent) - if d.item_group not in item_groups: - item_groups.append(d.item_group) + sales_user_wise_item_groups.setdefault(d.parent, []) + if d.item_group: + sales_user_wise_item_groups[d.parent].append(d.item_group) date_field = "transaction_date" if filters.get("doctype") == "Sales Order" else "posting_date" - actual_data = get_actual_data(filters, item_groups, sales_users, date_field, sales_field) + actual_data = get_actual_data(filters, sales_users, date_field, sales_field) - return prepare_data(filters, sales_users_data, actual_data, date_field, period_list, sales_field) + return prepare_data( + filters, + sales_users_data, + sales_user_wise_item_groups, + actual_data, + date_field, + period_list, + sales_field, + ) def get_columns(filters, period_list, partner_doctype): @@ -142,7 +152,15 @@ def get_columns(filters, period_list, partner_doctype): return columns -def prepare_data(filters, sales_users_data, actual_data, date_field, period_list, sales_field): +def prepare_data( + filters, + sales_users_data, + sales_user_wise_item_groups, + actual_data, + date_field, + period_list, + sales_field, +): rows = {} target_qty_amt_field = "target_qty" if filters.get("target_on") == "Quantity" else "target_amount" @@ -173,9 +191,9 @@ def prepare_data(filters, sales_users_data, actual_data, date_field, period_list for r in actual_data: if ( r.get(sales_field) == d.parent - and r.item_group == d.item_group and period.from_date <= r.get(date_field) and r.get(date_field) <= period.to_date + and (not sales_user_wise_item_groups.get(d.parent) or r.item_group == d.item_group) ): details[p_key] += r.get(qty_or_amount_field, 0) details[variance_key] = details.get(p_key) - details.get(target_key) @@ -186,7 +204,7 @@ def prepare_data(filters, sales_users_data, actual_data, date_field, period_list return rows -def get_actual_data(filters, item_groups, sales_users_or_territory_data, date_field, sales_field): +def get_actual_data(filters, sales_users_or_territory_data, date_field, sales_field): fiscal_year = get_fiscal_year(fiscal_year=filters.get("fiscal_year"), as_dict=1) dates = [fiscal_year.year_start_date, fiscal_year.year_end_date] @@ -213,7 +231,6 @@ def get_actual_data(filters, item_groups, sales_users_or_territory_data, date_fi WHERE `tab{child_doc}`.parent = `tab{parent_doc}`.name and `tab{parent_doc}`.docstatus = 1 and {cond} - and `tab{child_doc}`.item_group in ({item_groups}) and `tab{parent_doc}`.{date_field} between %s and %s""".format( cond=cond, date_field=date_field, @@ -221,9 +238,8 @@ def get_actual_data(filters, item_groups, sales_users_or_territory_data, date_fi child_table=child_table, parent_doc=filters.get("doctype"), child_doc=filters.get("doctype") + " Item", - item_groups=",".join(["%s"] * len(item_groups)), ), - tuple(sales_users_or_territory_data + item_groups + dates), + tuple(sales_users_or_territory_data + dates), as_dict=1, ) diff --git a/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py b/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py index dda24662bb23..820712234a59 100644 --- a/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py +++ b/erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.py @@ -8,6 +8,4 @@ def execute(filters=None): - data = [] - return get_data_column(filters, "Sales Person") From 8fed33b03bc1d609526e0506eb17612f21b466b0 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Thu, 23 Mar 2023 22:32:11 +0530 Subject: [PATCH 07/17] fix: Time button not working in the job card (cherry picked from commit 34c190b7d6ef177e5dcda9eb9f603cf3d9e970b8) --- erpnext/manufacturing/doctype/job_card/job_card.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/manufacturing/doctype/job_card/job_card.js b/erpnext/manufacturing/doctype/job_card/job_card.js index 619e6bd1a00d..5305db318b19 100644 --- a/erpnext/manufacturing/doctype/job_card/job_card.js +++ b/erpnext/manufacturing/doctype/job_card/job_card.js @@ -83,7 +83,7 @@ frappe.ui.form.on('Job Card', { // and if stock mvt for WIP is required if (frm.doc.work_order) { frappe.db.get_value('Work Order', frm.doc.work_order, ['skip_transfer', 'status'], (result) => { - if (result.skip_transfer === 1 || result.status == 'In Process') { + if (result.skip_transfer === 1 || result.status == 'In Process' || frm.doc.transferred_qty > 0) { frm.trigger("prepare_timer_buttons"); } }); From 57ecac4aa70c8203981a05be8f2368cfbf1ce12a Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Fri, 24 Mar 2023 12:25:03 +0530 Subject: [PATCH 08/17] refactor: additional filters and columns in Payment Ledger report (#34577) 1. 'Party type' and 'Party' filters have been added 2. checkbox to include Amount in Acccount Currency 3. Grouping vouchers on Party 4. Replaced Company with Posting Date (cherry picked from commit f7780cdb58d6678dc4b9ac45a6ab7f0cbd43a3e7) --- .../report/payment_ledger/payment_ledger.js | 37 +++++++++++ .../report/payment_ledger/payment_ledger.py | 64 +++++++++++-------- 2 files changed, 73 insertions(+), 28 deletions(-) diff --git a/erpnext/accounts/report/payment_ledger/payment_ledger.js b/erpnext/accounts/report/payment_ledger/payment_ledger.js index 9779844dc945..a5a4108f1df9 100644 --- a/erpnext/accounts/report/payment_ledger/payment_ledger.js +++ b/erpnext/accounts/report/payment_ledger/payment_ledger.js @@ -37,6 +37,29 @@ function get_filters() { }); } }, + { + "fieldname":"party_type", + "label": __("Party Type"), + "fieldtype": "Link", + "options": "Party Type", + "default": "", + on_change: function() { + frappe.query_report.set_filter_value('party', ""); + } + }, + { + "fieldname":"party", + "label": __("Party"), + "fieldtype": "MultiSelectList", + get_data: function(txt) { + if (!frappe.query_report.filters) return; + + let party_type = frappe.query_report.get_filter_value('party_type'); + if (!party_type) return; + + return frappe.db.get_link_options(party_type, txt); + }, + }, { "fieldname":"voucher_no", "label": __("Voucher No"), @@ -49,6 +72,20 @@ function get_filters() { "fieldtype": "Data", "width": 100, }, + { + "fieldname":"include_account_currency", + "label": __("Include Account Currency"), + "fieldtype": "Check", + "width": 100, + }, + { + "fieldname":"group_party", + "label": __("Group by Party"), + "fieldtype": "Check", + "width": 100, + }, + + ] return filters; diff --git a/erpnext/accounts/report/payment_ledger/payment_ledger.py b/erpnext/accounts/report/payment_ledger/payment_ledger.py index e470c2727e38..8875d2743fe2 100644 --- a/erpnext/accounts/report/payment_ledger/payment_ledger.py +++ b/erpnext/accounts/report/payment_ledger/payment_ledger.py @@ -17,34 +17,26 @@ def __init__(self, filters=None): self.ple = qb.DocType("Payment Ledger Entry") def init_voucher_dict(self): - if self.voucher_amount: - s = set() - # build a set of unique vouchers + # for each ple, using group_by_key to create a key and assign it to +/- list for ple in self.voucher_amount: - key = (ple.voucher_type, ple.voucher_no, ple.party) - s.add(key) - - # for each unique vouchers, initialize +/- list - for key in s: - self.voucher_dict[key] = frappe._dict(increase=list(), decrease=list()) + group_by_key = None + if not self.filters.group_party: + group_by_key = (ple.against_voucher_type, ple.against_voucher_no, ple.party) + else: + group_by_key = (ple.party_type, ple.party) - # for each ple, using against voucher and amount, assign it to +/- list - # group by against voucher - for ple in self.voucher_amount: - against_key = (ple.against_voucher_type, ple.against_voucher_no, ple.party) target = None - if self.voucher_dict.get(against_key): - if ple.amount > 0: - target = self.voucher_dict.get(against_key).increase - else: - target = self.voucher_dict.get(against_key).decrease + if ple.amount > 0: + target = self.voucher_dict.setdefault(group_by_key, {}).setdefault("increase", []) + else: + target = self.voucher_dict.setdefault(group_by_key, {}).setdefault("decrease", []) # this if condition will lose unassigned ple entries(against_voucher doc doesn't have ple) # need to somehow include the stray entries as well. if target is not None: entry = frappe._dict( - company=ple.company, + posting_date=ple.posting_date, account=ple.account, party_type=ple.party_type, party=ple.party, @@ -66,10 +58,10 @@ def build_data(self): for value in self.voucher_dict.values(): voucher_data = [] - if value.increase != []: - voucher_data.extend(value.increase) - if value.decrease != []: - voucher_data.extend(value.decrease) + if value.get("increase"): + voucher_data.extend(value.get("increase")) + if value.get("decrease"): + voucher_data.extend(value.get("decrease")) if voucher_data: # balance row @@ -117,6 +109,12 @@ def build_conditions(self): if self.filters.against_voucher_no: self.conditions.append(self.ple.against_voucher_no == self.filters.against_voucher_no) + if self.filters.party_type: + self.conditions.append(self.ple.party_type == self.filters.party_type) + + if self.filters.party: + self.conditions.append(self.ple.party.isin(self.filters.party)) + def get_data(self): ple = self.ple @@ -134,7 +132,13 @@ def get_data(self): def get_columns(self): options = None self.columns.append( - dict(label=_("Company"), fieldname="company", fieldtype="data", options=options, width="100") + dict( + label=_("Posting Date"), + fieldname="posting_date", + fieldtype="Date", + options=options, + width="100", + ) ) self.columns.append( @@ -160,7 +164,11 @@ def get_columns(self): ) self.columns.append( dict( - label=_("Voucher No"), fieldname="voucher_no", fieldtype="data", options=options, width="100" + label=_("Voucher No"), + fieldname="voucher_no", + fieldtype="Dynamic Link", + options="voucher_type", + width="100", ) ) self.columns.append( @@ -176,8 +184,8 @@ def get_columns(self): dict( label=_("Against Voucher No"), fieldname="against_voucher_no", - fieldtype="data", - options=options, + fieldtype="Dynamic Link", + options="against_voucher_type", width="100", ) ) @@ -209,7 +217,7 @@ def run(self): self.get_columns() self.get_data() - # initialize dictionary and group using against voucher + # initialize dictionary and group using key self.init_voucher_dict() # convert dictionary to list and add balance rows From 67576ad5bdc78aa8ef79b6bf915df2ba87b9e21f Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 24 Mar 2023 15:14:25 +0530 Subject: [PATCH 09/17] feat: deprecate get_customer_list (#34563) feat: deprecate get_customer_list (#34563) (cherry picked from commit 8c7fa5712b303798e4d41c229c4b1b0c476897ef) Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> --- erpnext/hooks.py | 2 +- erpnext/selling/doctype/customer/customer.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index e24038d0c6e2..f1ee370e97ee 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -276,7 +276,7 @@ before_tests = "erpnext.setup.utils.before_tests" standard_queries = { - "Customer": "erpnext.selling.doctype.customer.customer.get_customer_list", + "Customer": "erpnext.controllers.queries.customer_query", } doc_events = { diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index 0abbbcf0fc67..a8665c5d0404 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -451,8 +451,14 @@ def get_nested_links(link_doctype, link_name, ignore_permissions=False): @frappe.whitelist() @frappe.validate_and_sanitize_search_inputs def get_customer_list(doctype, txt, searchfield, start, page_len, filters=None): + from frappe.utils.deprecations import deprecation_warning + from erpnext.controllers.queries import get_fields + deprecation_warning( + "`get_customer_list` is deprecated and will be removed in version 15. Use `erpnext.controllers.queries.customer_query` instead." + ) + fields = ["name", "customer_name", "customer_group", "territory"] if frappe.db.get_default("cust_master_name") == "Customer Name": From 18d813a6561ddc63f6b880d89d0a3b6b2969e786 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 24 Mar 2023 15:14:52 +0530 Subject: [PATCH 10/17] fix: default pos conversion factor set to 1 (#34437) * fix: default pos conversion factor set to 1 (#34437) (cherry picked from commit 08fc686513bf4c6e4980d16a8a67cab731be1fd1) # Conflicts: # erpnext/selling/page/point_of_sale/point_of_sale.py * chore: Resolve conflicts --------- Co-authored-by: Shram Kadia <65490105+Shram007@users.noreply.github.com> Co-authored-by: Deepesh Garg --- .../page/point_of_sale/point_of_sale.py | 96 ++++++++++++------- 1 file changed, 61 insertions(+), 35 deletions(-) diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.py b/erpnext/selling/page/point_of_sale/point_of_sale.py index 5ddebf96f6cf..6ccf45f476cb 100644 --- a/erpnext/selling/page/point_of_sale/point_of_sale.py +++ b/erpnext/selling/page/point_of_sale/point_of_sale.py @@ -16,46 +16,72 @@ def search_by_term(search_term, warehouse, price_list): result = search_for_serial_or_batch_or_barcode_number(search_term) or {} + item_code = result.get("item_code", search_term) + serial_no = result.get("serial_no", "") + batch_no = result.get("batch_no", "") + barcode = result.get("barcode", "") + if not result: + return + item_doc = frappe.get_doc("Item", item_code) + if not item_doc: + return + item = { + "barcode": barcode, + "batch_no": batch_no, + "description": item_doc.description, + "is_stock_item": item_doc.is_stock_item, + "item_code": item_doc.name, + "item_image": item_doc.image, + "item_name": item_doc.item_name, + "serial_no": serial_no, + "stock_uom": item_doc.stock_uom, + "uom": item_doc.stock_uom, + } + if barcode: + barcode_info = next(filter(lambda x: x.barcode == barcode, item_doc.get("barcodes", [])), None) + if barcode_info and barcode_info.uom: + uom = next(filter(lambda x: x.uom == barcode_info.uom, item_doc.uoms), {}) + item.update( + { + "uom": barcode_info.uom, + "conversion_factor": uom.get("conversion_factor", 1), + } + ) - item_code = result.get("item_code") or search_term - serial_no = result.get("serial_no") or "" - batch_no = result.get("batch_no") or "" - barcode = result.get("barcode") or "" - - if result: - item_info = frappe.db.get_value( - "Item", - item_code, - [ - "name as item_code", - "item_name", - "description", - "stock_uom", - "image as item_image", - "is_stock_item", - ], - as_dict=1, - ) - - item_stock_qty, is_stock_item = get_stock_availability(item_code, warehouse) - price_list_rate, currency = frappe.db.get_value( - "Item Price", - {"price_list": price_list, "item_code": item_code}, - ["price_list_rate", "currency"], - ) or [None, None] + item_stock_qty, is_stock_item = get_stock_availability(item_code, warehouse) + item_stock_qty = item_stock_qty // item.get("conversion_factor") + item_stock_qty = item_stock_qty // item.get("conversion_factor", 1) + item.update({"actual_qty": item_stock_qty}) + + price = frappe.get_list( + doctype="Item Price", + filters={ + "price_list": price_list, + "item_code": item_code, + }, + fields=["uom", "stock_uom", "currency", "price_list_rate"], + ) - item_info.update( + def __sort(p): + p_uom = p.get("uom") + if p_uom == item.get("uom"): + return 0 + elif p_uom == item.get("stock_uom"): + return 1 + else: + return 2 + + # sort by fallback preference. always pick exact uom match if available + price = sorted(price, key=__sort) + if len(price) > 0: + p = price.pop(0) + item.update( { - "serial_no": serial_no, - "batch_no": batch_no, - "barcode": barcode, - "price_list_rate": price_list_rate, - "currency": currency, - "actual_qty": item_stock_qty, + "currency": p.get("currency"), + "price_list_rate": p.get("price_list_rate"), } ) - - return {"items": [item_info]} + return {"items": [item]} @frappe.whitelist() From 835edbe80e76ca03dfddeeb6d656ad4b5eeee1d6 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Mar 2023 16:48:53 +0530 Subject: [PATCH 11/17] fix: Party Name in SOA print when viewed from Customer/Supplier master (#34597) fix: Party Name in SOA print when viewed from Customer/Supplier master (#34597) fix: Party Name in SOA print when viewd from Customer/Supplier master (cherry picked from commit 50c1172f29ac695ebb9b86f4947fb580380b58a6) Co-authored-by: Deepesh Garg --- erpnext/accounts/report/general_ledger/general_ledger.js | 5 ++--- erpnext/buying/doctype/supplier/supplier.js | 2 +- erpnext/selling/doctype/customer/customer.js | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/report/general_ledger/general_ledger.js b/erpnext/accounts/report/general_ledger/general_ledger.js index 010284c2ea55..2100f26c1ec8 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.js +++ b/erpnext/accounts/report/general_ledger/general_ledger.js @@ -58,9 +58,8 @@ frappe.query_reports["General Ledger"] = { { "fieldname":"party_type", "label": __("Party Type"), - "fieldtype": "Link", - "options": "Party Type", - "default": "", + "fieldtype": "Autocomplete", + options: Object.keys(frappe.boot.party_account_types), on_change: function() { frappe.query_report.set_filter_value('party', ""); } diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js index f0899b06b57b..1ae6f0364746 100644 --- a/erpnext/buying/doctype/supplier/supplier.js +++ b/erpnext/buying/doctype/supplier/supplier.js @@ -64,7 +64,7 @@ frappe.ui.form.on("Supplier", { // custom buttons frm.add_custom_button(__('Accounting Ledger'), function () { frappe.set_route('query-report', 'General Ledger', - { party_type: 'Supplier', party: frm.doc.name }); + { party_type: 'Supplier', party: frm.doc.name, party_name: frm.doc.supplier_name }); }, __("View")); frm.add_custom_button(__('Accounts Payable'), function () { diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js index 107e4a4759d1..b53f339229b2 100644 --- a/erpnext/selling/doctype/customer/customer.js +++ b/erpnext/selling/doctype/customer/customer.js @@ -123,7 +123,7 @@ frappe.ui.form.on("Customer", { frm.add_custom_button(__('Accounting Ledger'), function () { frappe.set_route('query-report', 'General Ledger', - {party_type: 'Customer', party: frm.doc.name}); + {party_type: 'Customer', party: frm.doc.name, party_name: frm.doc.customer_name}); }, __('View')); frm.add_custom_button(__('Pricing Rule'), function () { From 477cb12240034da391d6fffea13a589fcec83e76 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Mar 2023 16:52:53 +0530 Subject: [PATCH 12/17] fix: Percentage billing in Sales Order (#34606) fix: Percentage billing in Sales Order (#34606) (cherry picked from commit 12ad2aa2e5f5f173c9f52c07fb95e00b069dd403) Co-authored-by: Deepesh Garg --- erpnext/controllers/status_updater.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py index dd2a67032fe4..58cab147a477 100644 --- a/erpnext/controllers/status_updater.py +++ b/erpnext/controllers/status_updater.py @@ -464,7 +464,7 @@ def _update_percent_field(self, args, update_modified=True): ifnull((select ifnull(sum(case when abs(%(target_ref_field)s) > abs(%(target_field)s) then abs(%(target_field)s) else abs(%(target_ref_field)s) end), 0) / sum(abs(%(target_ref_field)s)) * 100 - from `tab%(target_dt)s` where parent='%(name)s' having sum(abs(%(target_ref_field)s)) > 0), 0), 6) + from `tab%(target_dt)s` where parent='%(name)s' and parenttype='%(target_parent_dt)s' having sum(abs(%(target_ref_field)s)) > 0), 0), 6) %(update_modified)s where name='%(name)s'""" % args From ff24b3e40c419b91306246dfedfcccd060b6cd37 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Mar 2023 16:58:22 +0530 Subject: [PATCH 13/17] fix: don't get zero value entries for exchange rate calculation (#34475) fix: don't get zero value entries for exchange rate calculation (#34475) * fix: multiply None by float * chore: remove debug (cherry picked from commit 393bc25e2d98e1435dc3ac88d39907e647d56451) Co-authored-by: Devin Slauenwhite --- .../exchange_rate_revaluation/exchange_rate_revaluation.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py index a4f6a74a5abf..81c2d8bb7389 100644 --- a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py +++ b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py @@ -490,6 +490,8 @@ def calculate_exchange_rate_using_last_gle(company, account, party_type, party): conditions.append(gl.company == company) conditions.append(gl.account == account) conditions.append(gl.is_cancelled == 0) + conditions.append((gl.debit > 0) | (gl.credit > 0)) + conditions.append((gl.debit_in_account_currency > 0) | (gl.credit_in_account_currency > 0)) if party_type: conditions.append(gl.party_type == party_type) if party: From fd6db41b6e4887fcf898e3615d0f0c75c3c45111 Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Tue, 28 Mar 2023 13:27:29 +0530 Subject: [PATCH 14/17] fix: removing redundant validation (cherry picked from commit d52f7e28202ec5359cf7ce03568df0bf39a06a54) --- erpnext/accounts/utils.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index 38aa8056e9cc..4ab0d56f681e 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -451,12 +451,6 @@ def reconcile_against_document(args): # nosemgrep else: update_reference_in_payment_entry(entry, doc, do_not_save=True) - if doc.doctype == "Journal Entry": - try: - doc.validate_total_debit_and_credit() - except Exception as validation_exception: - raise frappe.ValidationError(_(f"Validation Error for {doc.name}")) from validation_exception - doc.save(ignore_permissions=True) # re-submit advance entry doc = frappe.get_doc(entry.voucher_type, entry.voucher_no) From a8567b09e69e41866cb2c3bdcded9563d06dccf2 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Mar 2023 17:20:26 +0530 Subject: [PATCH 15/17] fix: Tax Category not able to set hence it calculating zero tax for item whoes tax template set (#34525) fix: Tax Category not able to set hence it calculating zero tax for item whoes tax template set (#34525) * fix: Tax Category not able to set hence it calculating zero tax for item whoes tax template set * fix: minor change added (cherry picked from commit 7aafc90d583d787da17ed9c70427d9d74f3fdaeb) Co-authored-by: Vishal Dhayagude --- erpnext/accounts/party.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 4e2e2eb12c89..22cff133089f 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -174,6 +174,9 @@ def _get_party_details( party_type, party.name, "tax_withholding_category" ) + if not party_details.get("tax_category") and pos_profile: + party_details["tax_category"] = frappe.get_value("POS Profile", pos_profile, "tax_category") + return party_details From 76b782a03fe28078b992f3ae6f5f25148a8ef4a8 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Fri, 17 Mar 2023 13:53:49 +0530 Subject: [PATCH 16/17] fix: incorrect `Opening Value` in `Stock Balance` report (cherry picked from commit b04a101c11d8c3757303c21dd1496256ca01a240) --- .../report/stock_balance/stock_balance.py | 39 +++++++++++++++---- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py index 0fc642ef207f..66991a907fdc 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.py +++ b/erpnext/stock/report/stock_balance/stock_balance.py @@ -7,7 +7,7 @@ import frappe from frappe import _ -from frappe.query_builder.functions import CombineDatetime +from frappe.query_builder.functions import Coalesce, CombineDatetime from frappe.utils import cint, date_diff, flt, getdate from frappe.utils.nestedset import get_descendants_of @@ -322,6 +322,34 @@ def get_stock_ledger_entries(filters: StockBalanceFilter, items: List[str]) -> L return query.run(as_dict=True) +def get_opening_vouchers(to_date): + opening_vouchers = {"Stock Entry": [], "Stock Reconciliation": []} + + se = frappe.qb.DocType("Stock Entry") + sr = frappe.qb.DocType("Stock Reconciliation") + + vouchers_data = ( + frappe.qb.from_( + ( + frappe.qb.from_(se) + .select(se.name, Coalesce("Stock Entry").as_("voucher_type")) + .where((se.docstatus == 1) & (se.posting_date <= to_date) & (se.is_opening == "Yes")) + ) + + ( + frappe.qb.from_(sr) + .select(sr.name, Coalesce("Stock Reconciliation").as_("voucher_type")) + .where((sr.docstatus == 1) & (sr.posting_date <= to_date) & (sr.purpose == "Opening Stock")) + ) + ).select("voucher_type", "name") + ).run(as_dict=True) + + if vouchers_data: + for d in vouchers_data: + opening_vouchers[d.voucher_type].append(d.name) + + return opening_vouchers + + def get_inventory_dimension_fields(): return [dimension.fieldname for dimension in get_inventory_dimensions()] @@ -330,9 +358,8 @@ def get_item_warehouse_map(filters: StockBalanceFilter, sle: List[SLEntry]): iwb_map = {} from_date = getdate(filters.get("from_date")) to_date = getdate(filters.get("to_date")) - + opening_vouchers = get_opening_vouchers(to_date) float_precision = cint(frappe.db.get_default("float_precision")) or 3 - inventory_dimensions = get_inventory_dimension_fields() for d in sle: @@ -363,11 +390,7 @@ def get_item_warehouse_map(filters: StockBalanceFilter, sle: List[SLEntry]): value_diff = flt(d.stock_value_difference) - if d.posting_date < from_date or ( - d.posting_date == from_date - and d.voucher_type == "Stock Reconciliation" - and frappe.db.get_value("Stock Reconciliation", d.voucher_no, "purpose") == "Opening Stock" - ): + if d.posting_date < from_date or d.voucher_no in opening_vouchers.get(d.voucher_type, []): qty_dict.opening_qty += qty_diff qty_dict.opening_val += value_diff From cff35d7286d0831698d9b8c23dcd18343a02f22a Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Mar 2023 21:09:01 +0530 Subject: [PATCH 17/17] fix: zero rm-cost for batch rm item in SCR (backport #34616) (#34623) fix: zero rm-cost for batch rm item in SCR (#34616) fix: `0` rm-cost for batch rm item in SCR (cherry picked from commit 867d8983046ad175700bc73a6b844320e3efb064) Co-authored-by: Sagar Sharma --- erpnext/controllers/subcontracting_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py index cc80f6ca984c..05754293b776 100644 --- a/erpnext/controllers/subcontracting_controller.py +++ b/erpnext/controllers/subcontracting_controller.py @@ -455,7 +455,7 @@ def __add_supplied_item(self, item_row, bom_item, qty): "allow_zero_valuation": 1, } ) - rm_obj.rate = get_incoming_rate(args) + rm_obj.rate = bom_item.rate if self.backflush_based_on == "BOM" else get_incoming_rate(args) if self.doctype == self.subcontract_data.order_doctype: rm_obj.required_qty = qty