[REST API] עדכון\מחיקה של מוצר בן ממסך מוצרים

פורומים אפיון ופיתוח פריוריטי [REST API] עדכון\מחיקה של מוצר בן ממסך מוצרים

  • Post
    DavidH
    משתתף
    IL
    מידע מקדים:
    <p dir="ltr">METADATA:</p>

    <EntityType Name="PARTARC">
        <Key>
            <PropertyRef Name="RVFROMDATE" />
            <PropertyRef Name="ACT" />
            <PropertyRef Name="SON" />
            <PropertyRef Name="SONACT" />
        </Key>
        .
        .
        <Property Name="RVFROMDATE" Type="Edm.DateTimeOffset" />
        <Property Name="ACT" Type="Edm.Int64" />
        <Property Name="SON" Type="Edm.Int64" />
        <Property Name="SONACT" Type="Edm.Int64" />
    </EntityType>
    כדי למחוק או לעדכן מוצר בן באמצעות ה-API אני נדרש לספק את כל המפתחות בבקשה בפורמט ODATA.
    הבקשה שלי נראת כך:
    /odata/Priority/tabula.ini/demo/PART('012')/PARTARC_SUBFORM(RVFROMDATE='1989-01-01T00:00:00+02:00', ACT='-3', SON='20', SONACT='-3')
    בשלב הראשון אני מנסה לקבל גישה לשורה יחידה עם בקשת GET כדי לראות שבאמת שהכל עובד כמו שצריך, לצערי אני לא מצליח למרות שזה אמור להיות פשוט.
    אני מנחש שאני לא מספק את המפתח מסוג Edm.DateTimeOffset נכון בגלל שזה היחיד שיוצא דופן.
    ניסיתי לחפש stackoverflow תשובות וראיתי שבחלק מהמקרים אנשים מציבים תאריכים כך:
    RVFROMDATE=datetime'1989-01-01T00:00:00+02:00'
    RVFROMDATE=datetimeoffset'1989-01-01T00:00:00+02:00'
    אבל גם זה לא עבד לי, יכול להיות שפריוריטי לא תומכת עוד במפתחות מסוג תאריך?
    תודה רבה לעוזרים!
מוצגות 11 תגובות – 1 עד 11 (מתוך 11 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    אין לי נסיון עם זה בכלל אבל הייתי מנחש שיכול להיות שזה כן עובד עם מפתח של תאריך רק אתה צריך להעביר לא תאריך קריא כזה אלא הערך ה-INT של התאריך שפריורטי מכיר (דקות מאז 01/01/88)
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    DavidH
    משתתף
    IL
    רעיון יפה אבל לצערי גם לא עובד
    odata/Priority/tabula.ini/demo/PART('012')/PARTEXTFILE_SUBFORM(RVFROMDATE='599608800000', ACT='-3', SON='20', SONACT='-3')
    ניסיתי גם במילי-שניות (599608800000) וגם בשניות (599608800).
    • התגובה הזו עודכנה לפני לפני 4 שנים, 11 חודשים ע"י DavidH.
    • התגובה הזו עודכנה לפני לפני 4 שנים, 11 חודשים ע"י DavidH.
    DavidH
    משתתף
    IL
    הבנתי איך צריך לרשום את התאריך ועלתה בעיה חדשה…

    odata/Priority/tabula.ini/demo/PART('012')/PARTARC_SUBFORM(RVFROMDATE=1989-01-01T00:00:00+02:00,ACT=-3,SON=1,SONACT=-3)

    אני מצליח לקבל את המוצר בן עם בקשת GET אבל כשאני משנה ל-DELETE הוא מתלונן שאני לא מספק מפתח מלא

    {
        "FORM": {
            "@TYPE": "PART",
            "InterfaceErrors": {
                "@XmlFormat": "0",
                "text": "אין ברשומה מפתח מלא. -2 שורה"
            }
        }
    }
    אם לא היה מפתח מלא גם הבקשת GET לא הייתה עובדת.. או שאני טועה?
    yitzchok
    משתתף
    IL
    יכול להיות, ונשמע, של-DELETE אתה חייב לציין רשומה ספציפית ע"י מפתח

    איך שאתנ עושה GET יכול להיות שזה מביא מספר רשומות? זה יהיה סימן שאתה לא שולף לפי מפתח מלא

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    DavidH
    משתתף
    IL
    ב-GET אני מקבל רשומה 1 בוודאות

     

    {
        "@odata.context": "https://*********/odata/Priority/tabula.ini/demo/$metadata#PART('012')/PARTARC_SUBFORM/$entity",
        "SONNAME": "300",
        "TYPE": "P",
        "SONDES": "כסא גדול",
        "SONREVNAME": null,
        "SONQUANT": 3.000,
        "UNITNAME": "יח'",
        "COEF": 3.0000000,
        "OP": "C",
        "VARNAME": null,
        "SCRAP": 0.0000000,
        "ACTNAME": "MANU",
        "SONACTNAME": "MANU",
        "INFOONLY": "Y",
        "USERLOGIN": "*****",
        "UDATE": "2020-01-05T12:19:00+02:00",
        "RVFROMDATE": "1989-01-01T00:00:00+02:00",
        "ACT": 1,
        "SON": 15,
        "SONACT": 1
    }
    yitzchok
    משתתף
    IL
    <p style="text-align: right;">אבל זה בגלל שלמוצר זה יש בן אחד, או בגלל ששלפת בן מסוים לפי המפתח שלו?</p>
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    DavidH
    משתתף
    IL
    לפי מפתח, יש 3 מוצרי בן.

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

    אם מעניין אותך לעקוב כאן אני מבצע את כל הבדיקות בנוגע לבעיה הזו

    https://documenter.getpostman.com/view/7995744/SWLe77xA

    • התגובה הזו עודכנה לפני לפני 4 שנים, 10 חודשים ע"י DavidH.
    • התגובה הזו עודכנה לפני לפני 4 שנים, 10 חודשים ע"י DavidH.
    yitzchok
    משתתף
    IL
    יש יקרה אם תעביר ב-BODY את כל הערכים הבאים?

    PART (אולי אפשר לוותר על זה)

    SON

    SONACT

    ACT

    RVFROMDATE

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    DavidH
    משתתף
    IL
    גם את זה ניסיתי אתמול – אפילו הגעתי למצב שאני מנסה להעביר את כל הפרמטרים בגוף הבקשה.

    אבל בכל זאת ניסיתי שוב את מה שרשמת עכשיו וגם כן לא עובד (דרך אגב זה SONNAME לא PART במסך בן הזה).

    yitzchok
    משתתף
    IL
    PART זה הקשר למסך האב, SONNAME מקביל ל-SON

    הדבר הזה מאוד מאתגר!!!

     

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    DavidH
    משתתף
    IL
    אחרי שיחות מול פריוריטי כנראה שזה היה באג אצלם. אני מנחש שהם יסדרו באחד העדכונים הבאים.
מוצגות 11 תגובות – 1 עד 11 (מתוך 11 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.