Материалы и работы в производстве / Модуль набора записей

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ОбработчикиСобытий

Процедура ПередЗаписью(Отказ, Замещение)
	
	Если ОбменДанными.Загрузка
		Или РасчетСебестоимостиПрикладныеАлгоритмы.ДвиженияЗаписываютсяРасчетомПартийИСебестоимости(ЭтотОбъект) Тогда
		Возврат;
	КонецЕсли;
	
	Если РасчетСебестоимостиПрикладныеАлгоритмы.ФормироватьДвиженияРегистровУчетаСебестоимости(ЭтотОбъект) Тогда
		РасчетСебестоимостиПрикладныеАлгоритмы.СохранитьДвиженияСформированныеРасчетомПартийИСебестоимости(ЭтотОбъект, Замещение);
	КонецЕсли;
	
	Если ПланыОбмена.ГлавныйУзел() <> Неопределено
		Или Не ПроведениеДокументов.КонтролироватьИзменения(ДополнительныеСвойства) Тогда
		Возврат;
	КонецЕсли;
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	Затраты.Период,
	|	Затраты.Регистратор,
	|	Затраты.Организация,
	|	Затраты.АналитикаУчетаНоменклатуры,
	|
	|	Затраты.Количество,
	|
	|	Затраты.СтатьяКалькуляции,
	|	Затраты.ЗаказНаПроизводство,
	|	Затраты.КодСтрокиПродукция,
	|	Затраты.Этап,
	|	Затраты.Назначение,
	|	Затраты.НалогообложениеНДС,
	|	Затраты.АналитикаУчетаПродукции,
	|	Затраты.Спецификация,
	|	Затраты.СтатьяРасходов,
	|	Затраты.АналитикаРасходов,
	|	Затраты.ПодразделениеПолучатель
	|ПОМЕСТИТЬ МатериалыИРаботыВПроизводствеПередЗаписью
	|ИЗ
	|	РегистрНакопления.МатериалыИРаботыВПроизводстве КАК Затраты
	|ГДЕ
	|	Затраты.Регистратор = &Регистратор
	|");
	
	Запрос.МенеджерВременныхТаблиц = ДополнительныеСвойства.МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);
	
	Запрос.Выполнить();
	
КонецПроцедуры

Процедура ПриЗаписи(Отказ, Замещение)
	
	Если ОбменДанными.Загрузка Или Не ПроведениеДокументов.КонтролироватьИзменения(ДополнительныеСвойства)
		Или ПланыОбмена.ГлавныйУзел() <> Неопределено
		Или РасчетСебестоимостиПрикладныеАлгоритмы.ДвиженияЗаписываютсяРасчетомПартийИСебестоимости(ЭтотОбъект) Тогда
		Возврат;
	КонецЕсли;
	
	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	Таблица.Период КАК Период,
	|	Таблица.Регистратор КАК Регистратор,
	|	Таблица.Организация КАК Организация,
	|	Таблица.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
	|	Таблица.СтатьяКалькуляции КАК СтатьяКалькуляции,
	|	Таблица.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
	|	Таблица.КодСтрокиПродукция КАК КодСтрокиПродукция,
	|	Таблица.Этап КАК Этап,
	|	Таблица.Назначение КАК Назначение,
	|	Таблица.НалогообложениеНДС КАК НалогообложениеНДС,
	|	Таблица.АналитикаУчетаПродукции КАК АналитикаУчетаПродукции,
	|	Таблица.Спецификация КАК Спецификация,
	|	Таблица.СтатьяРасходов КАК СтатьяРасходов,
	|	Таблица.АналитикаРасходов КАК АналитикаРасходов,
	|	Таблица.ПодразделениеПолучатель КАК ПодразделениеПолучатель,
	|	СУММА(Таблица.Количество) КАК КоличествоИзменение
	|ПОМЕСТИТЬ ТаблицаИзмененийМатериалыИРаботыВПроизводстве
	|ИЗ
	|	(ВЫБРАТЬ
	|		Затраты.Период,
	|		Затраты.Регистратор,
	|		Затраты.Организация,
	|		Затраты.АналитикаУчетаНоменклатуры,
	|		Затраты.Количество,
	|		Затраты.СтатьяКалькуляции,
	|		Затраты.ЗаказНаПроизводство,
	|		Затраты.КодСтрокиПродукция,
	|		Затраты.Этап,
	|		Затраты.Назначение,
	|		Затраты.НалогообложениеНДС,
	|		Затраты.АналитикаУчетаПродукции,
	|		Затраты.Спецификация,
	|		Затраты.СтатьяРасходов,
	|		Затраты.АналитикаРасходов,
	|		Затраты.ПодразделениеПолучатель
	|	ИЗ
	|		МатериалыИРаботыВПроизводствеПередЗаписью КАК Затраты
	|
	|	ОБЪЕДИНИТЬ ВСЕ
	|
	|	ВЫБРАТЬ
	|		Затраты.Период,
	|		Затраты.Регистратор,
	|		Затраты.Организация,
	|		Затраты.АналитикаУчетаНоменклатуры,
	|		-Затраты.Количество,
	|		Затраты.СтатьяКалькуляции,
	|		Затраты.ЗаказНаПроизводство,
	|		Затраты.КодСтрокиПродукция,
	|		Затраты.Этап,
	|		Затраты.Назначение,
	|		Затраты.НалогообложениеНДС,
	|		Затраты.АналитикаУчетаПродукции,
	|		Затраты.Спецификация,
	|		Затраты.СтатьяРасходов,
	|		Затраты.АналитикаРасходов,
	|		Затраты.ПодразделениеПолучатель
	|	ИЗ
	|		РегистрНакопления.МатериалыИРаботыВПроизводстве КАК Затраты
	|	ГДЕ
	|		Затраты.Регистратор = &Регистратор) КАК Таблица
	|СГРУППИРОВАТЬ ПО
	|	Таблица.Период,
	|	Таблица.Регистратор,
	|	Таблица.Организация,
	|	Таблица.АналитикаУчетаНоменклатуры,
	|	Таблица.СтатьяКалькуляции,
	|	Таблица.ЗаказНаПроизводство,
	|	Таблица.КодСтрокиПродукция,
	|	Таблица.Этап,
	|	Таблица.Назначение,
	|	Таблица.НалогообложениеНДС,
	|	Таблица.АналитикаУчетаПродукции,
	|	Таблица.Спецификация,
	|	Таблица.СтатьяРасходов,
	|	Таблица.АналитикаРасходов,
	|	Таблица.ПодразделениеПолучатель
	|ИМЕЮЩИЕ
	|	СУММА(Таблица.Количество) <> 0
	|;
	|////////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ МатериалыИРаботыВПроизводствеПередЗаписью");
	
	Запрос.МенеджерВременныхТаблиц = ДополнительныеСвойства.МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);
	
	Запрос.Выполнить();
	
КонецПроцедуры

#КонецОбласти

#КонецЕсли

Связанные материалы