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