ERP Priority

דוח לקוחות רדומים או שלא קנו בתקופת זמן האחרונה

הרבה פעמים נתבקש לדעת מי הם הלקוחות הרדומים, לקוחות שרכשו בעבר, אבל לא רכשו לאחרונה. בפריוריטי אין דוח שעונה על השאלה הזו, בפריוריטי יש בעיקר דוחות פוזיטיביים, של מה כן קרה, אין מספיק תחכום לדעת מה לא קרה…   לשם כך כתבתי את הסקריפט הקצר הזה, שאפשר להריץ בקלות ב WINDBI או לחבר לפרוצדורה ודוח, לשימושכם.  

:_FIRST_IV_DATE = (01/01/20);

:_LAST_IV_DATE = (01/01/23);

SELECT CUSTOMERS.CUSTNAME,CUSTOMERS.CUSTDES FROM CUSTOMERS WHERE CUSTOMERS.CUST NOT IN ( SELECT DISTINCT CUST FROM INVOICES WHERE INVOICES.TYPE IN ('E','A','C') AND INVOICES.IVDATE > :_LAST_IV_DATE AND INVOICES.STORNOFLAG <> 'Y' ) AND CUSTOMERS.CUST IN ( SELECT DISTINCT CUST FROM INVOICES WHERE INVOICES.TYPE IN ('E','A','Q') AND INVOICES.IVDATE BETWEEN :_FIRST_IV_DATE AND :_LAST_IV_DATE AND INVOICES.STORNOFLAG <> 'Y' ) FORMAT

;

הסקריפט יציג את כל הלקוחות שרכשו בטווח התאריכים אך לא רכשו לאחר טווח התאריכים הנתון.

בהצלחה!

סנכרון מוצרי וריאציה ומחירון מדורג מפריוריטי לווקומרס והצגת המחירון המדורג בחנות לאחר בחירת וריאציה

לפרטים ראו בסרטון  

תקלה בשימוש ב API של פריוריטי לאחר שדרוג גרסת פריוריטי.

במידה וה API לא עובד, יתכן ולא בוצעה התקנה מלאה של רכיבים בשרת. יש לפעול לפי ההנחיות הבאות:     יש לוודא שקיימת התקנה מאימה של ה – HOSTING BUNDLE  גרסה 6.0 ולבדוק שאין רכיבים גבוהים יותר .NET FRAMEWORK (Minimum Version)  
  • בגרסה 22.1 יש להתקין גם את ASP.NET Core Hosting Bundle, גרסה 6.0, הזמינה להורדה    כאן.
  יש לשים לב להתקין רכיב מתאים לגירסה ולא גרסאות נמוכות/גבוהות יותר אם הותקן רכיב לא מתאים, יש להסיר ולבצע התקנה של הרכיב המתאים. במידה ועדיין לא עזר, יש לעשות RESTART לשרת IIS והתקנת שרת אפליקציה מחדש.

תפעול בעיות תקשורת בין אתרי סחר לשרתי פריוריטי

הרבה פעמים בעת חיבור בין אתר לפריוריטי, נתקלים בבעיות תקשורת. התופעה בעיקר מתבטאת בזה ששרת הווב לא מצליח להגיע לפריוריטי, בכל סוג של פניה, GET POST וכד'. כדי לפתור את הבעיה צריך קודם כל שיתוף פעולה מצד כל הגורמים המעורבים. הסיבות לתקלה מגוונות. חסימה מצד פריוריטי בפירוול. חסימה מצד אירוח השרת בפניות החוצה. הגדרות לא נכונות בפירוול של פריוריטי שנובעות מחוסר זיהוי של הכתובת שממנה יוצאות הבקשות של האתר ווב, מה שנקרא NUTE.   אז מה עושים? צריך לכנס את כל הגורמים ביחד ולוודא שהכל מוגדר נכון. במידה ולאחר פיתחה של פירוול, עדיין אין גישה, כדאי לנסות לבצע בקשה לשרת פריוריטי אחר ולבדוק בלוגים שלו מאיזו כתובת IP הוא קיבל את הגישה.

חידושים בפריוריטי במעבר לענן של אמאזון

אז פריוריטי עוברים לתצורת ענן מלאה על גבי פלטפורמה של אמאזון.

מה זה אומר על סביבת הפיתוח ועל הדרך שבה מפתחים בפריוריטי ?

  • אי אפשר להפעיל תוכנית חיצונית.
  • אין יותר גישה ישירה לקבצים.
  • אין גישה לבסיס הנתונים בצורה ישירה.
  • צריך להתרגל לעבוד רק עם WSCLIENT ולא לפתח יותר עם WINAPP.
  • השינוי היותר משמעותי מבין אלה שפירטתי, הוא שאין בכלל גישה לקבצים.

כמענה לזה, פריוריטי פיתחו טכנולוגיה שמאפשרת לשתף תקיה מקומית עם הענן של פריוריטי.

הרעיון הוא שיש תקיה קבועה בשם FilesAPI ואליה אפשר לרשום ולקרוא קבצים.

למי שלא מכיר, יש פקודה בשם SYSPATH('mail',1) שנותנת את הנתיב של פריוריטי בתוספת התקיה שבפרמטר. בעצם אין יותר משמעות לפרמטר השני, כי הוא מתייחס ל relative or absolut ואין תקיה מקומית אבסולוטית. אפשר לגשת לתקיית השיתוף בדרך הזו.

STRCAT(SYSPATH('mail',1),'FilesAPI)

אפשר להוסיף תקיות משנה לפי הצורך. עדיין לא קיבלתי את הדוקומנטציה איך יוצרים את תקית השיתוף המקומית, ברגע שיפרסמו, אוסיף את זה כאן.

שיטה להוספת תכונות למוצר או גלובאלי באתר ווקומרס

הרבה פעמים יש צורך להוסיף תכונה, וזה ממש בעייתי אחרי שכבר יש תכונות, כי הטעינה מקובץ דורסת את כל התכונות.

הקוד המצורף מטפל בבעיה.

כמובן יש לשמור ב funciton.php של התבנית

add_action( 'init', 'create_new_taxonomy' );
function create_new_taxonomy()
{
if ($_GET['load_attr']) {
global $woocommerce;
$attr_tax = wc_get_attribute_taxonomies();
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM manufactures");
foreach ($results as $row) {
$id = $row->COL1;

//$attr_slug = 'man';
$term_name = $row->COL2;

$taxonomy = 'pa_man'; // The taxonomy

$term_slug = sanitize_title($term_name); // The term "slug"

// Check if the term exist and if not it create it (and get the term ID).
if (!term_exists($term_name, $taxonomy)) {
$term_data = wp_insert_term($term_name, $taxonomy);
$term_id = $term_data['term_id'];
} else {
$term_id = get_term_by('name', $term_name, $taxonomy)->term_id;
}
// get an instance of the WC_Product Object
$product = wc_get_product( $id );

$attributes = (array) $product->get_attributes();

// 1. If the product attribute is set for the product
if( array_key_exists( $taxonomy, $attributes ) ) {
foreach( $attributes as $key => $attribute ){
if( $key == $taxonomy ){
$options = (array) $attribute->get_options();
$options[] = $term_id;
$attribute->set_options($options);
$attributes[$key] = $attribute;
break;
}
}
$product->set_attributes( $attributes );
}
// 2. The product attribute is not set for the product
else {
$attribute = new WC_Product_Attribute();

$attribute->set_id( sizeof( $attributes) + 1 );
$attribute->set_name( $taxonomy );
$attribute->set_options( array( $term_id ) );
$attribute->set_position( sizeof( $attributes) + 1 );
$attribute->set_visible( true );
$attribute->set_variation( false );
$attributes[] = $attribute;

$product->set_attributes( $attributes );
}

$product->save();

// Append the new term in the product
if( ! has_term( $term_name, $taxonomy, $id ))
wp_set_object_terms($id, $term_slug, $taxonomy, true );

}
}
}

חיבור חברות משלוחים לפריוריטי

אז גם אתם נתקלתם מן הסתם בצורך, יש כמות של הזמנות לספק ללקוחות, ההזמנות נמצאות בתוך פריוריטי, עכשיו צריך לפתוח דפדפן, להקיש יוזר וסיסמא, ולהתחבר למערכת השליחויות שאיתה סמנכל הכספים החליט לעבוד לפני שנים.

ובזה לא נגמר העניין, צריך עכשיו להעתיק, שדה אחרי שדה, את כל הנתונים, מהפריוריטי לאתר של חברת המשלוחים, ואז גם להפיק מדבקה, מתוך האתר או בחזרה דרך פריוריטי.

בקיצור, אם יש לכם יותר מכמה משלוחים בודדים ביום, התהליך הזה בלתי נסבל… בדיוק כדי לפתור את הבעיה הזו, נולד הפתרון של PrioriShip  פלאגין משלוחים מתוך הפריוריטי.  

מדובר על פלאגין שמחבר בין פריוריטי לכל חברות המשלוחים המובילות, ללא צורך בפיתוח נוסף, כאשר זרימת המידע נעשית באופן אוטומאטי ופשוט.

ומה אם עובדים עם כמה חברות שליחויות…   אבל למה בעצם לעבוד עם כמה חברות שליחויות ? זו שאלה, מצוינת, אז כדאי לדעת, שכל חברת שליחויות מצטיינת בסוג אחר של שליחות, גודל חבילות, אזור בארץ, שילוח בקירור וכדומה. בנוסף, וזה סוג של סוד בין המבינים בתחום, לכל חברת משלוחים יש גבול קיבלות יומי, שאחריו היא מתחילה לאחר במשלוחים. וזו סיבה מצויינת לעבוד עם כמה חברות. טוב בסדר, אז אני יעבוד עם כמה חברות, אבל איך אני אדע מי עמוסה… ? כאן 'פאקסי' נכנסים לתמונה. ועל זה בפוסט הבא…

לאחר שנים של עבודה שחורה והקלדה, סוף סוף פתרון פשוט יעיל ונוח…

שימוש בכלי טעינת קבצים DBLOAD של פריוריטי

עדכון נתונים דרך טעינת קובץ

 

ניתן לעדכן נתונים במסך/ טבלה מסויימת ע"י הכלי – טעינה מקובץ.

שלבים:

  • יש להכין קובץ אקסל מתאים לטעינה – לדוגמא אם נרצה לעדכן לפריטים את שדה "עונה".

 

להבנה כללית מאיפה הגיעו המספרים של העונה:

 

2)יש לשמור את הקובץ בפורמט tab delimited בתקייה בשרת במסלול הבא:

 

3) יש להיכנס למסך " הגדרת טעינה"

מסלול: מנהל המערכת > ממשקים > ממשקים לטבלאות > הגדרת טעינה

שם הקובץ – יש לכתוב את שם קובץ ה-txt אותו אנו רוצים לטעון.

 

4) יש להגדיר במסך הבן "עמודות רשומות הקלט" את המשתנים אותם אנו מזינים בקובץ (במקרה שלנו מק"ט ו id עונה)

5) יש להגדיר במסך הבן "שאילתת טעינה" את השאילתה המתאימה לעדכון השדה הרצוי

6) יש לבצע טעינה של הקובץ:

מנהל המערכת > ממשקים > ממשקים לטבלאות > טעינה

בקלט יש לרשום את שם הקובץ אותו הכנו (סעיף 1)

 

הגדרות מתזמן של וורד פרס

וורד פרס רץ על שרתי לינוקס. לשרתי לינוקס יש מתזמן שנקרא CRON.

בוורד פרס, יש מתזמן פנימי, שנקרא WP CRON אך הוא לא אמת רץ ברקע בתזמון שנקבע, אלא מופעל כל פעם שמתשמש גולש באתר.

כלומר, אם במשך הלילה לא נכנס אף מתשמש לאתר, ה מתזמן לא רץ.

לכן, יש לבצע הגדרות בשרת האתר, כך שהמתזמן של וורד פרס יהיה כבוי, ובמקומו ירוץ המתזמן האמיתי של השרת, ויפעיל את המשימות המתוזמנות שהוגדרות בפלאגין פריוריטי ווקומרס.

מומלץ לחפש בגוגל לפי DISABLE WP CRON ולקבל מידע משירות האירוח איך לבצע את הפעולה.

אפשר להעזר במידע בלינק הזה


http://www.siteground.com/tutorials/wordpress/real-cron-job/

בנוסף, מומלץ להתקין בשרת הוורד פרס תוסף בשם CRONTROL אשר מאפשר לראות את כל המשימות המתוזמנות שהוגדרו וגם לשנות את התזמון לכל איטרוול שרוצים

חיבור קונימבו לפריוריטי זום

פלאגין קונימבו לפריוריטי או זום.

מאפשר שליחת כל ההזמנות המתבצעות בקונימבו ישירות למערכת הפריוריטי.

הפלאגין מצריך רשיון API מקונימבו וכן רכישה אצלנו.

לפרטים נוספים צור קשר.

הגדרות התוסף:

ההגדרות הן פר משתמש. לכל משתמש יש להגדיר את פרטי החיבור שקיבלת מקונימבו.

יש להגדיר גם תאריך הסנכרון האחרון, כדי לא לסנכרן הזמנות ישנות מדי.

יש להגדיר את פרטי החיבור למערכת פריוריטי זום.

חשוב לציין את מספר הלקוח המזדמן עליו יפתחו ההזמנות בפריוריטי! (ראה בחלק התחתון של צילום המסך מעל כיתוב זה)

יש להגדיר קודי תשלום בהתאם לקיים בקונימבו לפי טבלת ההמרה הזו:

במידה ויש שגיאה בשידור, ישלח מייל עם התראה למייל שמוגדר למשתמש וגם למנהל הראשי של שרת הניהול.

ניתן לבצע שידור יזום של הזמנה ספציפי, וגם לבצע שידור ללא מקטים, במידה ויש בעיה של ניהול המקטים במערכת הפריוריטי זום, וזאת על ידי סימון הצק בוקס Debug והזנת מספר הזמנה בשדה Debug Order

כל הזמנה שסונכרנה לפריוריטי, תופיע במסך הבקרה עם מספר ההזמנה שנפתחה לה בפריוריטי. ניתן לחפש במסך זה לפי שם הלקוח, מספר הזמנה קונימבו או מספר הזמנה פריוריטי.

דילוג לתוכן