Κοινή χρήση μέσω


Δημιουργία παρόχου παραλαβής

Αυτό το θέμα περιγράφει τα βήματα που απαιτούνται για τη δημιουργία ενός παρόχου παραλαβής στο Microsoft Dynamics 365 Intelligent Order Management.

Δημιουργία νέου ορισμού παρόχου

Για να δημιουργήσετε έναν νέο ορισμό παρόχου, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στις Υπηρεσίες παροχής > Κατάλογος.
  2. Επιλέξτε Νέος ορισμός υπηρεσίας παροχής.
  3. Για το Εμφανιζόμενο όνομα, πληκτρολογήστε "IOMLabOrderIntakeProvider".
  4. Για το Λογικό όνομα, πληκτρολογήστε "msdyn_IOMLabOrderIntakeProvider".
  5. Για το Λογότυπο, επιλέξτε "IOMLab.png".
  6. Για τον Τύπο υπηρεσίας, καταχωρίστε "Παραλαβή παραγγελίας".
  7. Για την Περιγραφή, καταχωρίστε "Υπηρεσία παροχής παραλαβής παραγγελίας IOM".
  8. Επιλέξτε Αποθήκευση και κλείσιμο.

Προσθήκη ορισμού παρόχου στη λύση

Για να προσθέσετε έναν ορισμό παρόχου σε μια λύση, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στο Power Apps Maker Portal και μεταβείτε στη νέα λύση IOMLabProviders.
  2. Επιλέξτε Προσθήκη υφιστάμενου > Ορισμός παρόχου IOM.
  3. Επιλέξτε IOMLabOrderIntakeProvider και, στη συνέχεια, επιλέξτε Προσθήκη για να το προσθέσετε στη λύση.

Προσθήκη μετασχηματισμού στον ορισμό παρόχου

Για να προσθέσετε έναν μετασχηματισμό στον ορισμό παρόχου, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στις Υπηρεσίες παροχής > Κατάλογος.
  2. Επιλέξτε το IOMLabOrderIntakeProvider που μόλις δημιουργήθηκε.
  3. Επιλέξτε Επεξεργασία στη γραμμή μενού.
  4. Επιλέξτε την καρτέλα Μετασχηματισμοί.
  5. Επιλέξτε +Νέος μετασχηματισμός ορισμού υπηρεσίας παροχής IOM.
  6. Για το Εμφανιζόμενο όνομα, πληκτρολογήστε "IOMLab Παραγγελία σε Dataverse Παραγγελία".
  7. Για το Λογικό όνομα, πληκτρολογήστε "msdyn_IOMLabOrderIntake_Order".
  8. Για τον Ορισμό παρόχου, πληκτρολογήστε ή επιλέξτε IOMLabOrderIntakeProvider.
  9. Για το Όνομα αντικειμένου προέλευσης, πληκτρολογήστε "IOMLabOrderIntakeProvider".
  10. Για το Όνομα αντικειμένου προορισμού, καταχωρίστε "Παραγγελία Dataverse".
  11. Για τον Μετασχηματισμό, επικολλήστε τον ακόλουθο κώδικα ερωτήματος M:
shared ImportMappingKey = [
    account = {
			[
				ExternalRecordKey = [ProviderName = "IOMLabOrderIntakeProvider"],
				SelectedFields = {"accountid"}
			]
    },
		pricelevel = {
			[
				ExternalRecordKey = [ProviderName = "IOMLabOrderIntakeProvider"],
				SelectedFields = {"pricelevelid"}
			]
    },
		product = List.Distinct(List.Transform(Source[orderdetails], each
			[
				ExternalRecordKey = [sku = _[sku]],
				SelectedFields = {"productid"}
			])),
		uom = List.Distinct(List.Transform(Source[orderdetails], each
			[
				ExternalRecordKey = [unit = _[unit]],
				SelectedFields = {"uomid"}
			]))
];
shared TransformSourceData =
let
	orderProducts = Source[orderdetails],
	account = IOM.MapRecord(IOM.MappingTables[account], [ProviderName = "IOMLabOrderIntakeProvider"]),
	pricelevel = IOM.MapRecord(IOM.MappingTables[pricelevel], [ProviderName = "IOMLabOrderIntakeProvider"]),
			
	orderheader = Record.FromTable
					(
						Table.SelectRows
						(
							Record.ToTable
							(
								[
									ordernumber = Text.From(Source[ordernumber]),
									name = ordernumber,
									#"customerid_account@odata.bind" = "/accounts(" & Text.From(account[accountid]) & ")",
									#"pricelevelid@odata.bind" = "/pricelevels(" & Text.From(pricelevel[pricelevelid]) & ")",
									billto_city = Record.FieldOrDefault(Source, "billtocity"),
									billto_stateorprovince = Record.FieldOrDefault(Source, "billtostateorprovince"),
									billto_country = Record.FieldOrDefault(Source, "billtocountry"),
									billto_postalcode = Record.FieldOrDefault(Source, "billtozip"),
									shipto_city = Record.FieldOrDefault(Source, "shiptocity"),
									shipto_stateorprovince = Record.FieldOrDefault(Source, "shiptostateorprovince"),
									shipto_country = Record.FieldOrDefault(Source, "shiptocountry"),
									shipto_postalcode = Record.FieldOrDefault(Source, "shiptozip")
								]
							), each [Value] <> null
						)
					),

	orderlines = List.Transform(orderProducts, each
						Record.FromTable
						(
							Table.SelectRows
							(
								Record.ToTable
								(
									[
										ispriceoverridden = true,
										#"productid@odata.bind" = "/products(" & IOM.MapRecord(IOM.MappingTables[product], [sku = Record.FieldOrDefault(_, "sku")])[productid] & ")",
										#"uomid@odata.bind" = "/uoms(" & IOM.MapRecord(IOM.MappingTables[uom], [unit = Record.FieldOrDefault(_, "unit")])[uomid] & ")",
										quantity = [quantity],
										shipto_name = Record.FieldOrDefault(orderheader, "shipto_name"),
										shipto_contactname = Record.FieldOrDefault(orderheader, "shipto_contactname"),
										shipto_line1 = Record.FieldOrDefault(orderheader, "shipto_line1"),
										shipto_line2 = Record.FieldOrDefault(orderheader, "shipto_line2"),
										shipto_line3 = Record.FieldOrDefault(orderheader, "shipto_line3"),
										shipto_city = Record.FieldOrDefault(orderheader, "shipto_city"),
										shipto_stateorprovince = Record.FieldOrDefault(orderheader, "shipto_stateorprovince"),
										shipto_country = Record.FieldOrDefault(orderheader, "shipto_country"),
										shipto_postalcode = Record.FieldOrDefault(orderheader, "shipto_postalcode"),
										shipto_telephone = Record.FieldOrDefault(orderheader, "shipto_telephone")
									]
								), each [Value] <> null
							)
						)
					),

	salesorder = Record.AddField(orderheader, "order_details", orderlines)
in Text.FromBinary(Json.FromValue(salesorder));
  1. Για τον Τύπο προέλευσης μετασχηματισμού, πληκτρολογήστε "JsonPayload".
  2. Επιλέξτε Αποθήκευση.
  3. Δημιουργήστε ένα αρχείο JSON, επικολλήστε τον παρακάτω κώδικα και αποθηκεύστε το.
{
  "ordernumber": "IOMLabOrder001",
  "shiptocity": "BELLEVUE",
  "shiptostateorprovince": "WA",
  "shiptocountry": "US",
  "shiptozip": "98007",
  "billtocity": "BELLEVUE",
  "billtostateorprovince": "WA",
  "billtocountry": "US",
  "billtozip": "98007",
  "orderdetails": [
    {
      "sku": "883988211855",
      "unit": "each",
      "quantity": 11
    }
  ]
} 

  1. Δίπλα στο πεδίο Δείγμα δεδομένων, επιλέξτε Επιλογή αρχείου και μεταφορτώστε το αρχείο JSON που δημιουργήσατε.
  2. Επιλέξτε Αποθήκευση και κλείσιμο.

Προσθήκη μετασχηματισμού ορισμού παρόχου στη λύση

Για να προσθέσετε έναν μετασχηματισμό ορισμού παρόχου σε μια λύση, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στο Power Apps Maker Portal και μεταβείτε στη νέα λύση IOMLabProviders.
  2. Επιλέξτε Προσθήκη υφιστάμενου > Μετασχηματισμός ορισμού παρόχου IOM.
  3. Επιλέξτε Παραγγελία IOMLab σε Dataverse παραγγελία και μετά επιλέξτε Προσθήκη για να την προσθέσετε στη λύση.

Δημιουργία προγράμματος χειρισμού μηνυμάτων υπηρεσίας παροχής

Για να δημιουργήσετε ένα πρόγραμμα χειρισμού μηνυμάτων παρόχου, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στο Power Apps Maker Portal, μεταβείτε στις Λύσεις και ανοίξτε την Προεπιλεγμένη λύση.

  2. Επιλέξτε Νέα.

  3. Επιλέξτε Ροή cloud και, στη συνέχεια, ονομάστε τον "Χειριστή αιτήματος μηνύματος παραλαβής παραγγελίας IOM".

  4. Επιλέξτε τον τύπο ενεργοποίησης ως Outlook.com – Όταν φτάσει ένα νέο email (V2) και, στη συνέχεια, συνδεθείτε με τα διαπιστευτήρια του λογαριασμού σας outlook.com.

  5. Για τον Φάκελο, επιλέξτε Εισερχόμενα.

  6. Για το Προς, επιλέξτε Διευθύνσεις email παραληπτών διαχωρισμένες με ερωτηματικά.

  7. Για το Κοιν., επιλέξτε Διευθύνσεις email παραληπτών Κοιν. διαχωρισμένες με ερωτηματικά.

  8. Για το Προς ή Κοιν., επιλέξτε Διευθύνσεις email παραληπτών Προς ή Κοιν. διαχωρισμένες με ερωτηματικά.

  9. Για το Από, επιλέξτε Διευθύνσεις email αποστολέων διαχωρισμένες με ερωτηματικά.

  10. Για τη Συμπερίληψη συνημμένων, επιλέξτε Ναι.

  11. Για το Φίλτρο θέματος, επιλέξτε IOMLabOrderIntakeOrder.

  12. Για τη Σημασία, επιλέξτε Οποιοδήποτε.

  13. Για Μόνο με συνημμένο, επιλέξτε Ναι.

    ενεργοποίηση του Outlook)

  14. Επιλέξτε Νέο βήμα και προσθέστε "Ανάλυση JSON".

  15. Για το Περιεχόμενο, επικολλήστε τον παρακάτω κώδικα:

    {
    "ProviderId": "00000000-0000-0000-0000-000000000000"
    }
    
  16. Επικολλήστε απευθείας το ακόλουθο δείγμα κώδικα σχήματος:

    {
      "type": "object",
      "properties": {
        "ProviderId": {
          "type": "string"
        }
      }
    }
    
  17. Επιλέξτε Τέλος.

  18. Επιλέξτε τα αποσιωπητικά ("...") και μετά επιλέξτε Μετονομασία.

  19. Μετονομάστε την ενέργεια "Ιδιότητες συστήματος IOM".

  20. Επιλέξτε Αποθήκευση.

    Ενέργεια ιδιοτήτων συστήματος)

  21. Επιλέξτε Νέο βήμα, προσθέστε μια ενέργεια Ανάλυση JSON και μετονομάστε την σε "Αρχικοποίηση μεταβλητών παρόχου".

  22. Για το Περιεχόμενο, επικολλήστε τον παρακάτω κώδικα:

    {
      "SourceObjectName": "IOMLabOrderIntakeProvider",
      "DestinationObjectName": "Dataverse Order"
    }
    
  23. Επιλέξτε Αποθήκευση.

  24. Επιλέξτε Νέο βήμα, προσθέστε μια ενέργεια Αρχικοποίηση μεταβλητης και μετονομάστε την σε "Αρχικοποίηση επεξεργασίας αποτελέσματος εκτέλεσης".

  25. Για το Όνομα, πληκτρολογήστε "ExecutionResult".

  26. Για τον Τύπο, επιλέξτε Δυαδική τιμή.

  27. Για την Τιμή, επιλέξτε αληθές.

  28. Επιλέξτε Αποθήκευση.

    Αρχικοποίηση επεξεργασίας αποτελέσματος εκτέλεσης

  29. Επιλέξτε Νέο βήμα, προσθέστε "πεδίο" και μετονομάστε το σε "Δοκιμή".

  30. Στο πεδίο Δοκιμή, επιλέξτε Προσθήκη μιας ενέργειας.

  31. Προσθέστε την "εκτέλεση μιας μη δεσμευμένης ενέργειας" από τη σύνδεση Dataverse και μετονομάστε την σε "Αναγνώριση του μηνύματος παρόχου στο IOM".

  32. Για το Όνομα ενέργειας, πληκτρολογήστε "msdyn_CreateProviderMessageRequestExecution".

  33. Για το PowerAutomateWorkflowId, εισαγάγετε workflow()['tags']['xrmWorkflowId'] ως έκφραση.

  34. Για το PowerAutomateRunId, εισαγάγετε workflow()['run']?['name'] ως έκφραση.

  35. Για το ProviderExternalRequestId, εισαγάγετε guid() ως έκφραση.

  36. Επιλέξτε Αποθήκευση.

    Επιβεβαίωση μηνύματος παρόχου

  37. Επιλέξτε Προσθήκη μιας ενέργειας και, στη συνέχεια, προσθέστε ένα στοιχείο ελέγχου Εφαρμογή σε κάθε.

  38. Για το Επιλέξτε ένα αποτέλεσμα από τα προηγούμενα βήματα, επιλέξτε Συνημμένα.

    Εφαρμογή σε κάθε στοιχείο ελέγχου

  39. Επιλέξτε Προσθήκη μιας ενέργειας εντός του βρόχου Εφαρμογή σε κάθε, προσθέστε Εκτέλεση θυγατρικής ροής από τη σύνδεση Ροή και μετονομάστε την σε "Μετατροπή μηνύματος με το Power Query Online".

  40. Επιλέξτε τη θυγατρική ροή Μετασχηματισμός παρόχου IOM.

  41. Για το Αναγνωριστικό παρόχου, επιλέξτε τη μεταβλητή ProviderId .

  42. Για το Όνομα αντικειμένου προέλευσης, επιλέξτε τη μεταβλητή SourceObjectName.

  43. Για το Όνομα αντικειμένου προορισμού, επιλέξτε τη μεταβλητή DestinationObjectName.

  44. Για το Ωφέλιμο φορτίο, εισαγάγετε decodeBase64(items('Apply_to_each')?['ContentBytes']) ως έκφραση.

  45. Επιλέξτε Αποθήκευση.

    Μετασχηματισμός μηνύματος στο Power Query

  46. Μετά το βήμα μετασχηματισμού, επιλέξτε Προσθήκη μιας ενέργειας, προσθέστε Εκτέλεση θυγατρικής ροής από τη σύνδεση ροής και μετονομάστε την σε "Δημιουργία παραγγελίας".

  47. Για τη Θυγατρική ροή, πληκτρολογήστε "Δημιουργία εντολής πωλήσεων IOM".

  48. Για το Ωφέλιμο φορτίο, εισαγάγετε string(json(outputs('Transform_Message_with_Power_Query_Online')?['Body']?['result'])?[0][0]) ως έκφραση.

  49. Επιλέξτε Αποθήκευση.

    Δημιουργία παραγγελίας

  50. Συμπτύξτε το πεδίο Δοκιμή επιλέγοντας τη γραμμή τίτλου του.

  51. Επιλέξτε Νέο βήμα, προσθέστε ένα πεδίο και μετονομάστε το σε "Υπολογισμός".

  52. Στο πεδίο Υπολογισμός, επιλέξτε τα αποσιωπητικά ("..."), επιλέξτε Διαμόρφωση εκτέλεσης μετά.

  53. Επιλέξτε τα πλαίσια ελέγχου απέτυχε και έχει λήξει το χρονικό όριο και, στη συνέχεια, επιλέξτε Ολοκληρώθηκε.

    Διαμόρφωση εκτέλεσης μετά

  54. Στο πεδίο Υπολογισμός, επιλέξτε Προσθήκη μιας ενέργειας και προσθέστε μια ενέργεια Ορισμός μεταβλητής και μετονομάστε την σε "Ορισμός του αποτελέσματος εκτέλεσης σε αποτυχία".

  55. Για το Όνομα, πληκτρολογήστε "Executionresult".

  56. Για την Τιμή, επιλέξτε Ψευδές.

  57. Επιλέξτε Αποθήκευση.

    Ορισμός ενέργειας μεταβλητής

  58. Συμπτύξτε το πεδίο Υπολογισμός επιλέγοντας τη γραμμή τίτλου του.

  59. Επιλέξτε Νέο βήμα, προσθέστε ένα πεδίο και μετονομάστε το σε "Τελικά".

  60. Στο πεδίο Τελικά, επιλέξτε τα αποσιωπητικά ("..."), επιλέξτε Διαμόρφωση εκτέλεσης μετά.

  61. Επιλέξτε τα πλαίσια ελέγχου επιτυχές, απέτυχε, παραλείφθηκε και έληξε το χρονικό όριο και, στη συνέχεια, επιλέξτε Ολοκληρώθηκε.

    Διαμόρφωση εκτέλεσης μετά (Πεδίο Τελικά)

  62. Στο πεδίο Τελικά, επιλέξτε Προσθήκη μιας ενέργειας, προσθέστε μια ενέργεια Εκτέλεση αδέσμευτης ενέργειας και μετονομάστε την σε "Αποθήκευση αποτελέσματος εκτέλεσης αιτήματος μηνύματος παρόχου".

  63. Για το Όνομα ενέργειας, πληκτρολογήστε "msdyn_UpdateProviderMessageRequestStatus".

  64. Για το ProviderMessageRequestExecutionId, καταχωρίστε @outputs('Acknowledge_the_Provider_Message_in_IOM')?["body/ProviderMessageRequestExecutionId'].

  65. Επιλέξτε Αποθήκευση.

    Αποθήκευση αποτελέσματος εκτέλεσης αιτήματος μηνυμάτων παρόχου

Προσθήκη λογικού ορισμού παρόχου στον ορισμό παρόχου

Για προσθήκη ενός λογικού ορισμού του παρόχου στον ορισμό του παρόχου, ακολουθήστε αυτά τα βήματα.

  1. Στο Intelligent Order Management, μεταβείτε στις Υπηρεσίες παροχής > Κατάλογος.
  2. Επιλέξτε το IOMLabOrderIntakeProvider που μόλις δημιουργήθηκε.
  3. Επιλέξτε Επεξεργασία στη γραμμή μενού.
  4. Επιλέξτε την καρτέλα Λογικοί ορισμοί.
  5. Επιλέξτε + Νέος λογικός ορισμός ορισμού υπηρεσίας παροχής IOM.
  6. Για το Εμφανιζόμενο όνομα, πληκτρολογήστε "Χειριστής αιτήματος μηνύματος παραλαβής παραγγελίας IOM".
  7. Για το Λογικό όνομα, πληκτρολογήστε "msdyn_LabOrderIntakeMessageRequestHandler".
  8. Για τον Ορισμό παρόχου, καταχωρίστε "IOMLabOrderIntakeProvider".
  9. Για το Τύπος λογικής, πληκτρολογήστε "Χειριστής μηνύματος παρόχου".
  10. Για το Όνομα ροής εργασίας, πληκτρολογήστε "Χειριστής αιτήματος μηνύματος παραλαβής παραγγελίας IOM".
  11. Για τα Λεπτά λήξης χρόνου, καταχωρίστε "2".
  12. Για τις Μέγιστες προσπάθειες επανάληψης, πληκτρολογήστε "3".
  13. Για την Περιγραφή, πληκτρολογήστε "Χειριστής αιτήματος μηνύματος παραλαβής παραγγελίας IOM".
  14. Επιλέξτε Αποθήκευση. Αυτό θα δημιουργήσει μια αναπαράσταση JSON της ροής cloud του προγράμματος χειρισμού μηνυμάτων και θα συμπληρώσει το πεδίο Δεδομένα πελάτη.
  15. Επιλέξτε Αποθήκευση και κλείσιμο.
  16. Επιλέξτε Συνδέσεις. Θα πρέπει να δείτε τους ορισμούς αναφοράς σύνδεσης Microsoft Dataverse και Outlook.com που παρατίθενται.

Σημείωση

Εάν βλέπετε άλλους ορισμούς αναφοράς συνδέσεων εκτός από τα Microsoft Dataverse και Outlook.com, αυτό σημαίνει ότι χρησιμοποιείτε περισσότερες από μία Dataverse αναφορές σύνδεσης στη ροή χειριστή μηνυμάτων λήψης παραγγελίας. Για να το διορθώσετε, μεταβείτε στη ροή σας και βεβαιωθείτε ότι όλες οι Dataverse ενέργειες χρησιμοποιούν την ίδια αναφορά σύνδεσης.

Προσθέστε έναν λογικό ορισμό του παρόχου στη λύση IOMLabProviders

Για προσθήκη ενός λογικού ορισμού του παρόχου στη λύση IOMLabProviders, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στο Power Apps Maker Portal και μεταβείτε στη νέα λύση IOMLabProviders.
  2. Επιλέξτε Προσθήκη υφιστάμενου > Ορισμός λογικού ορισμού υπηρεσίας παροχής IOM.
  3. Επιλέξτε Χειριστής αιτήματος μηνύματος παραλαβής παραγγελίας IOM και, στη συνέχεια, επιλέξτε Προσθήκη για να το προσθέσετε στη λύση.

Προσθέστε αναφορά σύνδεσης ορισμού παρόχου σε λύση IOMLabProviders

Για προσθήκη αναφοράς σύνδεσης ορισμού παρόχου στη λύση Outlook IOMLabProviders, ακολουθήστε αυτά τα βήματα.

  1. Μεταβείτε στο Power Apps Maker Portal και μεταβείτε στη νέα λύση IOMLabProviders.
  2. Επιλέξτε Προσθήκη υφιστάμενου > Αναφορά σύνδεσης ορισμού υπηρεσίας παροχής IOM.
  3. Επιλέξτε και τους δύο ορισμούς αναφοράς σύνδεσης Microsoft Dataverse και Outlook.com και στη συνέχεια, επιλέξτε Προσθήκη για να τα προσθέσετε στη λύση.

Επόμενο βήμα εργαστηρίου γρήγορης εκκίνησης: Δημιουργία παρόχου εκπλήρωσης.