Skip to main content

Замовлення на купівлю та Замовлення на продаж від OEC 1 до OEC 2

1d5e103bf17a117d4d032.png
Налаштування середовища Integration Framework 
1. Для розробки та тестування сценаріїв потрібно змінити режим Integration Framework з Production mode (default) на Development mode
Режими роботи Integration Framework57b95757b24c2f7804d3e.png
Вибір режиму40c438e7a8c7b03047acf.png
Налаштування профілівaf08902435f1572368ff1.png
2. Після встановлення режиму Development mode потрібно перезавантажити службу SAP Business One Integration Service
Servicesf1e9a8e71badf0eafcb15.png



Розробка сценарію
1. В меню Scenarios – Package Design по кнопці + потрібно додати новий сценарій
522b151f8d6fac5446ed9.png
2. Для вказання зв’язків між Customer та Vendor використовують глобальні таблиці, створити можна но кнопці Definitions з параметрами які на другому скріншоті
13a7f595e9c793e73077b.png

Вікно після натискання на попередньому вікні Selectffb2d98f9b0d741883264.png
3. Вказати дані для цього зв’язку потрібно у меню Setup (вибір відповідного сценарію) - Data Mgt - Вибір створеної глобальної таблиці
Заповнення щойно створеної глобальної таблиціa924dc58fef315fb83c66.png
7523348e5faa3cd5c29de.png



Розробка кроків сценарію
Структура алгоритму роботи кроків сценарію4d829fd5aee7e9cda912a.png
Крок B2bPO2SO
1. Створення основного кроку сценарію який буде трігером для отримання документа Pucrhase Order
42d8b4143808d32244e16.png
2. По кнопці Processing створюється саме тіло та обробки процесу. Додати атом можна по кнопці ▶️
Структура процесу B2bPO2SO9bd377a2a403b6eb13caf.png
3. Редагувати структуру атома можна по редагувати по кліку по ньому, редагується тільки після name=”transform”
atom1:
<Values> 
    <xsl:variable name="MappingCardCode" select="document(&apos;/com.sap.b1i.vplatform.scenarios.design/vPac.brc.B2BB1/vTbl.B1MappingCardCode.xml&apos;)"></xsl:variable> 
    <xsl:variable name="Vendor" select="$msg/BOM/BO/Documents/row/CardCode"></xsl:variable> 
    <xsl:variable name="Customer" select="$MappingCardCode/table/row[./col[2]=$Vendor]/col[1]"></xsl:variable> 
    <CustomerCode> 
      <xsl:value-of select="$Customer"></xsl:value-of> 
    </CustomerCode> 
    <B1User> 
      <xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@Role=&apos;T&apos;]/Event/b1e:b1events/b1e:b1event/b1e:userid"></xsl:value-of> 
    </B1User> 
</Values> 

 

atom3:

<Documents>
	<row>
		<xsl:variable name="date">
			<xsl:call-template name="b1ilib.today"></xsl:call-template>
		</xsl:variable>
		<DocDate>
			<xsl:value-of select="$date"></xsl:value-of>
		</DocDate>
		<DocDueDate>
			<xsl:call-template name="b1ilib.date_plus">
				<xsl:with-param name="date" select="$date"></xsl:with-param>
				<xsl:with-param name="x" select="20"></xsl:with-param>
			</xsl:call-template>
		</DocDueDate>
		<xsl:variable name="Customer" select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom1&apos;]/Values/CustomerCode"></xsl:variable>
		<CardCode>
			<xsl:value-of select="$Customer"></xsl:value-of>
		</CardCode>
		<NumAtCard>
			<xsl:value-of select="$msg/BOM/BO/Documents/row/DocNum"></xsl:value-of>
		</NumAtCard>
	</row>
</Documents>
<Document_Lines>
	<xsl:for-each select="$msg/BOM/BO/Document_Lines/row">
		<row>
			<ItemCode>
				<xsl:value-of select="ItemCode"></xsl:value-of>
			</ItemCode>
			<Quantity>
				<xsl:value-of select="Quantity"></xsl:value-of>
			</Quantity>
		</row>
	</xsl:for-each>
</Document_Lines>undefined</xsl:template>undefined<xsl:include href="../../com.sap.b1i.system.lib/xsl/datetime.xsl"></xsl:include>

 

Редагування atom2 по кнопці

6b65251c28b0421a412e1.png

ae6ef2c2f99dd3794e6b0.png

 

atom5:

<B1Result>
	<Result>
		<xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom2&apos;]/@DIresult"></xsl:value-of>
	</Result>
	<B1User>
		<xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom1&apos;]/Values/B1User"></xsl:value-of>
	</B1User>
</B1Result>

 

Редагування atom4:

edddc10363800e4e4299d.png

 

 atom0:

<xsl:variable name="msgB1" select="/vpf:Msg/vpf:Body/vpf:Payload[./@id=&apos;atom2&apos;]"></xsl:variable>
<xsl:variable name="Status" select="$msgB1/@DIresult"></xsl:variable>
<xsl:variable name="Entry" select="$msgB1/@DImsg"></xsl:variable>
<Msg>
	<xsl:value-of select="concat(&apos;Message: &apos;,$Status, &apos;, DocEntry: &apos;,$Entry)"></xsl:value-of>
</Msg> 

 

Встановлення вхідних та вихідних даних для B2bPO2SO

49bb9773debe5c20ced88.png

757ccc1dfd9580a92a850.png

Вихідні дані (Outbound)ec281cf0cb791cd84b022.png

 

Крок B2BB1Msg

1. Створення кроку який буде надсилати повідомлення про стан процесу

13e06bdac4880b35956bb.png

2. По кнопці Processing створюється саме тіло та обробки процесу. Додати атом можна по кнопці ▶️

Взаємодія з атомами для додавання ще атомівdb44b74a732ce88ef8ca5.png

Структура процесу B2BB1Msge821240eeffa020ce0f3a.png

3. Редагування атому path:

21359d410a9431ce75681.png

XPath Expression: /*[/vpf:Msg/vpf:Body/vpf:Payload[./@Role='S']/B1Result/Result = 'success']

 

4. Редагування атомів повідомлення

eacaf7d8af5140b53b04e.png

User Code: /vpf:Msg/vpf:Body/vpf:Payload[./@Role='S']/B1Result/B1User 

 

5. Фінальний атом

9e3dc1ac116a5c026222c.png

Встановлення вхідних та вихідних даних для B2BB1Msg