Es una vista de SQL de las bases de datos de GP, particularmente de la tabla SOP10202.
Esta tabla guarda los comentarios de las partidas de los documentos de venta, tanto los de trabajo como los históricos.
En esta vista, ubicamos la posición de dos diagonales "//" que indican el principio y fin del peso neto y el peso bruto de la partida.
Este es el código de la vista:
CREATE VIEW viewComentariosPartidas
AS
-- Martín Jiménez @onceplus
-- 7.jul.2021
SELECT
'Empresa' = 'DISE',
SOP10202.SOPNUMBE,
SOP10202.LNITMSEQ,
'PrimeraPosicion' = CHARINDEX('//',SOP10202.CMMTTEXT,1),
'SegundaPosicion' = CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 ),
'TerceraPosicion' = CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 )+2 ),
'Factor' = CASE SOP10202.SOPTYPE
WHEN 2 THEN 1 -- Remisiones
WHEN 3 THEN 1 -- Facturas
WHEN 4 THEN -1 -- Devoluciones
END,
SOP10202.CMMTTEXT
FROM
DISE.dbo.SOP10202
WHERE
CHARINDEX('//',SOP10202.CMMTTEXT,1) > 0 AND
CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 ) > 0 AND
CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 )+2 ) > 0
UNION ALL
SELECT
'Empresa' = 'MINI',
SOP10202.SOPNUMBE,
SOP10202.LNITMSEQ,
'PrimeraPosicion' = CHARINDEX('//',SOP10202.CMMTTEXT,1),
'SegundaPosicion' = CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 ),
'TerceraPosicion' = CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 )+2 ),
'Factor' = CASE SOP10202.SOPTYPE
WHEN 2 THEN 1 -- Remisiones
WHEN 3 THEN 1 -- Facturas
WHEN 4 THEN -1 -- Devoluciones
END,
SOP10202.CMMTTEXT
FROM
MGM.dbo.SOP10202
WHERE
CHARINDEX('//',SOP10202.CMMTTEXT,1) > 0 AND
CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 ) > 0 AND
CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT, CHARINDEX('//',SOP10202.CMMTTEXT,1)+2 )+2 ) > 0