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

הרבה פעמים נתבקש לדעת מי הם הלקוחות הרדומים, לקוחות שרכשו בעבר, אבל לא רכשו לאחרונה. בפריוריטי אין דוח שעונה על השאלה הזו, בפריוריטי יש בעיקר דוחות פוזיטיביים, של מה כן קרה, אין מספיק תחכום לדעת מה לא קרה…   לשם כך כתבתי את הסקריפט הקצר הזה, שאפשר להריץ בקלות ב 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 );

}
}
}

שימוש בכלי טעינת קבצים 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

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

שליפת חשבונית ספציפית ונתונים ממסך בן בעזרת REST API של פריוריטי

ההסברים באתר של פריוריטי טובים, אך בכמה דברים לא מספיק ברורים.

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

http://prioritysoftware.github.io/restapi/request/#Requesting_Text

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

צריך בעיקר לשים לב לחשבוניות, שלהן יש שלושה מפתחות U.

 

לכן, שליפת חשבונית מס תהייה לפי ה URL הבא:

 

GET serviceRoot/AINVOICES(IVNUM='T83',IVTYPE='A',DEBIT='D')/EXTFILES_SUBFORM

 

 

מפרט מוצר פלאגין פריוריטי ווקומרס גרסה 1.0.5

סנכרון פריוריטי לאתר:

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

חדש – תמונות ממסך הבן נספחים

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

מלאי לפי מסך זמינות מלאי שדה מלאי זמין

אתרים ללקוח

מחירון לקוח ( מחירון אחד לכל משתמש באתר )

סטטוס הזמנות לקוח

סנכרון אתר לפריוריטי:

לקוחות

הזמנות לקוח – לקוח, לקוח מזדמן ותאור לקוח, פנקס

חשבונית מס – לקוח, לקוח מזדמן ותאור לקוח, פנקס

קבלה לקוח, לקוח מזדמן ותאור לקוח, פנקס

פירוט התעודות – מקט, כמות, מחיר כולל מעמ לשורה

פרטי תשלום, כרטיס אשראי תוקף טוקן (לסולקים הבאים: קרדיט גארד, פייפלוס בלבד, אחרים בתוספת תשלום).

פרטי משלוח

הגדרות באתר:

הצגת מחירים ללקוח לפי מחירון

חסימת מחירים למשתמש לא רשום

סטטוס מוצר בפתיחה

טבלת המרה לאמצעי תשלום

טבלת המרה לשיטת משלוח ( הגדרת מקט פריוריטי )

שיוך משתמש אתר למספר לקוח פריוריטי

  • * במידה ויש התאמות בפריוריטי או באתר, הפלאגין מצריך התאמה בתשלום
דילוג לתוכן