· 6 years ago · Aug 15, 2019, 07:30 PM
1IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Monedas' )
2BEGIN
3DROP TABLE Monedas
4END
5
6IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Precios' )
7BEGIN
8DROP TABLE Precios
9END
10
11IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ListasDePrecios' )
12BEGIN
13DROP TABLE ListasDePrecios
14END
15
16
17SET XACT_ABORT ON
18
19--eliminar la tabla monedas si es la vieja
20IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'Monedas' AND DATA_TYPE = 'varchar' AND COLUMN_NAME = 'MonedaPreferida' AND CHARACTER_MAXIMUM_LENGTH = 1) OR NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Monedas')
21BEGIN
22 BEGIN TRAN TRAN_PRECIOS;
23
24 CREATE TABLE [dbo].[Monedas](
25 [Id] [int] NOT NULL,
26 [SignoMoneda] [varchar](5) NOT NULL,
27 [AbreviacionMoneda] [varchar](5) NOT NULL,
28 [NombreMoneda] [varchar](50) NOT NULL,
29 [MonedaPreferida] [bit] NOT NULL DEFAULT 0,
30 [Cambio] [float] NOT NULL,
31 [Visible] [bit] NOT NULL,
32 CONSTRAINT [PK_Monedas2] PRIMARY KEY CLUSTERED
33 (
34 [Id] ASC
35 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
36 ) ON [PRIMARY]
37
38 --Y Agregar todas las monedas de la ISO
39 INSERT INTO Monedas(Id, SignoMoneda, AbreviacionMoneda, NombreMoneda, MonedaPreferida, Cambio, Visible) VALUES
40 (32,'$','ARS','peso argentino','True',1,1),
41 (840,'$','USD','dólar estadounidense','False',1,1),
42 (784,'$','AED','dirham de los Emiratos Árabes Unidos','False',1,0),
43 (971,'$','AFN','Afgani afgano','False',1,0),
44 (8,'$','ALL','lek albanés','False',1,0),
45 (51,'$','AMD','dram armenio','False',1,0),
46 (532,'$','ANG','florín antillano neerlandés','False',1,0),
47 (973,'$','AOA','kwanza angoleño','False',1,0),
48 (36,'$','AUD','dólar australiano','False',1,0),
49 (533,'$','AWG','florín arubeño','False',1,0),
50 (944,'$','AZN','manat azerbaiyano','False',1,0),
51 (977,'$','BAM','marco convertible de Bosnia-Herzegovina','False',1,0),
52 (52,'$','BBD','dólar de Barbados','False',1,0),
53 (50,'$','BDT','taka de Bangladesh','False',1,0),
54 (975,'$','BGN','Lev búlgaro','False',1,0),
55 (48,'$','BHD','dinar bahreiní','False',1,0),
56 (108,'$','BIF','franco burundés','False',1,0),
57 (60,'$','BMD','dólar bermudeño','False',1,0),
58 (96,'$','BND','dólar de Brunéi','False',1,0),
59 (68,'$','BOB','Boliviano','False',1,0),
60 (986,'$','BRL','Real brasileño','False',1,1),
61 (44,'$','BSD','dólar bahameño','False',1,0),
62 (64,'$','BTN','Ngultrum de Bután','False',1,0),
63 (72,'$','BWP','pula de Botsuana','False',1,0),
64 (974,'$','BYR','rublo bielorruso','False',1,0),
65 (84,'$','BZD','dólar de Belice','False',1,0),
66 (124,'$','CAD','dólar canadiense','False',1,0),
67 (976,'$','CDF','franco congoleño','False',1,0),
68 (756,'$','CHF','franco suizo','False',1,0),
69 (152,'$','CLP','peso chileno','False',1,0),
70 (156,'$','CNY','Yuan chino','False',1,1),
71 (170,'$','COP','peso colombiano','False',1,0),
72 (188,'$','CRC','colón costarricense','False',1,0),
73 (931,'$','CUC','peso cubano convertible','False',1,0),
74 (192,'$','CUP','peso cubano','False',1,0),
75 (132,'$','CVE','Escudo caboverdiano','False',1,0),
76 (203,'$','CZK','koruna checa','False',1,0),
77 (262,'$','DJF','franco yibutiano','False',1,0),
78 (208,'$','DKK','corona danesa','False',1,0),
79 (214,'$','DOP','peso dominicano','False',1,0),
80 (12,'$','DZD','dinar algerino','False',1,0),
81 (818,'$','EGP','libra egipcia','False',1,0),
82 (232,'$','ERN','nakfa eritreo','False',1,0),
83 (230,'$','ETB','birr etíope','False',1,0),
84 (978,'$','EUR','Euro','False',1,1),
85 (242,'$','FJD','dólar fiyiano','False',1,0),
86 (238,'£','FKP','libra malvinense','False',1,0),
87 (826,'£','GBP','libra esterlina','False',1,1),
88 (981,'$','GEL','lari georgiano','False',1,0),
89 (936,'$','GHS','cedi ghanés','False',1,0),
90 (292,'$','GIP','libra de Gibraltar','False',1,0),
91 (270,'$','GMD','dalasi gambiano','False',1,0),
92 (324,'$','GNF','franco guineano','False',1,0),
93 (320,'$','GTQ','Quetzal guatemalteco','False',1,0),
94 (328,'$','GYD','dólar guyanés','False',1,0),
95 (344,'$','HKD','dólar de Hong Kong','False',1,0),
96 (340,'$','HNL','lempira hondureño','False',1,0),
97 (191,'$','HRK','kuna croata','False',1,0),
98 (332,'$','HTG','Gourde haitiano','False',1,0),
99 (348,'$','HUF','forint húngaro','False',1,0),
100 (360,'$','IDR','rupiah indonesia','False',1,0),
101 (376,'$','ILS','nuevo shéquel israelí','False',1,0),
102 (356,'$','INR','rupia india','False',1,0),
103 (368,'$','IQD','dinar iraquí','False',1,0),
104 (364,'$','IRR','rial iraní','False',1,0),
105 (352,'$','ISK','Króna islandesa','False',1,0),
106 (388,'$','JMD','dólar jamaicano','False',1,0),
107 (400,'$','JOD','dinar jordano','False',1,0),
108 (392,'¥','JPY','Yen japonés','False',1,1),
109 (404,'$','KES','chelín keniata','False',1,0),
110 (417,'$','KGS','Som kirguís','False',1,0),
111 (116,'$','KHR','riel camboyano','False',1,0),
112 (174,'$','KMF','franco comoriano','False',1,0),
113 (408,'$','KPW','won norcoreano','False',1,0),
114 (410,'$','KRW','won surcoreano','False',1,0),
115 (414,'$','KWD','dinar kuwaití','False',1,0),
116 (136,'$','KYD','dólar caimano','False',1,0),
117 (398,'$','KZT','tenge kazajo','False',1,0),
118 (418,'$','LAK','Kip lao','False',1,0),
119 (422,'$','LBP','libra libanesa','False',1,0),
120 (144,'$','LKR','rupia de Sri Lanka','False',1,0),
121 (430,'$','LRD','dólar liberiano','False',1,0),
122 (426,'$','LSL','loti lesotense','False',1,0),
123 (440,'$','LTL','litas lituano','False',1,0),
124 (434,'$','LYD','dinar libio','False',1,0),
125 (504,'$','MAD','dirham marroquí','False',1,0),
126 (498,'$','MDL','leu moldavo','False',1,0),
127 (969,'$','MGA','ariary malgache','False',1,0),
128 (807,'$','MKD','denar macedonio','False',1,0),
129 (104,'$','MMK','Kyat birmano','False',1,0),
130 (496,'$','MNT','tughrik mongol','False',1,0),
131 (446,'$','MOP','pataca de Macao','False',1,0),
132 (478,'$','MRO','ouguiya mauritana','False',1,0),
133 (480,'$','MUR','rupia mauricia','False',1,0),
134 (462,'$','MVR','rufiyaa maldiva','False',1,0),
135 (454,'$','MWK','kwacha malauí','False',1,0),
136 (484,'$','MXN','peso mexicano','False',1,0),
137 (458,'$','MYR','ringgit malayo','False',1,0),
138 (943,'$','MZN','metical mozambiqueño','False',1,0),
139 (516,'$','NAD','dólar namibio','False',1,0),
140 (566,'$','NGN','naira nigeriana','False',1,0),
141 (558,'$','NIO','córdoba nicaragüense','False',1,0),
142 (578,'$','NOK','corona noruega','False',1,0),
143 (524,'$','NPR','rupia nepalesa','False',1,0),
144 (554,'$','NZD','dólar neozelandés','False',1,0),
145 (512,'$','OMR','rial omaní','False',1,0),
146 (590,'$','PAB','Balboa panameña','False',1,0),
147 (604,'$','PEN','nuevo sol peruano','False',1,0),
148 (598,'$','PGK','Kina de Papúa Nueva Guinea','False',1,0),
149 (608,'$','PHP','peso filipino','False',1,0),
150 (586,'$','PKR','rupia pakistaní','False',1,0),
151 (985,'$','PLN','zloty polaco','False',1,0),
152 (600,'$','PYG','guaraní paraguayo','False',1,0),
153 (634,'$','QAR','rial qatarí','False',1,0),
154 (946,'$','RON','Leu rumano','False',1,0),
155 (941,'$','RSD','dinar serbio','False',1,0),
156 (643,'$','RUB','rublo ruso','False',1,0),
157 (646,'$','RWF','franco ruandés','False',1,0),
158 (682,'$','SAR','riyal saudí','False',1,0),
159 (90,'$','SBD','dólar de las Islas Salomón','False',1,0),
160 (690,'$','SCR','rupia de Seychelles','False',1,0),
161 (938,'$','SDG','dinar sudanés','False',1,0),
162 (752,'$','SEK','corona sueca','False',1,0),
163 (702,'$','SGD','dólar de Singapur','False',1,0),
164 (654,'$','SHP','libra de Santa Helena','False',1,0),
165 (694,'$','SLL','leone de Sierra Leona','False',1,0),
166 (706,'$','SOS','chelín somalí','False',1,0),
167 (968,'$','SRD','dólar surinamés','False',1,0),
168 (728,'$','SSP','libra','False',1,0),
169 (678,'$','STD','dobra de Santo Tomé y Príncipe','False',1,0),
170 (760,'$','SYP','libra siria','False',1,0),
171 (748,'$','SZL','lilangeni suazi','False',1,0),
172 (764,'$','THB','baht tailandés','False',1,0),
173 (972,'$','TJS','somoni tayik','False',1,0),
174 (934,'$','TMT','manat turcomano','False',1,0),
175 (788,'$','TND','dinar tunecino','False',1,0),
176 (776,'$','TOP','Pa''anga tongano','False',1,0),
177 (949,'$','TRY','Lira turca','False',1,0),
178 (780,'$','TTD','dólar de Trinidad y Tobago','False',1,0),
179 (901,'$','TWD','dólar taiwanés','False',1,0),
180 (834,'$','TZS','chelín tanzano','False',1,0),
181 (980,'$','UAH','grivna ucraniana','False',1,0),
182 (800,'$','UGX','chelín ugandés','False',1,0),
183 (858,'$','UYU','peso uruguayo','False',1,0),
184 (860,'$','UZS','Som uzbeko','False',1,0),
185 (937,'$','VEF','Bolívar fuerte venezolano','False',1,0),
186 (704,'$','VND','dong vietnamita','False',1,0),
187 (548,'$','VUV','vatu vanuatense','False',1,0),
188 (882,'$','WST','tala samoana','False',1,0),
189 (950,'$','XAF','franco CFA de África central','False',1,0),
190 (951,'$','XCD','dólar del Caribe Oriental','False',1,0),
191 (952,'$','XOF','franco CFA de África Occidental','False',1,0),
192 (953,'$','XPF','franco CFP','False',1,0),
193 (886,'$','YER','rial yemení','False',1,0),
194 (710,'$','ZAR','rand sudafricano','False',1,0),
195 (967,'$','ZMW','kwacha zambiano','False',1,0)
196
197
198
199--Crear la tabla ListasDePrecios
200IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ListasDePrecios')
201BEGIN
202 CREATE TABLE [dbo].[ListasDePrecios](
203 [Id] [int] IDENTITY(1,1) NOT NULL,
204 [Nombre] [varchar](30) NOT NULL,
205 [NombreAsignado] [varchar](50) NOT NULL,
206 [EsCustom] [bit] NOT NULL,
207 [LlevaIVA] [bit] NOT NULL,
208 [EsCosto] [bit] NOT NULL
209) ON [PRIMARY]
210END
211
212--Crear la tabla Precios
213IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Precios')
214BEGIN
215 CREATE TABLE [dbo].[Precios](
216 [Id_Articulo] [int] NOT NULL,
217 [IDC_Articulo] [varchar](16) NOT NULL,
218 [Id_ListaDePrecio] [int] NOT NULL,
219 [Id_Moneda] [int] NOT NULL,
220 [Precio] [float] NOT NULL
221) ON [PRIMARY]
222END
223
224--Los precios No custom se agregarán siempre, los alternativos solo cuando se necesiten
225IF NOT EXISTS (SELECT 1 FROM ListasDePrecios WHERE Nombre = 'PrecioListaProveedor')
226INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values
227('PrecioListaProveedor' ,'Precio Lista Proveedor', 0,0,1)
228
229IF NOT EXISTS (SELECT 1 FROM ListasDePrecios WHERE Nombre = 'PrecioMayorista')
230INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values
231('PrecioMayorista' ,'Precio Mayorista', 0,0,0)
232
233IF NOT EXISTS (SELECT 1 FROM ListasDePrecios WHERE Nombre = 'PrecioPublico')
234INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values
235('PrecioPublico' ,'Público Oferta', 0,1,0)
236
237IF NOT EXISTS (SELECT 1 FROM ListasDePrecios WHERE Nombre = 'PrecioPublicoLista')
238INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values
239('PrecioPublicoLista' ,'Público Lista', 0,1,0)
240
241IF NOT EXISTS (SELECT 1 FROM ListasDePrecios WHERE Nombre = 'PrecioComercio')
242INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values
243('PrecioComercio' ,'Precio Comercio', 0,0,0)
244
245IF NOT EXISTS (SELECT 1 FROM ListasDePrecios WHERE Nombre = 'PrecioFob')
246INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values
247('PrecioFob' ,'Precio Fob', 0,1,0)
248
249
250DECLARE @idListaProveedor int = (SELECT id from ListasDePrecios WHERE Nombre = 'PrecioListaProveedor')
251DECLARE @idMayorista int = (SELECT id from ListasDePrecios WHERE Nombre = 'PrecioMayorista')
252DECLARE @idPublico int = (SELECT id from ListasDePrecios WHERE Nombre = 'PrecioPublico')
253DECLARE @idPublicoLista int = (SELECT id from ListasDePrecios WHERE Nombre = 'PrecioPublicoLista')
254DECLARE @idComercio int = (SELECT id from ListasDePrecios WHERE Nombre = 'PrecioComercio')
255DECLARE @idFob int = (SELECT id from ListasDePrecios WHERE Nombre = 'PrecioFob')
256
257DECLARE @idAlt1 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo1')
258DECLARE @idAlt2 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo2')
259DECLARE @idAlt3 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo3')
260DECLARE @idAlt4 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo4')
261DECLARE @idAlt5 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo5')
262DECLARE @idAlt6 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo6')
263DECLARE @idAlt7 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo7')
264DECLARE @idAlt8 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo8')
265DECLARE @idAlt9 int = (SELECT ISNULL(id,0) from ListasDePrecios WHERE Nombre = 'PrecioAlternativo9')
266
267
268DECLARE @NombreAlt1 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 1') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 1')
269DECLARE @NombreAlt2 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 2') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 2')
270DECLARE @NombreAlt3 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 3') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 3')
271DECLARE @NombreAlt4 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 4') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 4')
272DECLARE @NombreAlt5 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 5') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 5')
273DECLARE @NombreAlt6 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 6') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 6')
274DECLARE @NombreAlt7 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 7') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 7')
275DECLARE @NombreAlt8 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 8') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 8')
276DECLARE @NombreAlt9 char(30) = (SELECT ISNULL(NombreAsignado,'Precio Alternativo 9') from NombreDeLosPrecios WHERE RTRIM(LTRIM(NombreHistorico)) = 'Precio Alternativo 9')
277
278
279DECLARE @idARS int = (SELECT id from Monedas WHERE AbreviacionMoneda = 'ARS')
280DECLARE @idUSD int = (SELECT id from Monedas WHERE AbreviacionMoneda = 'USD')
281
282
283DECLARE @art_id int,
284 @art_IDC varchar(16),
285 @art_PrecioListaProveedor float,
286 @art_PrecioMayorista float,
287 @art_PrecioPublico float,
288 @art_PrecioPublicoLista float,
289 @art_PrecioComercio float,
290 @art_PrecioFob float,
291 @art_PrecioAlternativo1 float,
292 @art_PrecioAlternativo2 float,
293 @art_PrecioAlternativo3 float,
294 @art_PrecioAlternativo4 float,
295 @art_PrecioAlternativo5 float,
296 @art_PrecioAlternativo6 float,
297 @art_PrecioAlternativo7 float,
298 @art_PrecioAlternativo8 float,
299 @art_PrecioAlternativo9 float,
300 @art_moneda varchar(1),
301 @art_monedaFob varchar(3)
302
303DECLARE art_cursor CURSOR FOR
304 SELECT id,
305 IDC,
306 PrecioListaProveedor,
307 PrecioMayorista,
308 PrecioPublico,
309 PrecioPublicoLista,
310 PrecioComercio,
311 PrecioFob,
312 PrecioAlternativo1,
313 PrecioAlternativo2,
314 PrecioAlternativo3,
315 PrecioAlternativo4,
316 PrecioAlternativo5,
317 PrecioAlternativo6,
318 PrecioAlternativo7,
319 PrecioAlternativo8,
320 PrecioAlternativo9,
321 Moneda,
322 MonedaFob
323 FROM [dbo].Articulos WHERE IDC != '' AND IDC is not null AND Paquete = 0
324
325 OPEN art_cursor
326 FETCH NEXT FROM art_cursor
327 INTO @art_id,
328 @art_idc,
329 @art_PrecioListaProveedor,
330 @art_PrecioMayorista,
331 @art_PrecioPublico,
332 @art_PrecioPublicoLista,
333 @art_PrecioComercio,
334 @art_PrecioFob,
335 @art_PrecioAlternativo1,
336 @art_PrecioAlternativo2,
337 @art_PrecioAlternativo3,
338 @art_PrecioAlternativo4,
339 @art_PrecioAlternativo5,
340 @art_PrecioAlternativo6,
341 @art_PrecioAlternativo7,
342 @art_PrecioAlternativo8,
343 @art_PrecioAlternativo9,
344 @art_moneda,
345 @art_monedaFob
346 WHILE @@FETCH_STATUS = 0
347 BEGIN
348 --Lista Proveedor
349 IF NOT EXISTS
350 (SELECT 1 FROM Precios WHERE Id_Articulo = @art_id
351 AND Id_ListaDePrecio = @idListaProveedor
352 )
353 BEGIN
354 IF @art_PrecioListaProveedor <> 0
355 BEGIN
356 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
357 Values(@art_id, @art_IDC, @idListaProveedor, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioListaProveedor)
358 END
359 END
360
361 --Mayorista
362 IF NOT EXISTS
363 (SELECT 1 FROM Precios WHERE Id_Articulo = @art_id
364 AND Id_ListaDePrecio = @idMayorista
365 )
366 BEGIN
367 IF @art_PrecioMayorista <> 0
368 BEGIN
369 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
370 Values(@art_id, @art_IDC, @idMayorista, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioMayorista)
371 END
372 END
373
374 --Publico
375 IF NOT EXISTS
376 (SELECT 1 FROM Precios WHERE Id_Articulo = @art_id
377 AND Id_ListaDePrecio = @idPublico
378 )
379 BEGIN
380 IF @art_PrecioPublico <> 0
381 BEGIN
382 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
383 Values(@art_id, @art_IDC, @idPublico, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioPublico)
384 END
385 END
386
387 --Publico Lista
388 IF NOT EXISTS
389 (SELECT 1 FROM Precios WHERE Id_Articulo = @art_id
390 AND Id_ListaDePrecio = @idPublicoLista
391 )
392 BEGIN
393 IF @art_PrecioPublicoLista <> 0
394 BEGIN
395 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
396 Values(@art_id, @art_IDC, @idPublicoLista, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioPublicoLista)
397 END
398 END
399
400 --Publico Comercio
401 IF NOT EXISTS
402 (SELECT 1 FROM Precios WHERE Id_Articulo = @art_id
403 AND Id_ListaDePrecio = @idComercio
404 )
405 BEGIN
406 IF @art_PrecioComercio <> 0
407 BEGIN
408 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
409 Values(@art_id, @art_IDC, @idComercio, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioComercio)
410 END
411 END
412
413 --Publico Fob
414 IF NOT EXISTS
415 (SELECT 1 FROM Precios WHERE Id_Articulo = @art_id
416 AND Id_ListaDePrecio = @idFob
417 )
418 BEGIN
419 IF @art_PrecioFob <> 0
420 BEGIN
421 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
422 Values(@art_id, @art_IDC, @idFob, CASE WHEN @art_monedaFob = '$' THEN @idARS ELSE @idUSD END, @art_PrecioFob)
423 END
424 END
425
426 --Alternativo1
427 IF @idAlt1 IS NULL
428 BEGIN
429 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo1',@NombreAlt1, 1,1,0)
430 SET @idAlt1 = SCOPE_IDENTITY()
431 END
432 IF @art_PrecioAlternativo1 <> 0
433 BEGIN
434 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
435 Values(@art_id, @art_IDC, @idAlt1, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo1)
436 END
437
438 --Alternativo2
439 IF @idAlt2 IS NULL
440 begin
441 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo2',@NombreAlt2, 1,1,0)
442 SET @idAlt2 = SCOPE_IDENTITY()
443 end
444 IF @art_PrecioAlternativo2 <> 0
445 BEGIN
446 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
447 Values(@art_id, @art_IDC, @idAlt2, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo2)
448 END
449
450 --Alternativo3
451 IF @idAlt3 IS NULL
452 begin
453 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo3',@NombreAlt3, 1,1,0)
454 SET @idAlt3 = SCOPE_IDENTITY()
455 end
456 IF @art_PrecioAlternativo3 <> 0
457 BEGIN
458 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
459 Values(@art_id, @art_IDC, @idAlt3, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo3)
460 END
461
462 --Alternativo4
463 IF @idAlt4 IS NULL
464 begin
465 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo4',@NombreAlt4, 1,1,0)
466 SET @idAlt4 = SCOPE_IDENTITY()
467 end
468 IF @art_PrecioAlternativo4 <> 0
469 BEGIN
470 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
471 Values(@art_id, @art_IDC, @idAlt4, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo4)
472 END
473
474 --Alternativo5
475 IF @idAlt5 IS NULL
476 begin
477 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo5',@NombreAlt5, 1,1,0)
478 SET @idAlt5 = SCOPE_IDENTITY()
479 end
480 IF @art_PrecioAlternativo5 <> 0
481 BEGIN
482 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
483 Values(@art_id, @art_IDC, @idAlt5, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo5)
484 END
485
486 --Alternativo6
487 IF @idAlt6 IS NULL
488 begin
489 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo6',@NombreAlt6, 1,1,0)
490 SET @idAlt6 = SCOPE_IDENTITY()
491 end
492 IF @art_PrecioAlternativo6 <> 0
493 BEGIN
494 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
495 Values(@art_id, @art_IDC, @idAlt6, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo6)
496 END
497
498 --Alternativo7
499 IF @idAlt7 IS NULL
500 begin
501 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo7',@NombreAlt7, 1,1,0)
502 SET @idAlt7 = SCOPE_IDENTITY()
503 end
504 IF @art_PrecioAlternativo7 <> 0
505 BEGIN
506 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
507 Values(@art_id, @art_IDC, @idAlt7, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo7)
508 END
509
510 --Alternativo8
511 IF @idAlt8 IS NULL
512 begin
513 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo8',@NombreAlt8, 1,1,0)
514 SET @idAlt8 = SCOPE_IDENTITY()
515 end
516 IF @art_PrecioAlternativo8 <> 0
517 BEGIN
518 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
519 Values(@art_id, @art_IDC, @idAlt8, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo8)
520 END
521
522 --Alternativo9
523 IF @idAlt9 IS NULL
524 begin
525 INSERT INTO ListasDePrecios(Nombre, NombreAsignado, esCustom, LlevaIVA, esCosto) Values ('PrecioAlternativo9',@NombreAlt9, 1,1,0)
526 SET @idAlt9 = SCOPE_IDENTITY()
527 end
528 IF @art_PrecioAlternativo9 <> 0
529 BEGIN
530 INSERT INTO [dbo].[Precios](Id_Articulo, IDC_Articulo, Id_ListaDePrecio, Id_Moneda, Precio)
531 Values(@art_id, @art_IDC, @idAlt9, CASE WHEN @art_moneda = '$' THEN @idARS ELSE @idUSD END, @art_PrecioAlternativo9)
532 END
533
534 FETCH NEXT FROM art_cursor
535 INTO @art_id,
536 @art_idc,
537 @art_PrecioListaProveedor,
538 @art_PrecioMayorista,
539 @art_PrecioPublico,
540 @art_PrecioPublicoLista,
541 @art_PrecioComercio,
542 @art_PrecioFob,
543 @art_PrecioAlternativo1,
544 @art_PrecioAlternativo2,
545 @art_PrecioAlternativo3,
546 @art_PrecioAlternativo4,
547 @art_PrecioAlternativo5,
548 @art_PrecioAlternativo6,
549 @art_PrecioAlternativo7,
550 @art_PrecioAlternativo8,
551 @art_PrecioAlternativo9,
552 @art_moneda,
553 @art_monedaFob
554 END
555CLOSE art_cursor
556DEALLOCATE art_cursor
557
558COMMIT TRAN TRAN_PRECIOS;
559END