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