Quellcode durchsuchen

создан GET service/product-stock

pull/1/head
Ursprung
Commit
08f0b1bfec
1 geänderte Dateien mit 50 neuen und 6 gelöschten Zeilen
  1. 50
    6
      modules/mshop_service_module.spm

+ 50
- 6
modules/mshop_service_module.spm Datei anzeigen

@@ -71,14 +71,14 @@
71 71
 		#macro_exec macro_stemplate
72 72
 
73 73
 		#splp_connect
74
-		#splp_send_out
74
+		#splp_send_out 
75 75
 
76 76
 	#catch
77 77
 		#se error=[?%exception.short_msg];[?%exception.msg];ENV [$env];
78 78
 		#se j:result={{"result":false,"message":"[error]"}}
79 79
 		#exitproc
80 80
 	#endtry
81
-
81
+	
82 82
 	#r
83 83
 	#out_restore proc_out
84 84
 	#env_get_env
@@ -158,16 +158,16 @@
158 158
 	left join @<Справочники.ЗначенияСвойств>@ sznsv_color on sznsv_color.Ссылка=znsv_color.Значение
159 159
 	left join @<Таблицы.ЗначенияСвойств>@ znsv_size on znsv_size.Объект=xar.Ссылка and znsv_size.Свойство=(select ссылка from @<Справочники.НаименованияСвойств>@ where Наименование = 'размер')
160 160
 	left join @<Справочники.ЗначенияСвойств>@ sznsv_size on sznsv_size.Ссылка=znsv_size.Значение
161
-
161
+	
162 162
 	left join tablici_prajsi as pr_base_nom on pr_base_nom.Номенклатура=nom.ссылка and pr_base_nom.ТипЦены='[BasePriceType]' and pr_base_nom.Характеристика=0 AND pr_base_nom.Дата <= '[form_date]'
163 163
 	left join tablici_prajsi as pr_base_xxar on pr_base_xxar.Номенклатура=nom.ссылка and pr_base_xxar.ТипЦены='[BasePriceType]' and pr_base_xxar.Характеристика=xar.ссылка AND pr_base_xxar.Дата <= '[form_date]' and pr_base_xxar.Дата>=IFNULL(pr_base_nom.Дата,pr_base_xxar.Дата)
164
-
164
+	
165 165
 	left join tablici_prajsi as pr_nom on pr_nom.Номенклатура=nom.ссылка and pr_nom.ТипЦены='[PriceType]' and pr_nom.Характеристика=0 AND pr_nom.Дата <= '[form_date]' and pr_nom.Дата>=GREATEST(IFNULL(pr_base_nom.Дата, pr_nom.Дата),IFNULL(pr_base_xxar.Дата, pr_nom.Дата) )
166 166
 	left join tablici_prajsi as pr_xxar on pr_xxar.Номенклатура=nom.ссылка and pr_xxar.ТипЦены='[PriceType]' and pr_xxar.Характеристика=xar.ссылка AND pr_xxar.Дата <= '[form_date]' and pr_xxar.Дата>=GREATEST(IFNULL(pr_base_nom.Дата, pr_xxar.Дата),IFNULL(pr_base_xxar.Дата, pr_xxar.Дата),IFNULL(pr_nom.Дата, pr_xxar.Дата) )
167
-
167
+	
168 168
 	left join tablici_prajsi as pr_plan_nom on pr_plan_nom.Номенклатура=nom.ссылка and pr_plan_nom.ТипЦены='[PlanPriceType]' and pr_plan_nom.Характеристика=0 AND pr_plan_nom.Дата <= '[form_date]'
169 169
 	left join tablici_prajsi as pr_plan_xxar on pr_plan_xxar.Номенклатура=nom.ссылка and pr_plan_xxar.ТипЦены='[PlanPriceType]' and pr_plan_xxar.Характеристика=xar.ссылка AND pr_plan_xxar.Дата <= '[form_date]' and pr_plan_xxar.Дата>=IFNULL(pr_plan_nom.Дата,pr_plan_xxar.Дата)
170
-
170
+	
171 171
 	left join @<Документы.УстановкаЦенНоменклатуры>@ as uc on uc.ССЫЛКА = coalesce(pr_xxar.Документ, pr_nom.Документ, pr_base_xxar.Документ, pr_base_nom.Документ)
172 172
 	WHERE xar.Код='[product_code]'
173 173
 	#query
@@ -237,3 +237,47 @@
237 237
 	#se j:result.product_info=$j:product_info
238 238
 	
239 239
 #endproc
240
+#proc mshop_service.get.product_stock
241
+	#se j:result={{"result":true,"message":""}}
242
+	
243
+	#v j:items=[[]]
244
+	#for tov=([j:query.product_id])
245
+		#src xar_data
246
+		#r
247
+			SELECT 
248
+				xar.КОД AS code,
249
+				sznsv.Наименование AS size,
250
+				sznsv2.Наименование AS color,
251
+				SUM(ost.КОЛИЧЕСТВО) AS qty
252
+			FROM @<Справочники.ХарактеристикиНоменклатуры>@ AS xar
253
+			LEFT JOIN @<Таблицы.ЗначенияСвойств>@ znsv2 
254
+				on znsv2.Объект=xar.Ссылка 
255
+				and znsv2.Свойство=(select ссылка from @<Справочники.НаименованияСвойств>@ where Наименование='Цвет')
256
+			LEFT join @<Справочники.ЗначенияСвойств>@ sznsv2 on sznsv2.Ссылка=znsv2.Значение
257
+
258
+			LEFT JOIN @<Таблицы.ЗначенияСвойств>@ znsv 
259
+				on znsv.Объект=xar.Ссылка 
260
+				and znsv.Свойство=(select ссылка from @<Справочники.НаименованияСвойств>@ where Наименование='размер')
261
+			LEFT join @<Справочники.ЗначенияСвойств>@ sznsv on sznsv.Ссылка=znsv.Значение
262
+
263
+			INNER JOIN @<Таблицы.ОстаткиТовараВТаре>@ ost
264
+				ON ost.ХАРАКТЕРИСТИКА = xar.Ссылка 
265
+				AND ost.ТАРА = @{SELECT ССЫЛКА FROM @<Справочники.Тара>@ WHERE Наименование='ТорговыйЗал'}@
266
+			WHERE xar.Код='[tov]'
267
+			HAVING SUM(ost.КОЛИЧЕСТВО) > 0
268
+		#query
269
+		#endsrc
270
+		#if !{xar_data}
271
+			#continue
272
+		#endif
273
+		#v j:item={{}}
274
+		
275
+		#v j:item.code='{xar_data.code}'
276
+		#v j:item.size='{xar_data.size}'
277
+		#v j:item.color='{xar_data.color}'
278
+		#v j:item.qty={xar_data.qty}
279
+		
280
+		#v j:items[[]]=$j:item
281
+	#endfor
282
+	#se j:result.items=$j:items
283
+#endproc

Laden…
Abbrechen
Speichern