Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.11 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. Запрос2 = Новый Запрос;
  38. Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
  39. Запрос2.Текст = "ВЫБРАТЬ
  40. | НоменклатураДокумента.Номенклатура,
  41. | НоменклатураДокумента.ВидНоменклатуры,
  42. | НоменклатураДокумента.КоличествоВДокументе,
  43. | НоменклатураДокумента.СуммаВДокументе,
  44. | СтоимостьМатериаловОстатки.Материал,
  45. | ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость,
  46. | ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество
  47. |ИЗ
  48. | НоменклатураДокумента КАК НоменклатураДокумента
  49. | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
  50. | ,
  51. | Материал В
  52. | (ВЫБРАТЬ
  53. | НоменклатураДокумента.Номенклатура
  54. | ИЗ
  55. | НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
  56. | ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
  57. | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
  58. | ,
  59. | Материалы В
  60. | (ВЫБРАТЬ
  61. | НоменклатураДокумента.Номенклатура
  62. | ИЗ
  63. | НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
  64. | ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материалы"; //КоличествоОстаток
  65.  
  66. Движения.СтоимостьМатериалов.Записать();
  67. Движения.ОстаткиМатериалов.Записать();
  68. РезультатЗапроса = Запрос2.Выполнить();
  69.  
  70. ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
  71.  
  72. Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
  73. Если ВыборкаДетальныеЗаписи.Количество = 0 тогда
  74. СтоимостьМатериала=0;
  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. КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement