Advertisement
Guest User

Untitled

a guest
Jan 13th, 2022
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 10.85 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.     |ГДЕ
  88.     |   дк_ОстаткиТоваров.Активность
  89.     |   И дк_ОстаткиТоваров.Регистратор ССЫЛКА Документ.КомплектацияНоменклатуры
  90.     |   И дк_ОстаткиТоваров.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
  91.     |
  92.     |СГРУППИРОВАТЬ ПО
  93.     |   дк_ОстаткиТоваров.Регистратор,
  94.     |   ВтПоследовательность.Склад,
  95.     |   ВтПоследовательность.ХарактеристикаНоменклатуры,
  96.     |   ВтПоследовательность.СерияНоменклатуры,
  97.     |   ВтПоследовательность.Качество,
  98.     |   ВЫРАЗИТЬ(дк_ОстаткиТоваров.Регистратор КАК Документ.КомплектацияНоменклатуры).Номенклатура,
  99.     |   дк_ОстаткиТоваров.Регистратор.МоментВремени
  100.     |
  101.     |ИНДЕКСИРОВАТЬ ПО
  102.     |   Склад,
  103.     |   Номенклатура,
  104.     |   ХарактеристикаНоменклатуры,
  105.     |   СерияНоменклатуры,
  106.     |   Качество
  107.     |;
  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.     |           КОГДА НЕ дк_ПоследовательностьПартий.ДокументГраницы ЕСТЬ NULL
  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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement