Advertisement
Guest User

1С ФИФО в запросе

a guest
Dec 16th, 2018
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.63 KB | None | 0 0
  1. ВЫБРАТЬ
  2. ВзаиморасчетыСПокупателями.Контрагент КАК Контрагент,
  3. ВзаиморасчетыСПокупателями.Регистратор КАК Регистратор,
  4. ВзаиморасчетыСПокупателями.МоментВремени КАК Период,
  5. СУММА(ВзаиморасчетыСПокупателями.Сумма) КАК Сумма
  6. ПОМЕСТИТЬ Задолженность
  7. ИЗ
  8. РегистрНакопления.ВзаиморасчетыСПокупателями КАК ВзаиморасчетыСПокупателями
  9. ГДЕ
  10. ВзаиморасчетыСПокупателями.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
  11.  
  12. СГРУППИРОВАТЬ ПО
  13. ВзаиморасчетыСПокупателями.Контрагент,
  14. ВзаиморасчетыСПокупателями.Регистратор,
  15. ВзаиморасчетыСПокупателями.МоментВремени
  16.  
  17. ИНДЕКСИРОВАТЬ ПО
  18. Регистратор,
  19. Контрагент
  20. ;
  21.  
  22. ////////////////////////////////////////////////////////////////////////////////
  23. ВЫБРАТЬ
  24. ВзаиморасчетыСПокупателями.Контрагент КАК Контрагент,
  25. ВзаиморасчетыСПокупателями.Регистратор КАК Регистратор,
  26. ВзаиморасчетыСПокупателями.МоментВремени КАК Период,
  27. СУММА(ВзаиморасчетыСПокупателями.Сумма) КАК Сумма
  28. ПОМЕСТИТЬ Оплата
  29. ИЗ
  30. РегистрНакопления.ВзаиморасчетыСПокупателями КАК ВзаиморасчетыСПокупателями
  31. ГДЕ
  32. ВзаиморасчетыСПокупателями.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
  33.  
  34. СГРУППИРОВАТЬ ПО
  35. ВзаиморасчетыСПокупателями.Контрагент,
  36. ВзаиморасчетыСПокупателями.Регистратор,
  37. ВзаиморасчетыСПокупателями.МоментВремени
  38.  
  39. ИНДЕКСИРОВАТЬ ПО
  40. Регистратор,
  41. Контрагент
  42. ;
  43.  
  44. ////////////////////////////////////////////////////////////////////////////////
  45. ВЫБРАТЬ
  46. ЗадолженностьПоКонтрагенту.Контрагент КАК Контрагент,
  47. СУММА(ЗадолженностьПоКонтрагенту.Сумма) КАК Сумма
  48. ПОМЕСТИТЬ ЗадолженностьПоКонтрагенту
  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. ЗадолженностьПоДокументам.Период,
  74. ЗадолженностьПоДокументам.Контрагент,
  75. ЗадолженностьПоДокументам.Регистратор,
  76. ЗадолженностьПоДокументам.Сумма
  77. ПОМЕСТИТЬ ЗадолженностьПоДокументам
  78. ИЗ
  79. (ВЫБРАТЬ
  80. Задолженность.Период КАК Период,
  81. Задолженность.Контрагент КАК Контрагент,
  82. Задолженность.Регистратор КАК Регистратор,
  83. Задолженность.Сумма КАК Сумма
  84. ИЗ
  85. ЗадолженностьПоКонтрагенту КАК ОбщаяЗадолженность
  86. ВНУТРЕННЕЕ СОЕДИНЕНИЕ Задолженность КАК Задолженность
  87. ПО (ОбщаяЗадолженность.Сумма > 0)
  88. И ОбщаяЗадолженность.Контрагент = Задолженность.Контрагент) КАК ЗадолженностьПоДокументам
  89. ;
  90.  
  91. ////////////////////////////////////////////////////////////////////////////////
  92. ВЫБРАТЬ
  93. ЗадолженностьПоДокументам.Регистратор КАК Документ,
  94. ЗадолженностьПоКонтрагенту.Контрагент КАК Контрагент,
  95. ВЫБОР
  96. КОГДА ЗадолженностьПоДокументам.Сумма ЕСТЬ NULL
  97. ТОГДА ЗадолженностьПоКонтрагенту.Сумма
  98. КОГДА ЗадолженностьПоКонтрагенту.Сумма >= ЗадолженностьПоДокументам.СуммаНакорленная
  99. ТОГДА ЗадолженностьПоДокументам.Сумма
  100. ИНАЧЕ ЗадолженностьПоКонтрагенту.Сумма - (ЗадолженностьПоДокументам.СуммаНакорленная - ЗадолженностьПоДокументам.Сумма)
  101. КОНЕЦ КАК Сумма
  102. ИЗ
  103. ЗадолженностьПоКонтрагенту КАК ЗадолженностьПоКонтрагенту
  104. ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
  105. ДокументыОстатковЗадолженности.Период КАК Период,
  106. ДокументыОстатковЗадолженности.Контрагент КАК Контрагент,
  107. ДокументыОстатковЗадолженности.Регистратор КАК Регистратор,
  108. СУММА(ЕСТЬNULL(ДокументыОстатковЗадолженности1.Сумма, 0)) КАК СуммаНакорленная,
  109. ДокументыОстатковЗадолженности.Сумма КАК Сумма
  110. ИЗ
  111. ЗадолженностьПоДокументам КАК ДокументыОстатковЗадолженности
  112. ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЗадолженностьПоДокументам КАК ДокументыОстатковЗадолженности1
  113. ПО ДокументыОстатковЗадолженности.Период <= ДокументыОстатковЗадолженности1.Период
  114. И ДокументыОстатковЗадолженности.Контрагент = ДокументыОстатковЗадолженности1.Контрагент
  115.  
  116. СГРУППИРОВАТЬ ПО
  117. ДокументыОстатковЗадолженности.Период,
  118. ДокументыОстатковЗадолженности.Контрагент,
  119. ДокументыОстатковЗадолженности.Регистратор,
  120. ДокументыОстатковЗадолженности.Сумма) КАК ЗадолженностьПоДокументам
  121. ПО (ЗадолженностьПоКонтрагенту.Сумма > 0
  122. И ЗадолженностьПоКонтрагенту.Сумма >= ЗадолженностьПоДокументам.СуммаНакорленная
  123. ИЛИ ЗадолженностьПоКонтрагенту.Сумма >= ЗадолженностьПоДокументам.СуммаНакорленная - ЗадолженностьПоДокументам.Сумма)
  124. И ЗадолженностьПоКонтрагенту.Контрагент = ЗадолженностьПоДокументам.Контрагент
  125. ГДЕ
  126. НЕ ВЫБОР
  127. КОГДА ЗадолженностьПоДокументам.Сумма ЕСТЬ NULL
  128. ТОГДА ЗадолженностьПоКонтрагенту.Сумма
  129. КОГДА ЗадолженностьПоКонтрагенту.Сумма >= ЗадолженностьПоДокументам.СуммаНакорленная
  130. ТОГДА ЗадолженностьПоДокументам.Сумма
  131. ИНАЧЕ ЗадолженностьПоКонтрагенту.Сумма - (ЗадолженностьПоДокументам.СуммаНакорленная - ЗадолженностьПоДокументам.Сумма)
  132. КОНЕЦ = 0
  133.  
  134. УПОРЯДОЧИТЬ ПО
  135. Контрагент,
  136. ЗадолженностьПоДокументам.Период
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement