Fügen Sie dem Servicekatalog-Bezahlvorgang ein Feld hinzu

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Dies ist ein Beispiel für das Hinzufügen von Unternehmen Feld zum Bezahlvorgang unter Angefordert für Feld mit nicht-Einkaufswagen-Layout-Makros, d. h. glide.sc.use_cart_layoutsIst Falsch .

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Warum und wann dieser Vorgang ausgeführt wird

    Abbildung : 1. Feld „Angefordert für“

    Dieses Feld übergibt dann den Wert dieses Felds an Unternehmen Feld der Servicekataloganforderung.

    In diesem Beispiel werden die folgenden Annahmen getroffen.

    • Dieses Beispiel ist für eine Instanz mit zweistufigem Bezahlvorgang. Wenn der zweistufige Checkout nicht aktiviert ist, Aktivieren Sie es, bevor Sie beginnen.
    • Dieses Beispiel füllt aus Unternehmen Feld im Formular „Servicekatalog-Anforderung“. Wenn das Feld nicht im Formular angezeigt wird, Konfigurieren Sie das Formular, bevor Sie beginnen.

    Prozedur

    1. Wechseln Sie zu System-UI > UI-Makros Und wählen Sie aus Servicecatalog_cart_template .
    2. Suchen Sie, wo ausgeblendete Variablen deklariert sind, und fügen Sie die folgende Zeile hinzu:
      <input type="HIDDEN" name="cart_id" id="cart_id" value="$[sc_cart.sys_id]" />
    3. Suchen Sie den folgenden Code, der generiert Angefordert Für Code:
      <tr class="header">
      <td width = "30%">
        ${gs.getMessage('Requested for')}:
        </td>
        <td width="70%">
          <label for="requestor_location">${gs.getMessage('Deliver to')}:</label>
        </td>
      </tr>
      <tr><td>$[SP]</td> 
      </tr>
        <tr><td valign="top">
          <j2:if test="$[jvar_can_delta_rf == false]">
            $[sc_cart.requested_for.getDisplayValue()]
          </j2:if>
          <j2:if test="$[jvar_can_delta_rf != false]">
            <g2:catalog_requested_for />
          </j2:if>
        </td>
        <td>
          <textarea id="requestor_location" style="width:100%" rows="4"       name="requestor_location" wrap="soft" onChange="catDeliveryAddress('$[sc_cart.sys_id]', 'requestor_location');"> 
            $[sc_cart.delivery_address]
          </textarea>
        </td>
      </tr>
      <tr>
        <td>$[SP]</td>
      </tr>
    4. Fügen Sie anschließend den folgenden Code hinzu:
      <tr class="header">
        <td colspan="2">Company</td>
      </tr>
      <tr>
        <td>$[SP]</td>
      </tr>
      <tr>
        <td colspan="2">
          <g2:ui_reference name="core_company" table="core_company" onchange="setCartValue()"/>
        </td>
      </tr>
      <tr>
        <td>$[SP]</td>
      </tr>
      Hinweis:
      Die „ui_reference“ Makro definiert ein Referenzfeld. Es gibt mehrere Makros für verschiedene Feldtypen. Beispiele für diese Feldtypen finden Sie unter System-UI -> UI-Makros . Diese Makros beginnen mit „ui_“ . In diesem Beispiel wird das erstellte Referenzfeld benannt Core_Company .
    5. Navigieren Sie jetzt zu System-UI > UI-Seiten Und wählen Sie aus Servicecatalog_Checkout_one UI-Seite.
    6. Fügen Sie das folgende Skript zu hinzu Client-Skript Feld.
      function setCartValue() { 
        var newField = gel('core_company'); 
        var myCart = gel('cart_id'); 
        var cart_item = new GlideRecord('sc_cart_item');
        cart_item.addQuery('cart', myCart.value);
        cart_item.query(); 
        if(cart_item.next()) {
          cart_item.hints = "<hints><entry key='sysparm_processing_hint' value='setfield:request.company=" + newField.value + "'/></hints>";
          cart_item.update(); 
        } 
      }

      Für dieses Beispiel wurde das Referenzfeld aufgerufen Core_Company , Und das Feld, das in der Anforderung ausgefüllt wird, ist Unternehmen . Wenn verschiedene Felder verwendet werden:

      • Diese Zeile suchen: VAR-Unternehmen = Gel('Core_Company'); Und ersetzen Core_Company Mit dem Namen des Felds in der Kasse.
      • In der Zeile, die mit beginnt „Cart_item.Tips“ Ersetzen „request.company' Mit dem Namen des Felds, das im Anforderungsticket ausgefüllt werden soll, wo „Anforderung“ Ist die Anforderung, die generiert wird, und „Unternehmen“ Ist der Name des Felds.

    Ergebnisse

    Wenn ein Artikel bestellt wird, wird das Feld „Unternehmen“ im Katalogformular angezeigt:

    Feld wurde beim Bezahlvorgang des Servicekatalogs hinzugefügt