• שדרוג אתר הניהול - חוו"ד המשתמשים

    נעוץ נעול
    1
    36 הצבעות
    1 פוסטים
    1k צפיות
    אין תגובות
  • תקנון קטגוריית עזרה הדדית

    נעוץ נעול הועבר
    1
    16 הצבעות
    1 פוסטים
    1k צפיות
    אין תגובות
  • הקראת זמני התפילות מגוגל שיטס

    10
    0 הצבעות
    10 פוסטים
    112 צפיות
    א
    @BEN-ZION אני בנטפרי אז אני לא יכול לבדוק האם הסקריפט עובד. אם אתה יכול אז תיכנס ללשונית תוספים > Apps Script בחלון שיפתח תמחק את כל מה שכתוב בשורות ותדביק את זה function uploadAllColumnsSequentially() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var baseUrl = "https://www.call2all.co.il/ym/api/UploadTextFile"; // משיכת הטוקן מתא J1 var token = sheet.getRange("J1").getValue(); if (!token) { Browser.msgBox("נא להזין טוקן בתא J1"); return; } var lastColumn = sheet.getLastColumn(); var lastRow = sheet.getLastRow(); var successCount = 0; // לולאה שעוברת על העמודות אחת אחרי השנייה for (var col = 1; col <= lastColumn; col++) { // דילוג על עמודה J (הטוקן) if (col == 10) continue; // קריאת נתיב השלוחה מהתא הראשון (שורה 1) var extensionPath = sheet.getRange(1, col).getValue(); // אם התא הראשון בעמודה ריק - עוברים לעמודה הבאה if (!extensionPath || extensionPath === "") continue; // בניית הנתיב המלא לקובץ var fullPath = "ivr2:1/" + extensionPath + "/000.txt"; // איסוף הנתונים מהעמודה (משורה 2 ומטה) var range = sheet.getRange(2, col, lastRow, 1); var values = range.getValues(); // חיבור הטקסט - כל תא בשורה חדשה var contents = values.map(function(row) { return row[0]; }).filter(function(cell) { return cell !== "" && cell !== null; }).join('\n'); // אם העמודה ריקה מתוכן (מתחת לכותרת), מדלגים if (contents.length === 0) continue; // הגדרת השליחה ל-API var payload = { "token": token, "what": fullPath, "contents": contents }; var options = { "method": "post", "payload": payload, "muteHttpExceptions": true }; // ביצוע השליחה והמתנה לתשובה (סינכרוני) try { var response = UrlFetchApp.fetch(baseUrl, options); var result = JSON.parse(response.getContentText()); if (result.responseStatus === "OK") { console.log("הצלחה: עמודה " + col + " (נתיב " + fullPath + ") הועלתה."); successCount++; } else { console.log("שגיאה בעמודה " + col + ": " + result.message); } // השהייה קלה של חצי שנייה בין שליחה לשליחה לביטחון (אופציונלי) Utilities.sleep(500); } catch (e) { console.log("שגיאה חריגה בעמודה " + col + ": " + e.toString()); } } Browser.msgBox("התהליך הסתיים.\nמספר עמודות שעלו בהצלחה: " + successCount); } ואז תחזור לשיטס ותכניס את הנתונים בעמודות. כל עמודה היא שלוחה שונה. בתא הראשון בעמודה תכניס את הנתיב של השלוחה אליה יעלה. בנוסף בתא j1 תכניס את הטוקן של המערכת. בסיום תחזור לסקריפט ופשוט תפעיל את הסקריפט בלחיצה על כפתור ההפעלה. ההודעות יעלו לשלוחות בתור קובץ טקסט בשם 000 וכך המאזינים ישמעו את הנתונים. אני לא יכול לבדוק את זה אז או שתנסה לבד או שתפתח את זה בנטפרי ואני אנסה לעזור לך.
  • גיבוי המערכת שלכם במחשב האישי בלחיצת כפתור!!!

    2
    0 הצבעות
    2 פוסטים
    9 צפיות
    א
    עידכון! קוד חדש עם הורדה בשיטה שתופסת פחות זיכרון (מיוחד למערכות גדולות), וכן עם מד מהירות ההורדה. הקוד המעודכן <!DOCTYPE html> <html lang="he" dir="rtl"> <head> <meta charset="UTF-8"> <title>גיבוי מערכות ישירות למחשב האישי</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script> <style> body { font-family: 'Segoe UI', Tahoma, sans-serif; margin: 20px; background-color: #f4f7f6; text-align: right; direction: rtl; } .container { max-width: 1100px; margin: auto; background: white; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); } .section { border: 1px solid #e0e0e0; padding: 15px; margin-bottom: 15px; border-radius: 8px; background: #fafafa; } #logArea { background: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 5px; height: 250px; overflow-y: auto; font-family: 'Consolas', monospace; font-size: 13px; margin-top: 10px; } .log-info { color: #4fc3f7; } .log-success { color: #00ff00; font-weight: bold; } .log-error { color: #ff5252; } button { padding: 10px 20px; background: #3498db; color: white; border: none; cursor: pointer; border-radius: 5px; font-weight: bold; transition: background 0.3s; } button:hover { background: #2980b9; } button:disabled { background: #bdc3c7; } input { padding: 10px; margin: 5px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; } .stats-bar { font-weight: bold; color: #2c3e50; margin-bottom: 5px; font-size: 16px; background: #e8f4fd; padding: 10px; border-radius: 5px; display: inline-block; } .progress-container { background: #e0e0e0; border-radius: 20px; height: 25px; margin: 15px 0; overflow: hidden; display: none; } .progress-bar { width: 0%; height: 100%; background: linear-gradient(90deg, #2ecc71, #27ae60); transition: width 0.3s; color: white; text-align: center; line-height: 25px; font-weight: bold; } table { width: 100%; border-collapse: collapse; margin-top: 15px; } th, td { border: 1px solid #ddd; padding: 10px; text-align: right; } tr:nth-child(even) { background: #f9f9f9; } </style> </head> <body> <div class="container"> <h2>גיבוי מערכות ישירות למחשב האישי</h2> <div class="section"> <strong>⚙️ הגדרות:</strong> סרוק שלוחות בעלות <input type="number" id="digitCount" style="width:50px;" value="2"> ספרות. שם קובץ ZIP: <input type="text" id="fileNameInput" value="backup_ivr"> </div> <div class="section"> <strong>1. פרטי המערכת</strong><br> <input type="text" id="srcToken" style="width:350px;" placeholder="הכנס טוקן..."> <input type="text" id="srcPath" value="/"> <button onclick="loadFolder(document.getElementById('srcPath').value)">טען רשימת קבצים</button> </div> <div class="section"> <strong>2. ביצוע הורדה</strong><br> <div id="statsBar" class="stats-bar">מהירות: 0 KB/s | סה"כ ירד: 0 MB</div><br><br> <button id="downloadBtn" onclick="startDownload()" disabled style="background:#27ae60;">בחר מיקום ושמור כקובץ ZIP</button> <div class="progress-container" id="progContainer"> <div id="progBar" class="progress-bar">0%</div> </div> <div id="logArea">מוכן...</div> </div> <div id="fileArea" style="display:none;"> <table> <thead> <tr style="background:#eee"> <th style="width: 40px;"><input type="checkbox" id="masterCheck" checked onclick="toggleAll(this)"></th> <th>סוג</th> <th>שם</th> </tr> </thead> <tbody id="fileTableBody"></tbody> </table> </div> </div> <script> let currentViewPath = "/"; let totalBytes = 0; let startTime = 0; // פונקציית "נשימה" - משחררת את הזיכרון של הדפדפן ומאפשרת לממשק להתעדכן const breathe = () => new Promise(resolve => setTimeout(resolve, 10)); function addLog(msg, type = '') { const logArea = document.getElementById('logArea'); const div = document.createElement('div'); div.className = `log-${type}`; div.innerHTML = `[${new Date().toLocaleTimeString()}] ${msg}`; logArea.appendChild(div); logArea.scrollTop = logArea.scrollHeight; } function updateStats(newBytes) { totalBytes += newBytes; const duration = (Date.now() - startTime) / 1000; const speed = duration > 0 ? (totalBytes / 1024 / duration).toFixed(2) : 0; const mb = (totalBytes / 1024 / 1024).toFixed(2); document.getElementById('statsBar').innerText = `מהירות: ${speed} KB/s | סה"כ ירד: ${mb} MB`; } async function loadFolder(path) { const token = document.getElementById('srcToken').value; const digits = parseInt(document.getElementById('digitCount').value) || 2; if (!token) { alert("נא להזין טוקן"); return; } currentViewPath = path; const tbody = document.getElementById('fileTableBody'); tbody.innerHTML = '<tr><td colspan="3">סורק שלוחות...</td></tr>'; try { const res = await fetch(`https://www.call2all.co.il/ym/api/GetIVR2Dir?token=${token}&path=${path}`); const data = await res.json(); let filesMap = new Map(); if (data.files) data.files.forEach(f => filesMap.set(f.name, f)); const maxRange = Math.pow(10, digits) - 1; const scanPromises = []; for (let i = 0; i <= maxRange; i++) { const n = i.toString(); if (filesMap.has(n)) continue; scanPromises.push( fetch(`https://www.call2all.co.il/ym/api/GetTextFile?token=${token}&what=ivr2:${path}/${n}/ext.ini`) .then(r => r.json()) .then(d => { if (d.contents !== undefined) filesMap.set(n, { name: n, fileType: "DIR" }); }) ); } await Promise.all(scanPromises); tbody.innerHTML = ''; filesMap.forEach(f => { tbody.insertAdjacentHTML('beforeend', ` <tr> <td><input type="checkbox" class="file-check" data-name="${f.name}" data-type="${f.fileType}" checked></td> <td>${f.fileType === "DIR" || !isNaN(f.name) ? "שלוחה" : "קובץ"}</td> <td>${f.name}</td> </tr>`); }); document.getElementById('fileArea').style.display = 'block'; document.getElementById('downloadBtn').disabled = false; addLog("סריקה הושלמה.", "info"); } catch (e) { addLog("שגיאה בסריקה", "error"); } } async function downloadRecursive(token, path, name, type, zipFolder) { const sPath = `${path}/${name}`.replace(/\/+/g, '/'); const digits = parseInt(document.getElementById('digitCount').value) || 2; if (type === "DIR" || !isNaN(name)) { addLog(`מעבד שלוחה: ${sPath}`, "info"); const newFolder = zipFolder.folder(name); try { const iniRes = await fetch(`https://www.call2all.co.il/ym/api/GetTextFile?token=${token}&what=ivr2:${sPath}/ext.ini`); const iniData = await iniRes.json(); if (iniData.contents !== undefined) { newFolder.file("ext.ini.txt", iniData.contents); updateStats(new TextEncoder().encode(iniData.contents).length); } } catch(e) {} const res = await fetch(`https://www.call2all.co.il/ym/api/GetIVR2Dir?token=${token}&path=${sPath}`); const data = await res.json(); let children = data.files || []; const subScan = []; for(let i=0; i <= Math.pow(10, digits)-1; i++) { const n = i.toString(); if(!children.find(c => c.name === n)) { subScan.push(fetch(`https://www.call2all.co.il/ym/api/GetTextFile?token=${token}&what=ivr2:${sPath}/${n}/ext.ini`).then(r => r.json()).then(d => { if(d.contents !== undefined) children.push({name: n, fileType: "DIR"}); })); } } await Promise.all(subScan); for (const f of children) { if (f.name === "ext.ini") continue; await downloadRecursive(token, sPath, f.name, f.fileType, newFolder); await breathe(); // הפסקה קצרה לשחרור זיכרון ברמת התיקייה } } else { try { let finalName = name; if (!name.toLowerCase().match(/\.(mp3|wav|txt)$/)) finalName += ".txt"; const dl = await fetch(`https://www.call2all.co.il/ym/api/DownloadFile?token=${token}&path=ivr2:${sPath}`); const arrayBuffer = await dl.arrayBuffer(); updateStats(arrayBuffer.byteLength); zipFolder.file(finalName, arrayBuffer); // שחרור מהיר של ה-Buffer מהזיכרון הראשי await breathe(); } catch(e) { addLog(`שגיאה ב-${name}`, "error"); } } } async function startDownload() { const token = document.getElementById('srcToken').value; const userFileName = document.getElementById('fileNameInput').value || 'backup'; const selected = Array.from(document.querySelectorAll('.file-check:checked')); if (selected.length === 0) return; let fileHandle = null; if ('showSaveFilePicker' in window) { try { fileHandle = await window.showSaveFilePicker({ suggestedName: `${userFileName}.zip`, types: [{ description: 'ZIP Archive', accept: {'application/zip': ['.zip']} }] }); } catch (e) { return; } } const zip = new JSZip(); document.getElementById('downloadBtn').disabled = true; document.getElementById('progContainer').style.display = 'block'; totalBytes = 0; startTime = Date.now(); for (let i = 0; i < selected.length; i++) { await downloadRecursive(token, currentViewPath, selected[i].dataset.name, selected[i].dataset.type, zip); let p = Math.round(((i + 1) / selected.length) * 100); document.getElementById('progBar').style.width = p + '%'; document.getElementById('progBar').innerText = p + '%'; await breathe(); // הפסקה קריטית בין שלוחות ראשיות } addLog("יוצר ZIP סופי... במערכות גדולות זה יכול לקחת כמה דקות", "success"); // יצירת ה-ZIP עם אופטימיזציה למהירות על פני דחיסה במערכות ענק const content = await zip.generateAsync({ type: "blob", compression: "STORE", // STORE אומר "אל תדחוס", זה הרבה יותר מהר וחוסך CPU streamFiles: true }); if (fileHandle) { const writable = await fileHandle.createWritable(); await writable.write(content); await writable.close(); } else { const link = document.createElement('a'); link.href = URL.createObjectURL(content); link.download = `${userFileName}.zip`; link.click(); } addLog("✅ הגיבוי הסתיים בהצלחה!", "success"); document.getElementById('downloadBtn').disabled = false; } function toggleAll(source) { document.querySelectorAll('.file-check').forEach(cb => cb.checked = source.checked); } </script> </body> </html>
  • קבצים ותוכנות לשימוש במערכות ימות המשיח

    27
    11 הצבעות
    27 פוסטים
    765 צפיות
    א
    קובץ לגיבוי המערכת במחשב האישי שלכם!!! הקוד מצורף <!DOCTYPE html> <html lang="he" dir="rtl"> <head> <meta charset="UTF-8"> <title>הורדת שלוחות למחשב</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script> <style> body { font-family: 'Segoe UI', Tahoma, sans-serif; margin: 20px; background-color: #f4f7f6; text-align: right; direction: rtl; } .container { max-width: 1100px; margin: auto; background: white; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); } .section { border: 1px solid #e0e0e0; padding: 15px; margin-bottom: 15px; border-radius: 8px; background: #fafafa; } #logArea { background: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 5px; height: 250px; overflow-y: auto; font-family: 'Consolas', monospace; font-size: 13px; margin-top: 10px; } .log-info { color: #4fc3f7; } .log-success { color: #00ff00; font-weight: bold; } .log-error { color: #ff5252; } button { padding: 10px 20px; background: #3498db; color: white; border: none; cursor: pointer; border-radius: 5px; font-weight: bold; transition: background 0.3s; } button:hover { background: #2980b9; } button:disabled { background: #bdc3c7; } input { padding: 10px; margin: 5px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; } .token-input { width: 350px; } .config-input { width: 60px; text-align: center; } table { width: 100%; border-collapse: collapse; margin-top: 15px; } th, td { border: 1px solid #ddd; padding: 12px; text-align: right; } .progress-container { background: #e0e0e0; border-radius: 20px; height: 25px; margin: 15px 0; overflow: hidden; display: none; } .progress-bar { width: 0%; height: 100%; background: linear-gradient(90deg, #2ecc71, #27ae60); transition: width 0.3s; color: white; text-align: center; line-height: 25px; font-weight: bold; } </style> </head> <body> <div class="container"> <h2>הורדת מבנה שלוחות למחשב (ZIP)</h2> <div class="section"> <strong>⚙️ הגדרות:</strong> סרוק שלוחות בעלות <input type="number" id="digitCount" class="config-input" value="2" min="1" max="4"> ספרות. שם קובץ לשמירה: <input type="text" id="fileNameInput" placeholder="backup_ivr" value="backup_ivr"> </div> <div class="section"> <strong>1. פרטי המערכת</strong><br> <input type="text" id="srcToken" class="token-input" placeholder="הכנס טוקן מקור..."> <input type="text" id="srcPath" class="path-input" placeholder="נתיב (למשל /)" value="/"> <button onclick="loadFolder(document.getElementById('srcPath').value)">טען רשימת קבצים</button> </div> <div class="section"> <strong>2. ביצוע הורדה</strong><br> <button id="downloadBtn" onclick="startDownload()" disabled style="background:#27ae60;">בחר מיקום והורד ZIP</button> <div class="progress-container" id="progContainer"> <div id="progBar" class="progress-bar">0%</div> </div> <div id="logArea">מוכן...</div> </div> <div id="fileArea" style="display:none;"> <table id="fileTable"> <thead> <tr> <th style="width: 40px;"><input type="checkbox" id="masterCheck" checked onclick="toggleAll(this)"></th> <th>סוג</th> <th>שם</th> </tr> </thead> <tbody id="fileTableBody"></tbody> </table> </div> </div> <script> let currentViewPath = "/"; let zip = new JSZip(); function addLog(msg, type = '') { const logArea = document.getElementById('logArea'); const div = document.createElement('div'); div.className = `log-${type}`; div.innerHTML = `[${new Date().toLocaleTimeString()}] ${msg}`; logArea.appendChild(div); logArea.scrollTop = logArea.scrollHeight; } async function loadFolder(path) { const token = document.getElementById('srcToken').value; const digits = parseInt(document.getElementById('digitCount').value) || 2; const maxRange = Math.pow(10, digits) - 1; if (!token) { alert("נא להזין טוקן"); return; } currentViewPath = path; const tbody = document.getElementById('fileTableBody'); tbody.innerHTML = '<tr><td colspan="3">סורק...</td></tr>'; try { const res = await fetch(`https://www.call2all.co.il/ym/api/GetIVR2Dir?token=${token}&path=${path}`); const data = await res.json(); let filesMap = new Map(); if (data.files) data.files.forEach(f => filesMap.set(f.name, f)); const scanPromises = []; for (let i = 0; i <= maxRange; i++) { const n = i.toString(); if (filesMap.has(n)) continue; scanPromises.push( fetch(`https://www.call2all.co.il/ym/api/GetTextFile?token=${token}&what=ivr2:${path}/${n}/ext.ini`) .then(r => r.json()) .then(d => { if (d.contents !== undefined) filesMap.set(n, { name: n, fileType: "DIR" }); }) .catch(() => {}) ); } await Promise.all(scanPromises); tbody.innerHTML = ''; filesMap.forEach(f => { tbody.insertAdjacentHTML('beforeend', ` <tr> <td><input type="checkbox" class="file-check" data-name="${f.name}" data-type="${f.fileType}" checked></td> <td>${f.fileType === "DIR" || !isNaN(f.name) ? "שלוחה" : "קובץ"}</td> <td>${f.name}</td> </tr>`); }); document.getElementById('fileArea').style.display = 'block'; document.getElementById('downloadBtn').disabled = false; addLog("סריקה הושלמה.", "info"); } catch (e) { addLog("שגיאה בסריקה", "error"); } } async function downloadRecursive(token, path, name, type, zipFolder) { const sPath = `${path}/${name}`.replace(/\/+/g, '/'); const digits = parseInt(document.getElementById('digitCount').value) || 2; if (type === "DIR" || !isNaN(name)) { addLog(`מוריד שלוחה: ${sPath}`, "info"); const newFolder = zipFolder.folder(name); try { const iniRes = await fetch(`https://www.call2all.co.il/ym/api/GetTextFile?token=${token}&what=ivr2:${sPath}/ext.ini`); const iniData = await iniRes.json(); if (iniData.contents !== undefined) newFolder.file("ext.ini.txt", iniData.contents); } catch(e) {} const res = await fetch(`https://www.call2all.co.il/ym/api/GetIVR2Dir?token=${token}&path=${sPath}`); const data = await res.json(); let children = data.files || []; const subScan = []; for(let i=0; i <= Math.pow(10, digits)-1; i++) { const n = i.toString(); if(!children.find(c => c.name === n)) { subScan.push( fetch(`https://www.call2all.co.il/ym/api/GetTextFile?token=${token}&what=ivr2:${sPath}/${n}/ext.ini`) .then(r => r.json()) .then(d => { if(d.contents !== undefined) children.push({name: n, fileType: "DIR"}); }) ); } } await Promise.all(subScan); for (const f of children) { if (f.name === "ext.ini") continue; await downloadRecursive(token, sPath, f.name, f.fileType, newFolder); } } else { try { addLog(`מוריד קובץ: ${sPath}`, "info"); let finalName = name; const lowerName = name.toLowerCase(); const isAudio = lowerName.endsWith('.mp3') || lowerName.endsWith('.wav'); if (!isAudio && !lowerName.endsWith('.txt')) { finalName = name + ".txt"; } const dl = await fetch(`https://www.call2all.co.il/ym/api/DownloadFile?token=${token}&path=ivr2:${sPath}`); const blob = await dl.blob(); zipFolder.file(finalName, blob); } catch(e) { addLog(`שגיאה בהורדת קובץ ${sPath}`, "error"); } } } async function startDownload() { const token = document.getElementById('srcToken').value; const userFileName = document.getElementById('fileNameInput').value || 'backup_ivr'; const selected = Array.from(document.querySelectorAll('.file-check:checked')); if (selected.length === 0) { alert("לא נבחרו קבצים להורדה"); return; } // בקשת מיקום שמירה מהמשתמש לפני תחילת העבודה (בדפדפנים תומכים) let fileHandle = null; try { if ('showSaveFilePicker' in window) { fileHandle = await window.showSaveFilePicker({ suggestedName: `${userFileName}.zip`, types: [{ description: 'ZIP Archive', accept: {'application/zip': ['.zip']}, }], }); } } catch (err) { if (err.name === 'AbortError') return; // המשתמש ביטל את חלונית השמירה addLog("דפדפן לא תומך בבחירת מיקום מראש, ההורדה תתבצע כרגיל בסיום.", "info"); } zip = new JSZip(); document.getElementById('downloadBtn').disabled = true; document.getElementById('progContainer').style.display = 'block'; for (let i = 0; i < selected.length; i++) { const name = selected[i].getAttribute('data-name'); const type = selected[i].getAttribute('data-type'); await downloadRecursive(token, currentViewPath, name, type, zip); let p = Math.round(((i + 1) / selected.length) * 100); document.getElementById('progBar').style.width = p + '%'; document.getElementById('progBar').innerText = p + '%'; } addLog("מכין קובץ ZIP סופי...", "info"); const content = await zip.generateAsync({type:"blob"}); if (fileHandle) { // שמירה למיקום שהמשתמש בחר מראש const writable = await fileHandle.createWritable(); await writable.write(content); await writable.close(); } else { // הורדה רגילה לתיקיית ההורדות const link = document.createElement('a'); link.href = URL.createObjectURL(content); link.download = `${userFileName}.zip`; link.click(); } addLog("✅ ההורדה והשמירה הסתיימו בהצלחה!", "success"); document.getElementById('downloadBtn').disabled = false; } function toggleAll(source) { document.querySelectorAll('.file-check').forEach(cb => cb.checked = source.checked); } </script> </body> </html>
  • 0 הצבעות
    3 פוסטים
    57 צפיות
    א
    @מי-יודע-0 בעיקרון כן ע"י שינוי התווית בשיטס, אני רק לא בטוח שזה עובד. פשוט תגדיר לכל שלוחה ותווית שיטס נפרד. 3.כן, בשיטס. כן , חזרה למיקום האחרון. לא הבנתי. נראה לי שכן במקשים הרגילים (זו שלוחת השמעת קבצים רגילה). נראה לי שבמתמחים טופ במודול של פילרמוני יש את האפשרות הזו.
  • לא יכול לפתוח מערכת

    3
    0 הצבעות
    3 פוסטים
    40 צפיות
    א
    @0101 קרה לי גם. והסתדר בסוף
  • עזרה בשליחת הקלטות למייל

    3
    0 הצבעות
    3 פוסטים
    26 צפיות
    א
    @מרדכי-השמח בהגדרות נשלח רק למייל הראשון ולא לשני
  • המתנה להקשה לאחר השמעת הקבצים / תפריט לאחר השמעה

    4
    0 הצבעות
    4 פוסטים
    31 צפיות
    א
    @שיבקשו-שלשתם ל 2 ו3 התשובה כן ל1 אולי תוסיף אחרי הקובץ קובץ של שקט
  • שמיעת נתונים לפי הקשת תעודת זהות

    7
    1 הצבעות
    7 פוסטים
    27 צפיות
    א
    @המומחה @עימוד הודעות אישיות
  • פתיח לשידור חי

    11
    0 הצבעות
    11 פוסטים
    75 צפיות
    ק
    @אA אהה נכון, אני יכול לקבוע קובץ קבוע...!!! טוב תודה
  • רשימת המחוברים לוואצטאפ פון

    נפתר
    11
    1 הצבעות
    11 פוסטים
    85 צפיות
    מ
    @CUBASE מצוין עבד לי!
  • תגובה למודול הורדת מערכת של דוד מלך ישראל

    17
    1
    0 הצבעות
    17 פוסטים
    55 צפיות
    א
    @דוד_מלך_ישראל ממש כך!!! ברוכים השבים!! אתה לא יכול לחזור לפורום בלי פיתוח חדש?! יישר כח!! תוכל להעלות את זה בתור קובץ להורדה ישירה?
  • כותרת קבועה

    2
    0 הצבעות
    2 פוסטים
    10 צפיות
    א
    @TARR תגדיר בהגדרות הזיהוי שישמיע מהשלוחה הנוכחית
  • כיצד להשמיע הודעה לפי התבנית

    2
    0 הצבעות
    2 פוסטים
    11 צפיות
    א
    @Kovy תעשה פילטר לפי רשימת תפוצה שיפנה כל אחד לשלוחה אליה נרשם
  • העברת קבצים ממערכת למערכת

    19
    0 הצבעות
    19 פוסטים
    278 צפיות
    א
    @מה כתב בהעברת קבצים ממערכת למערכת: FTP שיוריד זה רעיון. להעלות, כבר יש לי כזה קובץ ב"ה.
  • התראות לחשבון האימייל

    5
    0 הצבעות
    5 פוסטים
    24 צפיות
    H
    @המומחה כלוחץ הרשם למנוי "לעזרה למשתמשים" כל מי שמעלה שאלה אתה מקבל את זה למייל . הוא כנראה לחץ הרשם כמנוי.
  • אחרי כל השרשורים אני לא מסתדר עם פתיחת תא קולי

    33
    0 הצבעות
    33 פוסטים
    460 צפיות
    א
    @יוסלה-טראמפ אני מקווה שיהיה לי זמן מחר. אבל אני לא חושב שזה יעזור, אתה פשוט צריך להתקין את מה שהבאתי לך. אצלי זה עבד מצויין.
  • שמיעת פרטי הודעה לפני השמעה

    לא נפתר
    5
    0 הצבעות
    5 פוסטים
    22 צפיות
    נ
    @המנייעס תציץפה
  • האם טקיוצ׳ר עדיין קיים?

    42
    0 הצבעות
    42 פוסטים
    240 צפיות
    H
    @נ.נ גם לי