НДС предъявленный / Модуль набора записей

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

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

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

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

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

#КонецЕсли

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