Usuario
Enumerar filas

Pregunta
-
Amigos buenas noches , tengo insert el en el cual ingreso en una de las columnas los codigos de unos productos , esta parte me funciona perfectamente , resulta que yo tambien puedo ingresar un codigo de producto compuesto el cual contiene algunas partes las cuales tambien son codigos de productos , la cuestion es como puedo yo enumerar cada item que ingrese , por ejemplo si yo ingreso el codigo 098799 este me marque en otro columna como 1 , si ingreso un codigo compuesto este me marque como 2 y las partes que contenga este me las cargue del 1 hasta la que contenga , si luego ingreso otro codigo este marque como 3 y asi siempre que vaya ingresar los codigos este proceso de numeracion o quiero guardar en la columna NroLinea, osea la cuestion es que no se como validar para que me reconozca los codigos compuestos de los no compuestos. espero me entiendan y me puedan ayudar , comparto mi codigo.
ALTER PROC [dbo].[InsertarGastoSaitemFac]
@NotaEn varchar(20),
@Remision varchar(20),
@Bodega varchar(10),
@CodItem nvarchar(80),
@Descrip varchar(200),
@Cantidad decimal(28, 4),
@Precio DECIMAL(28,4),
@NroUnicoL INT,
@NroLote varchar(20),
@FechaCirugia DATETIME
AS
SET DATEFORMAT YMD
DECLARE @ESEXENTO INT,
@DESLOTE INT,
@COSTPRO DECIMAL(28,4),
@Descrip3 nvarchar(50)
SELECT @ESEXENTO = EsExento
FROM dbo.SAPROD WHERE CodProd = @CodItem
SELECT @DESLOTE = DEsLote
FROM dbo.SAPROD WHERE CodProd = @CodItem
SELECT @COSTPRO = CostPro
FROM dbo.SAPROD WHERE CodProd = @CodItem
select @Descrip3 = Descrip3
from SAPROD where CodProd =@CodItem
begin
INSERT INTO dbo.SAITEMFAC ( CodSucu, TipoFac, NumeroD,OTipo,ONumero, NroLinea, NroLineaC, CodItem,CodUbic ,CodVend, Descrip1, Descrip2, Descrip3, Descrip4, Descrip5,
Descrip6, Descrip7, Descrip8, Descrip9, Descrip10, Signo, CantMayor, Cantidad, CantidadD, CantidadO, CantidadA,
CantidadU, CantidadUA, ExistAntU, ExistAnt, Tara, TotalItem, Costo, Precio, MtoTax, PriceO, Descto, NroUnicoL,NroLote,
FechaE, FechaV, EsServ, EsUnid, EsFreeP, EsPesa, EsExento, UsaServ, DEsLote, DEsSeri, DEsComp)
VALUES ( '00000', 'C',@NotaEn, 'E',@Remision, 1, 0, @CodItem,@Bodega, 'APP', @Descrip, '', @Descrip3,'', '', '', '', '','', '',1,0,@Cantidad,0, 0, 0, 0, 0, 0, 0, 0,
0, @COSTPRO,@Precio,0, 0, 0, @NroUnicoL,@NroLote, @FechaCirugia, @FechaCirugia, 0, 0, 0, 0, @ESEXENTO,0,@DESLOTE,0,0)
end;
Daniel
Todas las respuestas
-
-
Javier por ejemplo
si yo inserto al este codigo 0001 en la primera fila debe quedar asi
Codigo Descripcio Nrolinea
0001 Bandeja para tornillo set radio 1
si yo voy a insertar un compuesto con este coddigo C3.0-4.0N1 debe quedar asi en la segunda fila
Codigo Descripcion NroLinea
C3.0-4.0N1 combomano3 2 y debajo de este me deben cargar las partes que continene
2703903MD Rotula 0
937510150 clavija 1
316004 Molde 2si despues de este ingreso otro codigo que no es compuesto lo debe tomar como fila tres
Codigo Descripcion Nrolinea
2703903MD Rotula 3
la idea es que cuando yo cargue un compuesto este me lo tome como una sola fila en la enumeracion de nrolinea
Daniel
-
Si pero, que es un código compuesto?. ¿Cómo se yo que es un código compuesto?
Por ejemplo, porque tiene un guión.
Las enumeraciones en Sql server se realizan con row_number()
https://javifer2.wordpress.com/2019/11/11/row-number-numerar-filas/
-- con una sola lectura puedes alimentar las 3 variables SET DATEFORMAT YMD; DECLARE @ESEXENTO INT , @DESLOTE INT , @COSTPRO DECIMAL(28, 4) , @DESCRIP3 nvarchar(50); SELECT @ESEXENTO = EsExento , @DESLOTE = DEsLote , @COSTPRO = CostPro , @DESCRIP3 = Descrip3 FROM dbo.SAPROD WHERE CodProd = @CODITEM;