Integrare ERP SoftOne

5 min. cititultima actualizare: 07.04.2025

Integrare ERP SoftOne

 

Modulul atribute generice trebuie sa fie activat pentru a putea utiliza acest modul.

Aplicatie SoftOne ERP are ca si baza de date SQL Server. 

Nu are o integrare (API) standard si de aceea trebuie sa se faca cateva configurari in aplicatie si create cateva view-uri in baza de date (aceste configurari se vor prezenta mai jos).

 

Metode implementate:

  1. Import articole
  2. Import parteneri
  3. Import adrese parteneri
  4. Import comenzi intrare
  5. Import comenzi iesire
  6. Import comenzi productie
  7. Export comenzi intrare
  8. Export comenzi iesire
  9. Export comenzi productie

 

Atribute:

Atributele necesare integrarii cu SoftOne ERP se creaza automat la adaugarea unei conexiuni de acest tip.

Order outbound export series

 

Stabileste tipul de document care se va crea la exportul comenzii de iesire

Cod: SoftOne_OUT_EXP_SERIES

Se aplica la: tip comenzi iesire

Obligatoriu: da, se verifica daca este setat la exportul comenzii de iesire

Order production export series

Stabileste tipul de document care se va crea la exportul comenzii de productie

Cod: SoftOne_PRD_EXP_SERIES

Se aplica la: tip comenzi productie

Obligatoriu: da, se verifica daca este setat la exportul comenzilor de productie

Order inbound export series

Stabileste tipul de document care se va crea la exportul comenzii de intrare

Cod: SoftOne_INB_EXP_SERIES

Se aplica la: tip comenzi inbound

Obligatoriu: da, se verifica daca este setat la exportul comenzilor de intrare

Kits production export series

Stabileste tipul de document care se va crea la exportul unei comenzi de iesire cu kituri virtuale

Cod: SoftOne_VKIT_EXP_SERIES

Se aplica la: metoda EDI extern

Obligatoriu: da, se verifica daca este setat la exportul unui kit virtual

 

   
   
   
Comenzi productie wms_orders_productions

 

CREATE OR ALTER VIEW [dbo].[wms_orders_productions]
AS
SELECT 
    Id = document.findoc, 
    Date = document.UPDDATE, 
    OrderDate = document.trndate, 
    Batch = document.series, 
    BRANCH = document.BRANCH, 
    Number = document.fincode, 
    Comments = document.comments, 
    Company = document.company,
    WarehouseId = mtrdoc.whouse,
    WarehouseCode = 
        CASE
            WHEN document.fprms = 1000 THEN 'PC'
            ELSE 'DC'
        END,
    CAST(document.disc1prc AS DECIMAL(20, 3)) AS disc1prc, 
    CAST(document.disc1val AS DECIMAL(20, 3)) AS disc1val,
    ReceiptID = SPCS.SPCS,
    ReceiptName = SPCS.NAME,
    ResponseSeries = 1001,

    OutProductExternalID = (
        SELECT TOP(1) m.mtrl
        FROM mtrlines AS ml WITH(NOLOCK) LEFT JOIN 
            mtrl AS m WITH(NOLOCK) ON ml.mtrl = m.mtrl
                AND m.sodtype = 51
                AND ml.sosource = 5171
        WHERE ml.findoc = document.findoc AND 
            ml.mtrtype = 1),
    OutProductCode = (
        SELECT TOP(1) m.code
        FROM mtrlines AS ml WITH(NOLOCK) LEFT JOIN 
            mtrl AS m WITH(NOLOCK) ON ml.mtrl = m.mtrl
                AND m.sodtype = 51
                AND ml.sosource = 5171
        WHERE ml.findoc = document.findoc AND 
            ml.mtrtype = 1),
    OutProductName = (
        SELECT TOP(1) m.name
        FROM mtrlines AS ml WITH(NOLOCK) LEFT JOIN 
            mtrl AS m WITH(NOLOCK) ON ml.mtrl = m.mtrl
                AND m.sodtype = 51
                AND ml.sosource = 5171
        WHERE ml.findoc = document.findoc AND 
            ml.mtrtype = 1),
    OutProductQuantity = (
        SELECT TOP(1) ml.QTY1
        FROM mtrlines AS ml WITH(NOLOCK)
        WHERE ml.findoc = document.findoc AND 
            ml.mtrtype = 1),

    OrderLines = (
        SELECT 
             OrderLineID = orderLines.mtrlines
            ,LineNumber = orderLines.linenum
            ,ProductID = orderLines.mtrl
            ,ProductCode = mtrl.CODE
            ,ProductName = mtrl.NAME
            ,Quantity = CAST(orderLines.qty1 AS DECIMAL(20, 3))
            ,Price = CAST(orderLines.price AS DECIMAL(20, 2))
            ,Vat = CAST(CAST(orderLines.vat AS DECIMAL(20, 3)) / 1000 AS DECIMAL(20, 2))
            ,CCCREDUCERE = CAST(orderLines.CCCREDUCERE AS DECIMAL(20, 2))
            ,DISC1PRC = CAST(orderLines.DISC1PRC AS DECIMAL(20, 3))
            ,SODTYPE = orderLines.SODTYPE
            ,IsService = CAST(IIF(mtrl.sodtype <> 51, 1, 0) AS BIT)
        FROM mtrlines AS orderLines WITH(NOLOCK) INNER JOIN
            mtrl WITH(NOLOCK) ON mtrl.mtrl = orderLines.mtrl AND mtrl.company = orderLines.company
        WHERE orderLines.company = document.company AND 
            orderLines.sosource = document.sosource AND 
            orderLines.findoc = document.FINDOC AND 
            orderLines.sodtype = 51 AND 
            mtrl.ISACTIVE = 1
        FOR JSON PATH)
FROM findoc AS document WITH(NOLOCK) INNER JOIN 
    mtrdoc WITH(NOLOCK) ON document.findoc = mtrdoc.findoc AND document.company = mtrdoc.company INNER JOIN 
    SPCS WITH(NOLOCK) ON mtrdoc.spcs = SPCS.spcs
        AND SPCS.company = mtrdoc.company
        AND SPCS.sodtype = 71
        AND SPCS.isactive = 1
WHERE document.sosource = 5171 AND 
    document.trndate >= CONVERT(VARCHAR, GETDATE() - 7, 102) AND 
    document.FULLYTRANSF = 0

 

 

SELECT * 
FROM [dbo].[wms_orders_outbounds]
WHERE Company = :X.SYS.COMPANY AND
    [Date] BETWEEN CAST('{startDate}' AS DATE) AND CAST('{endDate}' AS DATE)
WMS_GetProductions Get orders productions
WMS_GetProduction_ById Get order production by Id
A fost util acest articol?