Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.22 KB | None | 0 0
  1. ВЫБРАТЬ
  2. СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
  3. СУММА(СвободныеОстаткиОстатки.ВНаличииОстаток) КАК КоличествоСвободныхОстатков
  4. ПОМЕСТИТЬ СвободныеОстатки
  5. ИЗ
  6. РегистрНакопления.СвободныеОстатки.Остатки(&ТекущаяДата {(&ТекущаяДата)}, ) КАК СвободныеОстаткиОстатки
  7. {ГДЕ
  8. (СвободныеОстаткиОстатки.Склад В (&Склад))}
  9.  
  10. СГРУППИРОВАТЬ ПО
  11. СвободныеОстаткиОстатки.Номенклатура
  12.  
  13. ИНДЕКСИРОВАТЬ ПО
  14. Номенклатура
  15. ;
  16.  
  17. ////////////////////////////////////////////////////////////////////////////////
  18. ВЫБРАТЬ
  19. ВложенныйЗапрос1.АналитикаУчетаНоменклатурыНоменклатура КАК Номенклатура,
  20. СУММА(ВЫРАЗИТЬ(ЕСТЬNULL(ВложенныйЗапрос1.СтоимостьИзРегСвед + ВложенныйЗапрос1.СтоимостьЗабалансовая, 0) КАК ЧИСЛО(15, 2))) КАК СтоимостьЕдиницы
  21. ПОМЕСТИТЬ СтоимостьЕдиницы
  22. ИЗ
  23. (ВЫБРАТЬ
  24. СтоимостьТоваровСрезПоследних.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура,
  25. СРЕДНЕЕ(СтоимостьТоваровСрезПоследних.Стоимость) КАК СтоимостьИзРегСвед,
  26. СРЕДНЕЕ(СтоимостьТоваровСрезПоследних.СтоимостьЗабалансовая) КАК СтоимостьЗабалансовая
  27. ИЗ
  28. РегистрСведений.СтоимостьТоваров.СрезПоследних(&ТекущаяДата {(&ТекущаяДата)}, ) КАК СтоимостьТоваровСрезПоследних
  29.  
  30. СГРУППИРОВАТЬ ПО
  31. СтоимостьТоваровСрезПоследних.АналитикаУчетаНоменклатуры.Номенклатура) КАК ВложенныйЗапрос1
  32.  
  33. СГРУППИРОВАТЬ ПО
  34. ВложенныйЗапрос1.АналитикаУчетаНоменклатурыНоменклатура
  35. ;
  36.  
  37. ////////////////////////////////////////////////////////////////////////////////
  38. ВЫБРАТЬ
  39. ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей КАК СпособОбеспеченияПотребностей,
  40. ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод КАК ОбеспечиваемыйПериод,
  41. ВариантыОбеспеченияТоварами.Номенклатура КАК Номенклатура,
  42. СУММА(ВложенныйЗапрос.КоличествоСреднедневныхПродаж) КАК КоличествоСреднедневныхПродаж,
  43. ВложенныйЗапрос.ПериодСреднедневныхПродаж КАК ПериодСреднедневныхПродаж,
  44. СУММА(ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод * ВложенныйЗапрос.КоличествоСреднедневныхПродаж) КАК КоличествоТовараДляОбеспеченияБезОкругления,
  45. СУММА(ВЫБОР
  46. КОГДА (ВЫРАЗИТЬ(ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод * ВложенныйЗапрос.КоличествоСреднедневныхПродаж КАК ЧИСЛО(10, 0))) >= ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод * ВложенныйЗапрос.КоличествоСреднедневныхПродаж
  47. ТОГДА ВЫРАЗИТЬ(ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод * ВложенныйЗапрос.КоличествоСреднедневныхПродаж КАК ЧИСЛО(10, 0))
  48. ИНАЧЕ (ВЫРАЗИТЬ(ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод * ВложенныйЗапрос.КоличествоСреднедневныхПродаж КАК ЧИСЛО(10, 0))) + 1
  49. КОНЕЦ) КАК КоличествоТовараДляОбеспечения,
  50. ВариантыОбеспеченияТоварами.Номенклатура.Марка КАК НоменклатураМарка
  51. ПОМЕСТИТЬ Обеспечение
  52. ИЗ
  53. РегистрСведений.ВариантыОбеспеченияТоварами КАК ВариантыОбеспеченияТоварами
  54. ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
  55. РАЗНОСТЬДАТ(&НачалоПериодаДляСреднедневныхПродаж, &КонецПериодаДляСреднедневныхПродаж, ДЕНЬ) КАК ПериодСреднедневныхПродаж,
  56. СУММА(ВложенныйЗапрос.КоличествоПродаж / РАЗНОСТЬДАТ(&НачалоПериодаДляСреднедневныхПродаж, &КонецПериодаДляСреднедневныхПродаж, ДЕНЬ)) КАК КоличествоСреднедневныхПродаж,
  57. СУММА(ВложенныйЗапрос.КоличествоПродаж) КАК КоличествоПродаж,
  58. ВложенныйЗапрос.Номенклатура КАК Номенклатура
  59. ИЗ
  60. (ВЫБРАТЬ
  61. ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
  62. СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот) КАК КоличествоПродаж
  63. ИЗ
  64. РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериодаДляСреднедневныхПродаж {(&НачалоПериодаДляСреднедневныхПродаж)}, &КонецПериодаДляСреднедневныхПродаж {(&КонецПериодаДляСреднедневныхПродаж)}, , ) КАК ВыручкаИСебестоимостьПродажОбороты
  65.  
  66. СГРУППИРОВАТЬ ПО
  67. ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура) КАК ВложенныйЗапрос
  68.  
  69. СГРУППИРОВАТЬ ПО
  70. ВложенныйЗапрос.Номенклатура) КАК ВложенныйЗапрос
  71. ПО ВариантыОбеспеченияТоварами.Номенклатура = ВложенныйЗапрос.Номенклатура
  72. И (ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ТипОбеспечения = ЗНАЧЕНИЕ(Перечисление.ТипыОбеспечения.Покупка))
  73. И (ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод > 0)
  74.  
  75. СГРУППИРОВАТЬ ПО
  76. ВариантыОбеспеченияТоварами.Номенклатура,
  77. ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей,
  78. ВариантыОбеспеченияТоварами.СпособОбеспеченияПотребностей.ОбеспечиваемыйПериод,
  79. ВложенныйЗапрос.ПериодСреднедневныхПродаж,
  80. ВариантыОбеспеченияТоварами.Номенклатура.Марка
  81.  
  82. ИНДЕКСИРОВАТЬ ПО
  83. Номенклатура
  84. ;
  85.  
  86. ////////////////////////////////////////////////////////////////////////////////
  87. ВЫБРАТЬ
  88. ДанныеПроизводственногоКалендаря.Дата КАК День
  89. ПОМЕСТИТЬ Дни
  90. ИЗ
  91. РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
  92. ГДЕ
  93. ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ДатаНачалаПотеряннойПрибыли И &ДатаОкончанияПотеряннойПрибыли
  94.  
  95. СГРУППИРОВАТЬ ПО
  96. ДанныеПроизводственногоКалендаря.Дата
  97. ;
  98.  
  99. ////////////////////////////////////////////////////////////////////////////////
  100. ВЫБРАТЬ
  101. СпрНоменклатура.Ссылка КАК Номенклатура,
  102. СУММА(ВЫБОР
  103. КОГДА СвободныеОстаткиОстаткиИОбороты.Период = &ДатаНачалаПотеряннойПрибыли
  104. ТОГДА СвободныеОстаткиОстаткиИОбороты.ВНаличииКонечныйОстаток
  105. КОГДА СвободныеОстаткиОстаткиИОбороты.Период <= Дни.День
  106. ТОГДА СвободныеОстаткиОстаткиИОбороты.ВНаличииОборот
  107. ИНАЧЕ 0
  108. КОНЕЦ) КАК Остаток,
  109. Дни.День КАК День
  110. ПОМЕСТИТЬ ОстаткиНаДни
  111. ИЗ
  112. Дни КАК Дни,
  113. Справочник.Номенклатура КАК СпрНоменклатура
  114. ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(&ДатаНачалаПотеряннойПрибыли {(&ДатаНачалаПотеряннойПрибыли)}, &ДатаОкончанияПотеряннойПрибыли {(&ДатаОкончанияПотеряннойПрибыли)}, День, , {(Склад В (&СкладДляПотеряннойВыручки))}) КАК СвободныеОстаткиОстаткиИОбороты
  115. ПО (СвободныеОстаткиОстаткиИОбороты.Номенклатура = СпрНоменклатура.Ссылка)
  116.  
  117. СГРУППИРОВАТЬ ПО
  118. Дни.День,
  119. СпрНоменклатура.Ссылка
  120.  
  121. ИНДЕКСИРОВАТЬ ПО
  122. Номенклатура
  123. ;
  124.  
  125. ////////////////////////////////////////////////////////////////////////////////
  126. ВЫБРАТЬ
  127. ОстаткиНаДни.День КАК День,
  128. ОстаткиНаДни.Номенклатура КАК Номенклатура,
  129. ОстаткиНаДни.Остаток КАК Остаток,
  130. МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
  131. ПОМЕСТИТЬ МаксПериод
  132. ИЗ
  133. ОстаткиНаДни КАК ОстаткиНаДни
  134. ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
  135. ПО (ЦеныНоменклатуры.Номенклатура = ОстаткиНаДни.Номенклатура)
  136. И ОстаткиНаДни.День >= ЦеныНоменклатуры.Период
  137.  
  138. СГРУППИРОВАТЬ ПО
  139. ОстаткиНаДни.День,
  140. ОстаткиНаДни.Номенклатура,
  141. ОстаткиНаДни.Остаток
  142.  
  143. ИНДЕКСИРОВАТЬ ПО
  144. Номенклатура
  145. ;
  146.  
  147. ////////////////////////////////////////////////////////////////////////////////
  148. ВЫБРАТЬ
  149. МаксПериод.Номенклатура КАК Номенклатура,
  150. МаксПериод.Остаток КАК Остаток,
  151. СРЕДНЕЕ(ЦеныНоменклатуры.Цена) КАК Цена,
  152. МаксПериод.День КАК День
  153. ПОМЕСТИТЬ ОстаткиИЦены
  154. ИЗ
  155. МаксПериод КАК МаксПериод
  156. ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
  157. ПО МаксПериод.Номенклатура = ЦеныНоменклатуры.Номенклатура
  158. И МаксПериод.Период = ЦеныНоменклатуры.Период
  159. ГДЕ
  160. ЦеныНоменклатуры.ВидЦены = &ВидЦены
  161.  
  162. СГРУППИРОВАТЬ ПО
  163. МаксПериод.Остаток,
  164. МаксПериод.Номенклатура,
  165. МаксПериод.День
  166. ;
  167.  
  168. ////////////////////////////////////////////////////////////////////////////////
  169. ВЫБРАТЬ
  170. СУММА(ВЫБОР
  171. КОГДА ОстаткиИЦены.Остаток = 0
  172. ИЛИ ОстаткиИЦены.Остаток ЕСТЬ NULL
  173. ТОГДА 1
  174. ИНАЧЕ 0
  175. КОНЕЦ) КАК КоличествоДней,
  176. ОстаткиИЦены.Номенклатура КАК Номенклатура,
  177. СУММА(ВЫБОР
  178. КОГДА ОстаткиИЦены.Остаток = 0
  179. ИЛИ ОстаткиИЦены.Остаток ЕСТЬ NULL
  180. ТОГДА ОстаткиИЦены.Цена
  181. ИНАЧЕ 0
  182. КОНЕЦ) КАК СуммаЦенНаПустыеОстатки,
  183. СУММА(ВЫБОР
  184. КОГДА ОстаткиИЦены.Остаток > 0
  185. ТОГДА 1
  186. ИНАЧЕ 0
  187. КОНЕЦ) КАК КоличествоДнейПрисутствияТовара
  188. ПОМЕСТИТЬ Группируем
  189. ИЗ
  190. (ВЫБРАТЬ
  191. МаксПериод.Номенклатура КАК Номенклатура,
  192. МаксПериод.Остаток КАК Остаток,
  193. СРЕДНЕЕ(ЦеныНоменклатуры.Цена) КАК Цена,
  194. МаксПериод.День КАК День
  195. ИЗ
  196. МаксПериод КАК МаксПериод
  197. ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
  198. ПО МаксПериод.Номенклатура = ЦеныНоменклатуры.Номенклатура
  199. И МаксПериод.Период = ЦеныНоменклатуры.Период
  200. ГДЕ
  201. ЦеныНоменклатуры.ВидЦены = &ВидЦены
  202.  
  203. СГРУППИРОВАТЬ ПО
  204. МаксПериод.Остаток,
  205. МаксПериод.Номенклатура,
  206. МаксПериод.День) КАК ОстаткиИЦены
  207.  
  208. СГРУППИРОВАТЬ ПО
  209. ОстаткиИЦены.Номенклатура
  210. ;
  211.  
  212. ////////////////////////////////////////////////////////////////////////////////
  213. ВЫБРАТЬ
  214. Группируем.Номенклатура КАК Номенклатура,
  215. ВЫБОР
  216. КОГДА Группируем.КоличествоДней = 0
  217. ИЛИ Группируем.КоличествоДней ЕСТЬ NULL
  218. ТОГДА 0
  219. ИНАЧЕ Группируем.СуммаЦенНаПустыеОстатки / Группируем.КоличествоДней
  220. КОНЕЦ КАК СредняяЦенаНаДниСПустымиОстатками,
  221. Группируем.КоличествоДней КАК КоличествоДней,
  222. Группируем.СуммаЦенНаПустыеОстатки КАК СуммаЦенНаПустыеОстатки,
  223. Группируем.КоличествоДнейПрисутствияТовара КАК КоличествоДнейПрисутствияТовара
  224. ПОМЕСТИТЬ ИтогоРассчётыДляВыручки
  225. ИЗ
  226. Группируем КАК Группируем
  227.  
  228. ИНДЕКСИРОВАТЬ ПО
  229. Номенклатура
  230. ;
  231.  
  232. ////////////////////////////////////////////////////////////////////////////////
  233. ВЫБРАТЬ
  234. ВТОбеспечение.СпособОбеспеченияПотребностей КАК СпособОбеспеченияПотребностей,
  235. ВТОбеспечение.ОбеспечиваемыйПериод КАК ОбеспечиваемыйПериод,
  236. ВТОбеспечение.ПериодСреднедневныхПродаж КАК ПериодСреднедневныхПродаж,
  237. ВТОбеспечение.КоличествоСреднедневныхПродаж КАК КоличествоСреднедневныхПродаж,
  238. ВТОбеспечение.КоличествоТовараДляОбеспеченияБезОкругления КАК КоличествоТовараДляОбеспеченияБезОкругления,
  239. ВТОбеспечение.КоличествоТовараДляОбеспечения КАК КоличествоТовараДляОбеспечения,
  240. ЕСТЬNULL(ВТСвободныеОстатки.КоличествоСвободныхОстатков, 0) КАК КоличествоСвободныхОстатков,
  241. ВТОбеспечение.КоличествоТовараДляОбеспечения - ЕСТЬNULL(ВТСвободныеОстатки.КоличествоСвободныхОстатков, 0) КАК КоличествоРассчитаннаяПотребность,
  242. ЕСТЬNULL(ВТСтоимостьЕдиницы.СтоимостьЕдиницы, 0) КАК СтоимостьЕдиницы,
  243. (ВТОбеспечение.КоличествоТовараДляОбеспечения - ЕСТЬNULL(ВТСвободныеОстатки.КоличествоСвободныхОстатков, 0)) * ЕСТЬNULL(ВТСтоимостьЕдиницы.СтоимостьЕдиницы, 0) КАК СтоимостьРассчитаннаяПотребность,
  244. ЕСТЬNULL(ВТСвободныеОстатки.КоличествоСвободныхОстатков, 0) * ЕСТЬNULL(ВТСтоимостьЕдиницы.СтоимостьЕдиницы, 0) КАК СтоимостьОстатков,
  245. ВТОбеспечение.НоменклатураМарка КАК Марка,
  246. ВТОбеспечение.Номенклатура КАК Номенклатура,
  247. (ВТОбеспечение.КоличествоТовараДляОбеспечения - ЕСТЬNULL(ВТСвободныеОстатки.КоличествоСвободныхОстатков, 0)) * ВТИтогоРассчётыДляВыручки.СредняяЦенаНаДниСПустымиОстатками КАК ПотеряннаяВыручка,
  248. ВТИтогоРассчётыДляВыручки.КоличествоДней КАК КоличествоДнейОтсутсвияТовара,
  249. ВТИтогоРассчётыДляВыручки.СредняяЦенаНаДниСПустымиОстатками КАК Цена,
  250. ВТИтогоРассчётыДляВыручки.КоличествоДнейПрисутствияТовара КАК КоличествоДнейПрисутствияТовара
  251. ИЗ
  252. Обеспечение КАК ВТОбеспечение
  253. ЛЕВОЕ СОЕДИНЕНИЕ СвободныеОстатки КАК ВТСвободныеОстатки
  254. ПО ВТОбеспечение.Номенклатура = ВТСвободныеОстатки.Номенклатура
  255. ЛЕВОЕ СОЕДИНЕНИЕ СтоимостьЕдиницы КАК ВТСтоимостьЕдиницы
  256. ПО ВТОбеспечение.Номенклатура = ВТСтоимостьЕдиницы.Номенклатура
  257. ЛЕВОЕ СОЕДИНЕНИЕ ИтогоРассчётыДляВыручки КАК ВТИтогоРассчётыДляВыручки
  258. ПО ВТОбеспечение.Номенклатура = ВТИтогоРассчётыДляВыручки.Номенклатура
  259. ГДЕ
  260. ВТОбеспечение.КоличествоТовараДляОбеспечения - ЕСТЬNULL(ВТСвободныеОстатки.КоличествоСвободныхОстатков, 0) > 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement