اذهب الي المحتوي
أوفيسنا

kinan

عضو جديد 01
  • Posts

    9
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

0 Neutral

عن العضو kinan

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    işleme
  • البلد
    Türkiye

اخر الزوار

بلوك اخر الزوار معطل ولن يظهر للاعضاء

  1. هل لديك رقم للتواصل هذا رقمي +905437127276
  2. مرحبا اخي الكريم
  3. اخي الفاضل احمد عبد الحليم هل يمكن ان اتواصل معك عن طريق اي برنامج بحيث يكون التواصل اسرع؟ هنا طلبك واسفل منه طلبي.
  4. يلا مباشر بعملها وببعتلك
  5. function onEdit(e) { var sheet = e.source.getActiveSheet(); if (sheet.getName() == 'جدول المبيعات') { var range = e.range; var row = range.getRow(); var column = range.getColumn(); // الجزء الجديد للتحقق من العمودين I و J if (column === 9 || column === 10) { var paidZ = sheet.getRange(row, 9).getValue(); var paidM = sheet.getRange(row, 10).getValue(); // إذا تم الدفع كاملًا if (paidZ === true && paidM === true) { // تغيير لون النص ولون الخلية ليكونا متطابقين (أصفر على أصفر) sheet.getRange(row, 1, 1, 10).setFontColor("#ffff01").setBackground("#ffff01"); sheet.getRange(row, 11).setValue('إخفاء'); } else { // إعادة اللون إلى الحالة الافتراضية (أسود على أبيض) sheet.getRange(row, 1, 1, 10).setFontColor("#000000").setBackground("#ffffff"); // إذا لم يتم الدفع كاملًا sheet.getRange(row, 11).setValue('عرض'); } } } // باقي الكود كما هو if ((column === 1 || column === 2) && !range.getValue()) { sheet.getRange(row, 5, 1, 4).clearContent(); return; } if (column === 1 || column === 2) { updateSupplier(row); } if (column === 1 || column === 2 || column === 3) { updateCapital(row); if (column !== 3) { updateSalePrice(row); } updateProfit(row); updateDate(row); } if (column === 3 || column === 6) { updateProfit(row); } } // ... باقي الأكواد (الوظائف الأخرى) كما هي، لا تحتاج لتعديل function updateProfit(row) { var transactionSheet = SpreadsheetApp.getActive().getSheetByName('جدول المبيعات'); // استخدم القيمة الموجودة في العمود أو استخدم صفر إذا كانت القيمة فارغة var salePrice = transactionSheet.getRange(row, 3).getValue() || 0; var capital = transactionSheet.getRange(row, 6).getValue() || 0; // الربح الصافي = السعر - رأس المال var netProfit = salePrice - capital; // كتابة الربح الصافي في العمود H transactionSheet.getRange(row, 8).setValue(netProfit); } // ... باقي الأكواد (الوظائف الأخرى) كما هي، لا تحتاج لتعديل function updateSalePrice(row) { var customerTransactionSheet = SpreadsheetApp.getActive().getSheetByName('معاملات العملاء'); var transactionSheet = SpreadsheetApp.getActive().getSheetByName('جدول المبيعات'); var item = transactionSheet.getRange(row, 1).getValue(); var customer = transactionSheet.getRange(row, 2).getValue(); var itemRow = findRow(customerTransactionSheet, item, 'A'); var customerColumn = findColumn(customerTransactionSheet, customer, '1'); var salePriceCell = transactionSheet.getRange(row, 3); } function updateSupplier(row) { var dataSheet = SpreadsheetApp.getActive().getSheetByName('جدول الداتا'); var transactionSheet = SpreadsheetApp.getActive().getSheetByName('جدول المبيعات'); var data = dataSheet.getDataRange().getValues(); var item = transactionSheet.getRange(row, 1).getValue(); for (var i = 0; i < data.length; i++) { if (data[i][0] == item) { var supplier = data[i][1]; transactionSheet.getRange(row, 5).setValue(supplier); } } } function updateCapital(row) { var dataSheet = SpreadsheetApp.getActive().getSheetByName('جدول الداتا'); var transactionSheet = SpreadsheetApp.getActive().getSheetByName('جدول المبيعات'); var data = dataSheet.getDataRange().getValues(); var item = transactionSheet.getRange(row, 1).getValue(); for (var i = 0; i < data.length; i++) { if (data[i][0] == item) { var capital = data[i][2]; transactionSheet.getRange(row, 6).setValue(capital); } } } function updateDate(row) { var transactionSheet = SpreadsheetApp.getActive().getSheetByName('جدول المبيعات'); // احصل على اسم السلعة واسم العميل var item = transactionSheet.getRange(row, 1).getValue(); var customer = transactionSheet.getRange(row, 2).getValue(); // احصل على القيمة الموجودة في عمود التاريخ var existingDate = transactionSheet.getRange(row, 7).getValue(); // تحقق ما إذا كان كلا من العنصر والعميل ليس فارغًا وما إذا كان التاريخ فارغًا if (item && customer && !existingDate) { // أضف التاريخ والوقت الحاليين في العمود G transactionSheet.getRange(row, 7).setValue(new Date()); } // لا تحتاج لمسح المحتوى إذا كان عنصرًا أو عميلًا فارغًا لأن التاريخ يجب أن يبقى كما هو } // helper function to find the row number of a value in a specific column function findRow(sheet, value, column) { var data = sheet.getRange(column + ":" + column).getValues(); // get all the data in one call for (var i = data.length - 1; i >= 0; i--) { if (data[i][0] == value) return i + 1; } return null; } // helper function to find the column number of a value in a specific row function findColumn(sheet, value, row) { var data = sheet.getRange(row + ":" + row).getValues()[0]; // get all the data in one call for (var i = data.length - 1; i >= 0; i--) { if (data[i] == value) return i + 1; } return null; } هذا الكود الذي يعمل, لكن هنا بعض الأخطاء فيه. مثلا, 1- كان يأخذ اسم العميل وسعره تلقائيا من الداتا لم يعد يفعل ذلك. 2- عندما اقوم بسحب السعر بطريقة السحب والافلات لا يأخذ الأوامر. 3- ينقصه بعض التعديلات, مثل القيام بانشاء جرد حساب خاص لكل عميل, ولم استطع القيام بذلك.
  6. عندي, جدول محاسبة شيت, يحتاج بعض التعديلات لا أعلم من أي ابدأ ولا كيف, هو الان بحالة جيدة لكن التعديلات التي يحتاجها تحتاج انسانا خبيرا, او له نظرة في الاكسل والمحاسبة. كيف يمكنكم مساعدتي؟ الشيت يعمل عن طريق apps script اكواد برمجية وما الى ذلك.
×
×
  • اضف...

Important Information