Блокировка вычета НДС / Форма подбора установка блокировки / Модуль формы

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	Параметры.Свойство("КонецПериода",  КонецПериода);
	Параметры.Свойство("Основание",     Основание);
	Параметры.Свойство("Организация",   Организация);
	Параметры.Свойство("ВыбранныеСчетаФактуры", СписокВыбранныхСчетовФактур);
	Параметры.Свойство("ПериодичностьФормированияВычетовИВосстановленийНДС", ПериодичностьФормированияВычетовИВосстановленийНДС);
	
	Если Параметры.Свойство("Добавление") Тогда
		ЗаполнитьСчетаФактурыДобавлениеБлокировки();
	Иначе
		Если Параметры.Свойство("Изменение") Тогда
			ЗаполнитьСчетаФактурыИзменениеБлокировки();
		Иначе
			ЗаполнитьСчетаФактурыСозданиеНаОсновании();
		КонецЕсли;
		Элементы.СчетаФактурыУстановитьФлажки.Видимость = Ложь;
		Элементы.СчетаФактурыСнятьФлажки.Видимость = Ложь;
		Элементы.СчетаФактурыФлаг.Видимость = Ложь;
	КонецЕсли;

	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	Для каждого Строка Из СчетаФактуры Цикл
		
		ОбновитьИтоговыеСуммы();
		
	КонецЦикла;
	
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ЗаблокироватьНДС(Команда)
	
	Если ЗначениеЗаполнено(ВыбраноНаСумму) Тогда
		СоздатьБлокировкуВычетаНДС();
		Оповестить("Запись_БлокировкаВычетаНДС");
	КонецЕсли;
	Закрыть();
	
КонецПроцедуры

&НаКлиенте
Процедура СнятьФлажки(Команда)
	
	УстановитьЗначениеФлага(Ложь);
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьФлажки(Команда)
	
	УстановитьЗначениеФлага(Истина);
	
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыСчетаФактуры

&НаКлиенте
Процедура СчетаФактурыПослеУдаления(Элемент)
	
	ОбновитьИтоговыеСуммы();
	
КонецПроцедуры

&НаКлиенте
Процедура СчетаФактурыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
	
	ОбновитьИтоговыеСуммы();
	
КонецПроцедуры

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

#Область СлужебныеПроцедурыИФункции

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

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

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

&НаСервере
Процедура СоздатьБлокировкуВычетаНДС() 
	
	ДокументОбъект = Документы.БлокировкаВычетаНДС.СоздатьДокумент();
	СтруктураОтбора = Новый Структура;
	СтруктураОтбора.Вставить("Флаг", Истина);
	ЗначенияЗаполнения = Новый Структура;
	ЗначенияЗаполнения.Вставить("Дата",         КонецДня(КонецПериода));
	ЗначенияЗаполнения.Вставить("Состояние",    Перечисления.СостоянияБлокировкиВычетаНДС.Установлена);
	ЗначенияЗаполнения.Вставить("Организация",  Организация);
	ЗначенияЗаполнения.Вставить("СчетаФактуры", СчетаФактуры.Выгрузить(СтруктураОтбора));
	ДокументОбъект.Заполнить(ЗначенияЗаполнения);
	ДокументОбъект.Записать();
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьЗначениеФлага(ЗначениеФлага)
	
	Для каждого Строка Из СчетаФактуры Цикл
		
		Строка.Флаг = ЗначениеФлага;
		ОбновитьИтоговыеСуммы();
		
	КонецЦикла;
	
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьИтоговыеСуммы()
	
	ВыбраноНаСумму = 0;
	Для Каждого СтрокаСФ Из СчетаФактуры Цикл	
		Если СтрокаСФ.Флаг Тогда
			ВыбраноНаСумму = ВыбраноНаСумму + СтрокаСФ.НДС;
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

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

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