#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("РегламентированныйУчет");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.СчетФактураНалоговыйАгент") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстЗапросаТаблицаЖурналУчетаСчетовФактур(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаНДСЗаписиКнигиПродаж(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаНДСПредъявленный(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоНДС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.СчетФактураНалоговыйАгент) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.СчетФактураНалоговыйАгент.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.СчетФактураНалоговыйАгент);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
Функция ОтборРасчетов() Экспорт
СтруктураОтбора = Новый Структура();
СтруктураОтбора.Вставить("НачалоПериода");
СтруктураОтбора.Вставить("КонецПериода");
СтруктураОтбора.Вставить("СтавкаНДС");
СтруктураОтбора.Вставить("Организация");
СтруктураОтбора.Вставить("РасчетныйДокумент");
Возврат СтруктураОтбора;
КонецФункции
Процедура ЗаполнитьОплатыПоставщикам(ОтборРасчетов, ОплатыПоставщику) Экспорт
НачалоПериода = НачалоДня(ОтборРасчетов.НачалоПериода);
КонецПериода = КонецДня(ОтборРасчетов.КонецПериода);
Организация = ОтборРасчетов.Организация;
РасчетныйДокумент = ОтборРасчетов.РасчетныйДокумент;
СтавкаНДС = ?(ЗначениеЗаполнено(ОтборРасчетов.СтавкаНДС),
ОтборРасчетов.СтавкаНДС,
УчетНДСУП.СтавкаНДСПоУмолчанию(Неопределено, НачалоПериода, Истина));
ВозможныйТипДокументаОснования = Метаданные.Документы.СчетФактураНалоговыйАгент.Реквизиты.ДокументОснование.Тип;
Результат = РезультатЗапросаПоОплатамНалоговыйАгент(НачалоПериода, КонецПериода, Организация, РасчетныйДокумент);
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Если ВозможныйТипДокументаОснования.СодержитТип(ТипЗнч(Выборка.ДокументОснование)) Тогда
НоваяСтрока = ОплатыПоставщику.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
НоваяСтрока.СтавкаНДС = НоваяСтрока.СтавкаНДС.СоответствующаяРасчетнаяСтавка;
Если ЗначениеЗаполнено(НоваяСтрока.СчетФактура) Тогда
НоваяСтрока.СФсформирован = Истина;
Иначе
НоваяСтрока.СФсформирован = Ложь;
КонецЕсли;
НоваяСтрока.СтавкаНДС = СтавкаНДС;
Если НЕ ЗначениеЗаполнено(НоваяСтрока.ВидАгентскогоДоговора)
И НоваяСтрока.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицоНеРезидент Тогда
НоваяСтрока.ВидАгентскогоДоговора = Перечисления.ВидыАгентскихДоговоров.Нерезидент;
КонецЕсли;
НоваяСтрока.СуммаНДС = ЦенообразованиеКлиентСервер.РассчитатьСуммуНДС(НоваяСтрока.Сумма, НоваяСтрока.СтавкаНДС, Ложь);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция ЕстьСчетаФактурыКОформлению(Параметры) Экспорт
ОплатыПоставщикам = Новый ТаблицаЗначений;
ОплатыПоставщикам.Колонки.Добавить("СчетФактура");
ОплатыПоставщикам.Колонки.Добавить("СФСформирован");
ОплатыПоставщикам.Колонки.Добавить("СтавкаНДС");
ОплатыПоставщикам.Колонки.Добавить("ВидАгентскогоДоговора");
ОплатыПоставщикам.Колонки.Добавить("ЮрФизЛицо");
ОплатыПоставщикам.Колонки.Добавить("СуммаНДС");
ОплатыПоставщикам.Колонки.Добавить("Сумма");
ОплатыПоставщикам.Колонки.Добавить("Организация");
ОтборРасчетов = ОтборРасчетов();
ОтборРасчетов.НачалоПериода = Параметры.НачалоПериода;
ОтборРасчетов.КонецПериода = Параметры.КонецПериода;
ОтборРасчетов.Организация = Параметры.МассивОрганизаций;
ЗаполнитьОплатыПоставщикам(ОтборРасчетов, ОплатыПоставщикам);
Если Параметры.Свойство("ПоОрганизациям") Тогда
ОплатыПоставщикам.Свернуть("Организация");
Возврат ОплатыПоставщикам.ВыгрузитьКолонку("Организация")
Иначе
Возврат ОплатыПоставщикам.НайтиСтроки(Новый Структура("СФСформирован", Ложь)).Количество();
КонецЕсли;
КонецФункции
#Область ПроведениеПоРеглУчету
Функция ТекстОтраженияВРеглУчете() Экспорт
ТекстНачислениеНДС =
"ВЫБРАТЬ
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(Строки.СуммаНДС,0) КАК Сумма,
| ЕСТЬNULL(Строки.СуммаНДС,0) / КурсВалютыУпрУчета.Курс КАК СуммаУУ,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеДт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыНДСНалоговогоАгента) КАК СчетДт,
|
| Операция.Поставщик КАК СубконтоДт1,
| Операция.Договор КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| &ВалютаРеглУчета КАК ВалютаКт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| ВЫБОР КОГДА Операция.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент ТОГДА
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Вспомогательный)
| ИНАЧЕ
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НДСНалоговогоАгента)
| КОНЕЦ КАК СчетКт,
|
| Операция.Поставщик КАК СубконтоКт1,
| Операция.Договор КАК СубконтоКт2,
| Операция.ДокументОснование КАК СубконтоКт3,
|
| ЕСТЬNULL(Строки.СуммаНДС,0) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Начисление НДС налогового агента"" КАК Содержание
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.СчетФактураНалоговыйАгент КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.СчетФактураНалоговыйАгент.РасшифровкаСуммы КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|
|";
ТекстВходящийНДС = "
|ВЫБРАТЬ
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| Строки.СуммаНДС КАК Сумма,
| Строки.СуммаНДС / КурсВалютыУпрУчета.Курс КАК СуммаУУ,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаДт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеДт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НДСУплачиваемыйНалоговымАгентом) КАК СчетДт,
|
| Операция.Поставщик КАК СубконтоДт1,
| Операция.Ссылка КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаКт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыНДСНалоговогоАгента) КАК СчетКт,
|
| Операция.Поставщик КАК СубконтоКт1,
| Операция.Договор КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""НДС, уплачиваемый налоговым агентом"" КАК Содержание
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.СчетФактураНалоговыйАгент КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.СчетФактураНалоговыйАгент.РасшифровкаСуммы КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|";
ТекстВключениеНДСВРасходы = "
|ВЫБРАТЬ
| Операция.Ссылка КАК Ссылка,
| Строки.Период КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| Строки.СуммаРегл КАК Сумма,
| Строки.СуммаУпр КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
| Строки.СтатьяРасходов КАК АналитикаУчетаДт,
| Строки.Подразделение КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| Строки.Подразделение КАК ПодразделениеДт,
| Строки.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
|
| Строки.АналитикаРасходов КАК СубконтоДт1,
| Строки.СтатьяРасходов КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК ГруппаФинансовогоУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаКт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.НДСУплачиваемыйНалоговымАгентом) КАК СчетКт,
|
| Операция.Поставщик КАК СубконтоКт1,
| Операция.Ссылка КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Включение НДС в расходы"" КАК Содержание
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.СчетФактураНалоговыйАгент КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрНакопления.ПрочиеРасходы КАК Строки
|
| ПО
| Операция.Ссылка = Строки.Регистратор
| И (Строки.СуммаРегл <> 0 ИЛИ Строки.СуммаУпр <> 0)
| И НЕ Строки.РасчетСебестоимости
| И Строки.РасчетПартий
|
|";
ТекстыОтражения = Новый Массив;
ТекстыОтражения.Добавить(ТекстНачислениеНДС);
ТекстыОтражения.Добавить(ТекстВходящийНДС);
ТекстыОтражения.Добавить(ТекстВключениеНДСВРасходы);
ТекстыОтражения.Добавить(РеглУчетВыборкиСерверПовтИсп.ТекстВключениеНДСпоПриобретеннымЦенностям());
Возврат СтрСоединить(ТекстыОтражения, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат "";
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.СчетФактураНалоговыйАгент";
ВЗапросеЕстьИсточник = Истина;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ЗначенияПараметров = ЗначенияПараметровПроведения();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ИСТИНА КАК НалогПеречислен
|ПОМЕСТИТЬ втПолученоПодтверждение
|ИЗ
| РегистрСведений.ПодтверждениеОплатыНДСВБюджет КАК ПодтверждениеОплатыНДСВБюджет
|ГДЕ
| ПодтверждениеОплатыНДСВБюджет.СчетФактура = &Ссылка
| И ПодтверждениеОплатыНДСВБюджет.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОплатыНДСВБюджет.ПолученоПодтверждение)
|;
|
|
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ЕСТЬNULL(ДанныеДокумента.Организация.ОбособленноеПодразделение, ЛОЖЬ)
| КАК ОбособленноеПодразделение,
| ЕСТЬNULL(ДанныеДокумента.Организация.ЦифровойИндексОбособленногоПодразделения, 0)
| КАК ЦифровойИндексОбособленногоПодразделения,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Поставщик КАК Поставщик,
| ДанныеДокумента.ДокументОснование КАК ДокументОплаты,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Ответственный КАК Ответственный,
|
| ВЫБОР
| КОГДА НЕ СписаниеБезналичныхДенежныхСредств.Ссылка ЕСТЬ NULL И СписаниеБезналичныхДенежныхСредств.ПроведеноБанком
| ТОГДА
| СписаниеБезналичныхДенежныхСредств.ДатаПроведенияБанком
| ИНАЧЕ
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДанныеДокумента.Дата)
| КОНЕЦ КАК ДатаОснования,
|
| ВЫБОР
| КОГДА
| ДанныеДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.Аренда)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентАренда)
| КОГДА
| ДанныеДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.РеализацияИмущества)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентРеализацияИмущества)
| КОГДА
| ДанныеДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.Нерезидент)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентИностранцы)
| КОГДА
| ДанныеДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.НерезидентЭлектронныеУслуги)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентЭлектронныеУслуги)
| КОНЕЦ КАК ВидЦенности,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.ВидАгентскогоДоговора КАК ВидАгентскогоДоговора,
| ДанныеДокумента.КодВидаОперации КАК КодВидаОперации,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.СуммаНДС КАК СуммаНДС,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.РучнаяКорректировкаЖурналаСФ КАК РучнаяКорректировкаЖурналаСФ,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК Валюта,
| ЕСТЬNULL(ПолученоПодтверждение.НалогПеречислен,ЛОЖЬ) КАК НалогПеречислен,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДСДоговораАренды,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиДоговораАренды,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходовДоговораАренды,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходовДоговораАренды,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеДоговораАренды,
| ЛОЖЬ КАК СФПоАренде
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
| ПО
| ДанныеДокумента.ДокументОснование = СписаниеБезналичныхДенежныхСредств.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ
| втПолученоПодтверждение КАК ПолученоПодтверждение
| ПО
| ИСТИНА
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Номер = УчетНДСПереопределяемый.НомерСчетаФактурыНаПечать(
Реквизиты.Номер,
Истина,
Реквизиты.ОбособленноеПодразделение,
Реквизиты.ЦифровойИндексОбособленногоПодразделения);
Запрос.УстановитьПараметр("НомерНаПечать", Номер);
Запрос.УстановитьПараметр("СтатьяРасходов", ПланыВидовХарактеристик.СтатьиРасходов.НДСНалоговогоАгента);
Запрос.УстановитьПараметр("УправленческийУчетОрганизацийВключен",
РасчетСебестоимостиПовтИсп.УправленческийУчетОрганизаций());
Запрос.УстановитьПараметр("ДатаНачалаВеденияУправленческогоУчетаОрганизаций",
РасчетСебестоимостиПовтИсп.ДатаНачалаВеденияУправленческогоУчетаОрганизаций());
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
Запрос.УстановитьПараметр("ИдентификаторФинЗаписи", Строка(ДокументСсылка.УникальныйИдентификатор()));
Запрос.УстановитьПараметр("ВидыДеятельностиНДСРаспределение", ВидыДеятельностиНДСРаспределение());
УстановитьЗначенияПараметровУчетаАренды(Запрос, ДокументСсылка);
ЗначенияПараметровПроведения = ЗначенияПараметровПроведения(Реквизиты);
Для каждого КлючИЗначение Из ЗначенияПараметровПроведения Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;
КонецПроцедуры
Функция ЗначенияПараметровПроведения(Реквизиты = Неопределено)
ЗначенияПараметровПроведения = Новый Структура;
ЗначенияПараметровПроведения.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.СчетФактураНалоговыйАгент"));
Возврат ЗначенияПараметровПроведения;
КонецФункции
Процедура УстановитьЗначенияПараметровУчетаАренды(Запрос, ДокументСсылка)
ЗапросАренды = Новый Запрос;
ЗапросАренды.УстановитьПараметр("Ссылка", ДокументСсылка);
ЗапросАренды.УстановитьПараметр("Договор", Запрос.Параметры.Договор);
ЗапросАренды.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ЕСТЬNULL(ЗаключениеДоговораАренды.ЗакупкаПодДеятельность, ЕСТЬNULL(ДокументВводаОстатков.ЗакупкаПодДеятельность, НЕОПРЕДЕЛЕНО)) КАК ВидДеятельностиНДСДоговораАренды,
| ЕСТЬNULL(СпрДоговорыАренды.НаправлениеДеятельности, НЕОПРЕДЕЛЕНО) КАК НаправлениеДеятельностиДоговораАренды,
| ЕСТЬNULL(СпрДоговорыАренды.СтатьяРасходовУслуги, НЕОПРЕДЕЛЕНО) КАК СтатьяРасходовДоговораАренды,
| ЕСТЬNULL(СпрДоговорыАренды.АналитикаРасходовУслуги, НЕОПРЕДЕЛЕНО) КАК АналитикаРасходовДоговораАренды,
| ЕСТЬNULL(СпрДоговорыАренды.ПодразделениеУслуги, НЕОПРЕДЕЛЕНО) КАК ПодразделениеДоговораАренды,
| ВЫБОР
| КОГДА СпрДоговорыАренды.Ссылка ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ КАК СФПоАренде
|
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.УсловияДоговоровАренды.СрезПервых(, Договор = &Договор) КАК УсловияДоговораПервый
| ПО
| УсловияДоговораПервый.Договор = ДанныеДокумента.Договор
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ДоговорыАренды КАК СпрДоговорыАренды
| ПО
| ДанныеДокумента.Договор = СпрДоговорыАренды.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.ВводОстатковВзаиморасчетовПоАренде КАК ДокументВводаОстатков
| ПО
| УсловияДоговораПервый.Регистратор = ДокументВводаОстатков.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.ЗаключениеДоговораАренды КАК ЗаключениеДоговораАренды
| ПО
| УсловияДоговораПервый.Регистратор = ЗаключениеДоговораАренды.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = ЗапросАренды.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
КонецПроцедуры
Функция ТекстЗапросаТаблицаЖурналУчетаСчетовФактур(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ЖурналУчетаСчетовФактур";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ЖурналУчетаСчетовФактур.Период КАК Период,
| ЖурналУчетаСчетовФактур.Организация КАК Организация,
| ЖурналУчетаСчетовФактур.Контрагент КАК Контрагент,
| ЖурналУчетаСчетовФактур.СчетФактура КАК СчетФактура,
| ЖурналУчетаСчетовФактур.ЧастьЖурнала КАК ЧастьЖурнала,
| ЖурналУчетаСчетовФактур.НомерСчетаФактуры КАК НомерСчетаФактуры,
| ЖурналУчетаСчетовФактур.ДатаСчетаФактуры КАК ДатаСчетаФактуры,
| ЖурналУчетаСчетовФактур.КодВидаОперации КАК КодВидаОперации,
| ЖурналУчетаСчетовФактур.КодВидаСделки КАК КодВидаСделки,
| ЖурналУчетаСчетовФактур.КодСпособаВыставленияПолучения КАК КодСпособаВыставленияПолучения,
| ЖурналУчетаСчетовФактур.Валюта КАК Валюта,
| ЖурналУчетаСчетовФактур.СуммаПоСчетуФактуре КАК СуммаПоСчетуФактуре,
| ЖурналУчетаСчетовФактур.СуммаНДС КАК СуммаНДС,
| ЖурналУчетаСчетовФактур.ИндексСтроки КАК ИндексСтроки,
| ЖурналУчетаСчетовФактур.Сторно КАК Сторно,
| ЖурналУчетаСчетовФактур.ИсправленныйСчетФактура КАК ИсправленныйСчетФактура,
| ЖурналУчетаСчетовФактур.СчетФактураВыданныйПокупателю КАК СчетФактураВыданныйПокупателю,
| ЖурналУчетаСчетовФактур.СчетФактураПолученныйОтПродавца КАК СчетФактураПолученныйОтПродавца,
| ЖурналУчетаСчетовФактур.ИсправлениеСобственнойОшибки КАК ИсправлениеСобственнойОшибки,
| ЖурналУчетаСчетовФактур.ДатаВыставленияПолучения КАК ДатаВыставленияПолучения,
| ЖурналУчетаСчетовФактур.НомерИсправления КАК НомерИсправления,
| ЖурналУчетаСчетовФактур.ДатаИсправления КАК ДатаИсправления,
| ЖурналУчетаСчетовФактур.НомерКорректировочногоСчетаФактуры КАК НомерКорректировочногоСчетаФактуры,
| ЖурналУчетаСчетовФактур.ДатаКорректировочногоСчетаФактуры КАК ДатаКорректировочногоСчетаФактуры,
| ЖурналУчетаСчетовФактур.НомерИсправленияКорректировочногоСчетаФактуры КАК НомерИсправленияКорректировочногоСчетаФактуры,
| ЖурналУчетаСчетовФактур.ДатаИсправленияКорректировочногоСчетаФактуры КАК ДатаИсправленияКорректировочногоСчетаФактуры,
| ЖурналУчетаСчетовФактур.СуммаПоСчетуФактуреРазницаУменьшение КАК СуммаПоСчетуФактуреРазницаУменьшение,
| ЖурналУчетаСчетовФактур.СуммаПоСчетуФактуреРазницаУвеличение КАК СуммаПоСчетуФактуреРазницаУвеличение,
| ЖурналУчетаСчетовФактур.СуммаНДСРазницаУменьшение КАК СуммаНДСРазницаУменьшение,
| ЖурналУчетаСчетовФактур.СуммаНДСРазницаУвеличение КАК СуммаНДСРазницаУвеличение,
| ЖурналУчетаСчетовФактур.ПоСтавкеБезНДС КАК ПоСтавкеБезНДС,
| ЖурналУчетаСчетовФактур.СчетФактураНеВыставляется КАК СчетФактураНеВыставляется,
| ЖурналУчетаСчетовФактур.Продавец КАК Продавец,
| ЖурналУчетаСчетовФактур.КППКонтрагента КАК КППКонтрагента,
| ЖурналУчетаСчетовФактур.Посредник КАК Посредник,
| ЖурналУчетаСчетовФактур.УдалитьСчетФактураВыданныйПокупателю КАК УдалитьСчетФактураВыданныйПокупателю,
| ЖурналУчетаСчетовФактур.Субкомиссионер КАК Субкомиссионер,
| ЖурналУчетаСчетовФактур.НомерСчетаФактурыПродавца КАК НомерСчетаФактурыПродавца,
| ЖурналУчетаСчетовФактур.СуммаПоСчетуФактуреКомиссия КАК СуммаПоСчетуФактуреКомиссия,
| ЖурналУчетаСчетовФактур.СуммаНДСКомиссия КАК СуммаНДСКомиссия,
| ЖурналУчетаСчетовФактур.СуммаПоСчетуФактуреРазницаУменьшениеКомиссия КАК СуммаПоСчетуФактуреРазницаУменьшениеКомиссия,
| ЖурналУчетаСчетовФактур.СуммаПоСчетуФактуреРазницаУвеличениеКомиссия КАК СуммаПоСчетуФактуреРазницаУвеличениеКомиссия,
| ЖурналУчетаСчетовФактур.СуммаНДСРазницаУменьшениеКомиссия КАК СуммаНДСРазницаУменьшениеКомиссия,
| ЖурналУчетаСчетовФактур.СуммаНДСРазницаУвеличениеКомиссия КАК СуммаНДСРазницаУвеличениеКомиссия,
| ЖурналУчетаСчетовФактур.КодВидаОперацииКомиссия КАК КодВидаОперацииКомиссия,
| ЖурналУчетаСчетовФактур.ДатаСчетаФактурыПродавца КАК ДатаСчетаФактурыПродавца,
| ЖурналУчетаСчетовФактур.ИННКонтрагента КАК ИННКонтрагента,
| ЖурналУчетаСчетовФактур.ИННПродавца КАК ИННПродавца,
| ЖурналУчетаСчетовФактур.КПППродавца КАК КПППродавца,
| ЖурналУчетаСчетовФактур.ИННСубкомиссионера КАК ИННСубкомиссионера,
| ЖурналУчетаСчетовФактур.КППСубкомиссионера КАК КППСубкомиссионера
|ИЗ
| РегистрСведений.ЖурналУчетаСчетовФактур КАК ЖурналУчетаСчетовФактур
|ГДЕ
| ЖурналУчетаСчетовФактур.Регистратор = &Ссылка
| И &РучнаяКорректировкаЖурналаСФ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Организация КАК Контрагент,
| ТаблицаРасшифровка.Ссылка КАК СчетФактура,
| ЗНАЧЕНИЕ(Перечисление.ЧастиЖурналаУчетаСчетовФактур.ВыставленныеСчетаФактуры) КАК ЧастьЖурнала,
| &НомерНаПечать КАК НомерСчетаФактуры,
| &Период КАК ДатаСчетаФактуры,
| &КодВидаОперации КАК КодВидаОперации,
| NULL,
| 1 КАК КодСпособаВыставленияПолучения,
| &Валюта КАК Валюта,
| СУММА(ТаблицаРасшифровка.СуммаСНДС) КАК СуммаПоСчетуФактуре,
| СУММА(ТаблицаРасшифровка.СуммаНДС) КАК СуммаНДС,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| &Период КАК ДатаВыставленияПолучения,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| ЛОЖЬ КАК ПоСтавкеБезНДС,
| ИСТИНА КАК СчетФактураНеВыставляется,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL
|
|ИЗ
| Документ.СчетФактураНалоговыйАгент.РасшифровкаСуммы КАК ТаблицаРасшифровка
|ГДЕ
| ТаблицаРасшифровка.Ссылка = &Ссылка
| И НЕ &РучнаяКорректировкаЖурналаСФ
| И &Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаРасшифровка.Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ИнициализироватьВтНачислениеНДС(Запрос)
Если Запрос.Параметры.Свойство("ВтНачислениеНДСИнициализирована") Тогда
Возврат;
КонецЕсли;
ЗапросНачислениеНДС = Новый Запрос;
ЗапросНачислениеНДС.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросНачислениеНДС.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросНачислениеНДС.УстановитьПараметр("ДатаОснования", Запрос.Параметры.ДатаОснования);
ЗапросНачислениеНДС.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросНачислениеНДС.УстановитьПараметр("ВидАгентскогоДоговора", Запрос.Параметры.ВидАгентскогоДоговора);
ЗапросНачислениеНДС.УстановитьПараметр("ДокументОплаты", Запрос.Параметры.ДокументОплаты);
ЗапросНачислениеНДС.УстановитьПараметр("Поставщик", Запрос.Параметры.Поставщик);
ЗапросНачислениеНДС.УстановитьПараметр("ВидЦенности", Запрос.Параметры.ВидЦенности);
ЗапросНачислениеНДС.УстановитьПараметр("Период", Запрос.Параметры.Период);
ЗапросНачислениеНДС.УстановитьПараметр("Валюта", Запрос.Параметры.Валюта);
ЗапросНачислениеНДС.УстановитьПараметр("УправленческийУчетОрганизаций", Запрос.Параметры.УправленческийУчетОрганизаций);
ЗапросНачислениеНДС.УстановитьПараметр("УправленческийУчетОрганизацийВключен",
Запрос.Параметры.УправленческийУчетОрганизацийВключен);
ЗапросНачислениеНДС.УстановитьПараметр("ДатаНачалаВеденияУправленческогоУчетаОрганизаций",
Запрос.Параметры.ДатаНачалаВеденияУправленческогоУчетаОрганизаций);
ЗапросНачислениеНДС.УстановитьПараметр("ДатаПереходаНаПартионныйУчетВерсии22",
Запрос.Параметры.ДатаПереходаНаПартионныйУчетВерсии22);
УстановитьПараметрКоэффициентПересчетаВВалютуУпр(ЗапросНачислениеНДС);
ЗапросНачислениеНДС.Текст =
"ВЫБРАТЬ
| &ДатаОснования КАК Период,
| &Организация КАК Организация,
| &ВидЦенности КАК ВидЦенности,
| &Ссылка КАК СчетФактура,
| &Поставщик КАК Поставщик,
| &ДокументОплаты КАК ДокументОплаты,
| &ДатаОснования КАК ДатаОплаты,
| &ДатаОснования КАК ДатаСобытия,
| ВЫБОР
| КОГДА Суммы.СтавкаНДС.РасчетнаяСтавка = ИСТИНА
| ТОГДА Суммы.СтавкаНДС.СоответствующаяБазоваяСтавка
| ИНАЧЕ Суммы.СтавкаНДС
| КОНЕЦ КАК СтавкаНДС,
| Суммы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Суммы.СуммаНДС КАК НДС,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизацийВключен
| И &ДатаОснования >= &ДатаНачалаВеденияУправленческогоУчетаОрганизаций
| И &ДатаОснования >= &ДатаПереходаНаПартионныйУчетВерсии22
| ТОГДА Суммы.СуммаНДС * &КоэффициентПересчетаВВалютуУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| Суммы.Сумма КАК СуммаБезНДС,
| НЕОПРЕДЕЛЕНО КАК НомерДокументаОплаты,
| НЕОПРЕДЕЛЕНО КАК ДатаДокументаОплаты,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.НачислениеНДСНалоговымАгентом) КАК ХозяйственнаяОперация,
| СчетФактураНалоговыйАгент.Договор КАК ДоговорКонтрагента,
| Суммы.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.НачислениеНДСНалоговымАгентом) КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ВтНачислениеНДС
|ИЗ
| Документ.СчетФактураНалоговыйАгент.РасшифровкаСуммы КАК Суммы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СчетФактураНалоговыйАгент КАК СчетФактураНалоговыйАгент
| ПО Суммы.Ссылка = СчетФактураНалоговыйАгент.Ссылка
|
|ГДЕ
| Суммы.Ссылка = &Ссылка
| И &Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|";
ЗапросНачислениеНДС.Выполнить();
Запрос.УстановитьПараметр("ВтНачислениеНДСИнициализирована", Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаНДСЗаписиКнигиПродаж(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "НДСЗаписиКнигиПродаж";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтНачислениеНДС(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ВтНачислениеНДС.Период КАК Период,
| ВтНачислениеНДС.Организация КАК Организация,
| ВтНачислениеНДС.ВидЦенности КАК ВидЦенности,
| ВтНачислениеНДС.ДокументОплаты КАК СчетФактура,
| ВтНачислениеНДС.Поставщик КАК Покупатель,
| ВтНачислениеНДС.ДокументОплаты КАК ДокументОплаты,
| ВтНачислениеНДС.ДатаОплаты КАК ДатаОплаты,
| ЗНАЧЕНИЕ(Перечисление.СобытияПоНДСПродажи.НДСНачисленКУплате) КАК Событие,
| ВтНачислениеНДС.ДатаСобытия КАК ДатаСобытия,
| ВтНачислениеНДС.СтавкаНДС.ПеречислениеСтавкаНДС КАК СтавкаНДС,
|
| ВтНачислениеНДС.НДС КАК НДС,
| ВтНачислениеНДС.СуммаБезНДС КАК СуммаБезНДС,
|
| ВтНачислениеНДС.НомерДокументаОплаты КАК НомерДокументаОплаты,
| ВтНачислениеНДС.ДатаДокументаОплаты КАК ДатаДокументаОплаты,
| ВтНачислениеНДС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВтНачислениеНДС.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ВтНачислениеНДС.ДоговорКонтрагента КАК ДоговорКонтрагента
|ИЗ
| ВтНачислениеНДС";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоНДС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоНДС";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтНачислениеНДС(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ВтНачислениеНДС.Период КАК Период,
| ВтНачислениеНДС.Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейДвиженийПоНДС.Исходящий) КАК ТипЗаписи,
| ВтНачислениеНДС.Поставщик КАК Контрагент,
| ВтНачислениеНДС.СчетФактура КАК СчетФактура,
| ВтНачислениеНДС.СтавкаНДС КАК СтавкаНДС,
| ВтНачислениеНДС.ВидЦенности КАК ВидЦенности,
|
| ВтНачислениеНДС.СуммаБезНДС КАК СуммаБезНДС,
| ВтНачислениеНДС.НДС КАК НДС,
| ВтНачислениеНДС.НДСУпр КАК НДСУпр,
|
| ЛОЖЬ КАК РегламентнаяОперация,
| ВтНачислениеНДС.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВтНачислениеНДС.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ЛОЖЬ КАК Сторно
|
|ИЗ
| ВтНачислениеНДС";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаНДСПредъявленный(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "НДСПредъявленный";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтНачислениеНДС(Запрос);
ИнициализироватьВтДокументыПоступления(Запрос);
ИнициализироватьВтПартииПрочихРасходов(Запрос);
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
НастройкиНалоговУчетныхПолитик.ДополнитьМенеджерВременныхТаблицДействующимиПараметрамиНалоговУчетныхПолитик(
Метаданные.РегистрыСведений.УчетнаяПолитикаФинансовогоУчета.Имя,
Запрос.МенеджерВременныхТаблиц,
Запрос.Параметры.Дата,
"ВТУчетнаяПолитикаФинансовогоУчета",
Запрос.Параметры.Организация);
НастройкиНалоговУчетныхПолитик.ДополнитьМенеджерВременныхТаблицДействующимиПараметрамиНалоговУчетныхПолитик(
Метаданные.РегистрыСведений.НастройкиУчетаУСН.Имя,
Запрос.МенеджерВременныхТаблиц,
Запрос.Параметры.Дата,
"ВТНастройкиУчетаУСН",
Запрос.Параметры.Организация);
НастройкиНалоговУчетныхПолитик.ДополнитьМенеджерВременныхТаблицДействующимиПараметрамиНалоговУчетныхПолитик(
Метаданные.РегистрыСведений.НастройкиСистемыНалогообложения.Имя,
Запрос.МенеджерВременныхТаблиц,
Запрос.Параметры.Дата,
"ВТНастройкиСистемыНалогообложения",
Запрос.Параметры.Организация);
УстановитьПараметрКоэффициентПересчетаВВалютуУпр(Запрос);
УчетНДСУПСлужебный.УстановитьПараметрТипыНалогообложенияНДСПоступления(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| НачислениеНДС.Период КАК Период,
| НачислениеНДС.Организация КАК Организация,
| НачислениеНДС.СчетФактура КАК СчетФактура,
| НачислениеНДС.Поставщик КАК Поставщик,
| НачислениеНДС.ВидЦенности КАК ВидЦенности,
| НачислениеНДС.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| 0 КАК СуммаБезНДС,
| НачислениеНДС.НДС КАК НДС,
| НачислениеНДС.НДСУпр КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
| НЕОПРЕДЕЛЕНО КАК КорНаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК Сторно,
| НачислениеНДС.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| НачислениеНДС.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтНачислениеНДС КАК НачислениеНДС
|
|ГДЕ
| &СФПоАренде = ЛОЖЬ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &ДатаОснования КАК Период,
| &Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| &Поставщик КАК Поставщик,
| &ВидЦенности КАК ВидЦенности,
| Строки.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| 0 КАК СуммаБезНДС,
| Строки.НДСРегл КАК НДС,
| Строки.НДСУпр КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
| НЕОПРЕДЕЛЕНО КАК КорНаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК Сторно,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| Строки.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтИсходныеПартииПрочихРасходов КАК Строки
|
|ГДЕ
| &СФПоАренде = ИСТИНА
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| Строки.Период КАК Период,
| &Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| &Поставщик КАК Поставщик,
| &ВидЦенности КАК ВидЦенности,
| Строки.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| 0 КАК СуммаБезНДС,
| Строки.НДСРегл КАК НДС,
| Строки.НДСУпр КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
| НЕОПРЕДЕЛЕНО КАК КорНаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК Сторно,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| Строки.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтИсходныеПартииПрочихРасходов КАК Строки
|
|ГДЕ
| &СФПоАренде = ИСТИНА
| И (Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАренде)
| ИЛИ Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАрендеАванс)
| И Строки.АналитикаРасходов <> НЕОПРЕДЕЛЕНО
| ИЛИ Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)
| И Строки.АналитикаРасходов <> НЕОПРЕДЕЛЕНО)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| Строки.Период КАК Период,
| Операция.Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| Операция.Поставщик КАК Поставщик,
| &ВидЦенности КАК ВидЦенности,
| Строки.АналитикаУчетаПартий.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| Строки.КорНаправлениеДеятельности КАК НаправлениеДеятельности,
| 0 КАК СуммаБезНДС,
| Строки.НДСРегл КАК НДС,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизацийВключен
| И Строки.Период >= &ДатаНачалаВеденияУправленческогоУчетаОрганизаций
| И Строки.Период >= &ДатаПереходаНаПартионныйУчетВерсии22
| ТОГДА Строки.НДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| ЗНАЧЕНИЕ(Перечисление.СобытияНДСПредъявленный.ИзменениеВидаДеятельностиНДС) КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
| Строки.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| Строки.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК Сторно,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РаспределениеНДС) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВтИсходныеПартииПрочихРасходов КАК Строки
| ПО
| ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиУчетаНДС КАК НастройкиУчетаНДС
| ПО
| Операция.Организация = НастройкиУчетаНДС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТУчетнаяПолитикаФинансовогоУчета КАК УчетнаяПолитикаФинансовогоУчета
| ПО
| Операция.Организация = УчетнаяПолитикаФинансовогоУчета.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиУчетаУСН КАК НастройкиУчетаУСН
| ПО
| Операция.Организация = НастройкиУчетаУСН.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиСистемыНалогообложения КАК НастройкиСистемыНалогообложения
| ПО
| Операция.Организация = НастройкиСистемыНалогообложения.Организация
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И &СФПоАренде = ЛОЖЬ
| И (НЕ НастройкиУчетаНДС.РаздельныйУчетТоваровПоНалогообложениюНДС
| И НЕ УчетнаяПолитикаФинансовогоУчета.ДетализироватьМатериальныеИПостатейныеЗатратыВСебестоимостиТоваров
| ИЛИ НастройкиСистемыНалогообложения.СистемаНалогообложения = ЗНАЧЕНИЕ(Перечисление.СистемыНалогообложения.Упрощенная)
| И НЕ НастройкиУчетаУСН.РаздельныйУчетТоваров)
| И Операция.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И Строки.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСПоступления)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| Строки.Период КАК Период,
| Операция.Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| Операция.Поставщик КАК Поставщик,
| &ВидЦенности КАК ВидЦенности,
| Строки.АналитикаУчетаПартий.СтавкаНДС КАК СтавкаНДС,
| Строки.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| Строки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| 0 КАК СуммаБезНДС,
| Строки.НДСРегл КАК НДС,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизацийВключен
| И Строки.Период >= &ДатаНачалаВеденияУправленческогоУчетаОрганизаций
| И Строки.Период >= &ДатаПереходаНаПартионныйУчетВерсии22
| ТОГДА Строки.НДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| ЗНАЧЕНИЕ(Перечисление.СобытияНДСПредъявленный.ИзменениеВидаДеятельностиНДС) КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
| Строки.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ЛОЖЬ КАК Сторно,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РаспределениеНДС) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВтИсходныеПартииПрочихРасходов КАК Строки
| ПО
| ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиУчетаНДС КАК НастройкиУчетаНДС
| ПО
| Операция.Организация = НастройкиУчетаНДС.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТУчетнаяПолитикаФинансовогоУчета КАК УчетнаяПолитикаФинансовогоУчета
| ПО
| Операция.Организация = УчетнаяПолитикаФинансовогоУчета.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиУчетаУСН КАК НастройкиУчетаУСН
| ПО
| Операция.Организация = НастройкиУчетаУСН.Организация
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТНастройкиСистемыНалогообложения КАК НастройкиСистемыНалогообложения
| ПО
| Операция.Организация = НастройкиСистемыНалогообложения.Организация
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И &СФПоАренде = ЛОЖЬ
| И (НЕ НастройкиУчетаНДС.РаздельныйУчетТоваровПоНалогообложениюНДС
| И НЕ УчетнаяПолитикаФинансовогоУчета.ДетализироватьМатериальныеИПостатейныеЗатратыВСебестоимостиТоваров
| ИЛИ НастройкиСистемыНалогообложения.СистемаНалогообложения = ЗНАЧЕНИЕ(Перечисление.СистемыНалогообложения.Упрощенная)
| И НЕ НастройкиУчетаУСН.РаздельныйУчетТоваров)
| И Операция.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И Строки.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСПоступления)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НДСПредъявленный.ВидДвижения КАК ВидДвижения,
| НДСПредъявленный.Период КАК Период,
| НДСПредъявленный.Организация КАК Организация,
| НДСПредъявленный.СчетФактура КАК СчетФактура,
| НДСПредъявленный.Поставщик КАК Поставщик,
| НДСПредъявленный.ВидЦенности КАК ВидЦенности,
| НДСПредъявленный.СтавкаНДС КАК СтавкаНДС,
| НДСПредъявленный.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| НДСПредъявленный.ИсправленныйСчетФактура КАК ИсправленныйСчетФактура,
| НДСПредъявленный.РеализацияЭкспорт КАК РеализацияЭкспорт,
| НДСПредъявленный.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НДСПредъявленный.СуммаБезНДС КАК СуммаБезНДС,
| НДСПредъявленный.НДС КАК НДС,
| НДСПредъявленный.НДСУпр КАК НДСУпр,
| НДСПредъявленный.Событие КАК Событие,
| НДСПредъявленный.РегламентнаяОперация КАК РегламентнаяОперация,
| НДСПредъявленный.КорНаправлениеДеятельности КАК КорНаправлениеДеятельности,
| НДСПредъявленный.КорВидДеятельностиНДС КАК КорВидДеятельностиНДС,
| НДСПредъявленный.ИдентификаторСтроки КАК ИдентификаторСтроки,
| НДСПредъявленный.Подразделение КАК Подразделение,
| НДСПредъявленный.СтатьяРасходов КАК СтатьяРасходов,
| НДСПредъявленный.АналитикаРасходов КАК АналитикаРасходов,
| НДСПредъявленный.Сторно КАК Сторно,
| НДСПредъявленный.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| НДСПредъявленный.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| РегистрНакопления.НДСПредъявленный КАК НДСПредъявленный
|
|ГДЕ
| НДСПредъявленный.Регистратор = &Ссылка
| И НДСПредъявленный.РегламентнаяОперация
|
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтНачислениеНДС(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ВтНачислениеНДС.Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ВтНачислениеНДС.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| ВтНачислениеНДС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.Налоги) КАК Статья,
| ЗНАЧЕНИЕ(Справочник.ВидыНалоговВзносов.НДС_НалоговыйАгент) КАК Аналитика,
|
| СУММА(ВтНачислениеНДС.НДСУпр) КАК Сумма
|
|ИЗ
| ВтНачислениеНДС КАК ВтНачислениеНДС
|
|СГРУППИРОВАТЬ ПО
| ВтНачислениеНДС.Период,
| ВтНачислениеНДС.Организация,
| ВтНачислениеНДС.НаправлениеДеятельности
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВтНачислениеНДС.Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ВтНачислениеНДС.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| ВтНачислениеНДС.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.ПрибылиИУбытки) КАК Статья,
| НЕОПРЕДЕЛЕНО КАК Аналитика,
|
| СУММА(ВтНачислениеНДС.НДСУпр) КАК Сумма
|
|ИЗ
| ВтНачислениеНДС КАК ВтНачислениеНДС
|
|СГРУППИРОВАТЬ ПО
| ВтНачислениеНДС.Период,
| ВтНачислениеНДС.Организация,
| ВтНачислениеНДС.НаправлениеДеятельности
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПартииПрочихРасходов.Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ПартииПрочихРасходов.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| ПартииПрочихРасходов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.ПрибылиИУбытки) КАК Статья,
| НЕОПРЕДЕЛЕНО КАК Аналитика,
|
| СУММА(ПартииПрочихРасходов.НДСУпр) КАК Сумма
|
|ИЗ
| ВтИсходныеПартииПрочихРасходов КАК ПартииПрочихРасходов
|
|ГДЕ
| ВЫБОР
| КОГДА &СФПоАренде
| ТОГДА ПартииПрочихРасходов.АналитикаРасходов <> НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ
|
|СГРУППИРОВАТЬ ПО
| ПартииПрочихРасходов.Период,
| ПартииПрочихРасходов.Организация,
| ПартииПрочихРасходов.НаправлениеДеятельности";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
ИнициализироватьВтНачислениеНДС(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаЦенности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаЦенности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЦенности = "
|ВЫБРАТЬ
| ТаблицаЦенности.Ссылка КАК Ссылка,
| ТаблицаЦенности.ДокументПриобретения КАК ДокументПриобретения,
| ТаблицаЦенности.ИсходныйТорговыйДокумент КАК ИсходныйТорговыйДокумент,
| ТаблицаЦенности.Период КАК Период,
| ТаблицаЦенности.Организация КАК Организация,
| ТаблицаЦенности.Подразделение КАК Подразделение,
| ТаблицаЦенности.ПодразделениеУчета КАК ПодразделениеУчета,
| ТаблицаЦенности.КорректировкаПоСогласованиюСторон КАК КорректировкаПоСогласованиюСторон,
| ТаблицаЦенности.УменьшитьСуммуНДСКВычету КАК УменьшитьСуммуНДСКВычету,
| ТаблицаЦенности.ИсправлениеОшибок КАК ИсправлениеОшибок,
| ТаблицаЦенности.ДокументКорректировкиПриобретения КАК ДокументКорректировкиПриобретения,
| ТаблицаЦенности.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаЦенности.Контрагент КАК Контрагент,
| ТаблицаЦенности.Договор КАК Договор,
| ТаблицаЦенности.Грузоотправитель КАК Грузоотправитель,
| ТаблицаЦенности.РозничныйПокупатель КАК РозничныйПокупатель,
| ТаблицаЦенности.ПокупательНеПлательщикНДС КАК ПокупательНеПлательщикНДС,
| ТаблицаЦенности.ВозвратТоваровЧерезКомиссионера КАК ВозвратТоваровЧерезКомиссионера,
| ТаблицаЦенности.НалогообложениеНДС КАК НалогообложениеНДС,
| ТаблицаЦенности.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаЦенности.СтавкаНДС КАК СтавкаНДС,
| ТаблицаЦенности.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПриобретениеНаПартиюПроизводства,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиПартииПроизводства,
| ТаблицаЦенности.Номенклатура КАК Номенклатура,
| ТаблицаЦенности.ВидЗапасов КАК ВидЗапасов,
| ТаблицаЦенности.НомерГТД КАК НомерГТД,
| ТаблицаЦенности.Назначение КАК Назначение,
| ТаблицаЦенности.СтатьяПрочихАктивов КАК СтатьяПрочихАктивов,
| ТаблицаЦенности.АналитикаПрочихАктивов КАК АналитикаПрочихАктивов,
| ТаблицаЦенности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаЦенности.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаЦенности.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаЦенности.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаЦенности.АналитикаРасходов КАК АналитикаРасходов
|ИЗ
| ВтТаблицаЦенности КАК ТаблицаЦенности";
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
КонецПроцедуры
Процедура ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтСуммыДокументовВВалютахУчета";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммыДокументовВВалютахУчета", ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &ИдентификаторФинЗаписи КАК ИдентификаторСтроки,
| &Валюта КАК ВалютаДокумента,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаСНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДС,
| 0 КАК БазаНДСРегл,
| 0 КАК СуммаНДСУпр
|ПОМЕСТИТЬ ВтСуммыДокументовВВалютахУчета
|
|ГДЕ
| ЛОЖЬ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторСтроки,
| &Валюта КАК ВалютаДокумента,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДС,
| СУММА(Строки.НДСРегл) КАК СуммаСНДС,
| СУММА(Строки.НДСРегл) КАК СуммаНДСРегл,
| СУММА(Строки.НДСРегл) КАК СуммаНДС,
| 0 КАК БазаНДСРегл,
| СУММА(Строки.НДСУпр) КАК СуммаНДСУпр
|ИЗ
| ВтИсходныеПартииПрочихРасходов КАК Строки
|
|ГДЕ
| &ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентАренда)
| И (Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАренде)
| ИЛИ Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАрендеАванс)
| И Строки.АналитикаРасходов <> НЕОПРЕДЕЛЕНО
| ИЛИ Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)
| И Строки.АналитикаРасходов <> НЕОПРЕДЕЛЕНО)
| И (&ВидДеятельностиНДСДоговораАренды = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ИЛИ &ВидДеятельностиНДСДоговораАренды В (&ВидыДеятельностиНДСРаспределение)
| ИЛИ &ВидДеятельностиНДСДоговораАренды В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И &ФормироватьНДСПредъявленныйПриВключенииВСтоимость)
|
|СГРУППИРОВАТЬ ПО
| Строки.ИдентификаторФинЗаписи
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ИмяРегистра = "СуммыДокументовВВалютахУчета";
ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса);
Текст = "
|
|"+
"ВЫБРАТЬ
| *
|ИЗ
| ВтСуммыДокументовВВалютахУчета";
ТекстыЗапроса.Добавить(Текст, ИмяРегистра);
КонецПроцедуры
Процедура ИнициализироватьВтДокументыПоступления(Запрос)
Если Запрос.Параметры.Свойство("ВтДокументыПоступленияИнициализирована") Тогда
Возврат;
КонецЕсли;
МВТДокументыПоступления = Новый МенеджерВременныхТаблиц();
ПараметрыПоиска = ВзаиморасчетыСервер.ИнициализироватьПараметрыПоискаОснованийИДокументовОплаты(2);
ПараметрыПоиска.Организации = Запрос.Параметры.Организация;
ПараметрыПоиска.Документы.Добавить(Запрос.Параметры.ДокументОплаты);
ВзаиморасчетыСервер.ПодготовитьВТ_РасчетыСПоставщиками_ОснованияИДокументыОплаты(
МВТДокументыПоступления,
ПараметрыПоиска);
ПараметрыПоиска = УчетАрендованныхОС.ИнициализироватьПараметрыПоискаОснованийИДокументовОплаты();
ПараметрыПоиска.Организации = Запрос.Параметры.Организация;
ПараметрыПоиска.Документы.Добавить(Запрос.Параметры.ДокументОплаты);
УчетАрендованныхОС.ПодготовитьВТ_РасчетыСАрендодателями_ОснованияИДокументыОплаты(
МВТДокументыПоступления,
ПараметрыПоиска);
ЗапросДокументыПоступления = Новый Запрос;
ЗапросДокументыПоступления.МенеджерВременныхТаблиц = МВТДокументыПоступления;
ЗапросДокументыПоступления.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросДокументыПоступления.УстановитьПараметр("Поставщик", Запрос.Параметры.Поставщик);
ЗапросДокументыПоступления.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросДокументыПоступления.УстановитьПараметр("Договор", Запрос.Параметры.Договор);
ЗапросДокументыПоступления.УстановитьПараметр("ДокументОснование", Запрос.Параметры.ДокументОплаты);
ЗапросДокументыПоступления.УстановитьПараметр("Период", Запрос.Параметры.Период);
ЗапросДокументыПоступления.УстановитьПараметр("ПодразделениеДоговораАренды", Запрос.Параметры.ПодразделениеДоговораАренды);
мПустыеДоговоры = Новый Массив;
мПустыеДоговоры.Добавить(Неопределено);
мПустыеДоговоры.Добавить(Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
мПустыеДоговоры.Добавить(Справочники.ДоговорыАренды.ПустаяСсылка());
ЗапросДокументыПоступления.УстановитьПараметр("мПустыеДоговоры", мПустыеДоговоры);
ТипыДокументовПриобретения = Новый Массив;
ТипыДокументовПриобретения.Добавить(Тип("ДокументСсылка.ПриобретениеТоваровУслуг"));
ТипыДокументовПриобретения.Добавить(Тип("ДокументСсылка.ПриобретениеУслугПрочихАктивов"));
ТипыДокументовПриобретения.Добавить(Тип("ДокументСсылка.ПервичныйДокумент"));
ТипыДокументовПриобретения.Добавить(Тип("ДокументСсылка.ПоступлениеУслугПоАренде"));
ЗапросДокументыПоступления.УстановитьПараметр("ТипыДокументовПриобретения", ТипыДокументовПриобретения);
ЗапросДокументыПоступления.Текст =
"ВЫБРАТЬ
| ДокументыПоступления.ОснованиеОплаты КАК Документ,
| НЕОПРЕДЕЛЕНО КАК ТипПлатежа,
| СУММА(ДокументыПоступления.СуммаОплатыРегл) КАК СуммаОплаты
|ИЗ
| РасчетыСПоставщиками_ОснованияИДокументыОплаты КАК ДокументыПоступления
|
|ГДЕ
| ТИПЗНАЧЕНИЯ(ДокументыПоступления.ОснованиеОплаты) В (&ТипыДокументовПриобретения)
| И ДокументыПоступления.Контрагент = &Поставщик
| И (ДокументыПоступления.Договор = &Договор
| ИЛИ &Договор В (&мПустыеДоговоры))
|
|СГРУППИРОВАТЬ ПО
| ДокументыПоступления.ОснованиеОплаты
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДокументыПоступления.ОснованиеОплаты КАК Документ,
| ДокументыПоступления.ТипПлатежа КАК ТипПлатежа,
| СУММА(ДокументыПоступления.СуммаОплатыРегл) КАК СуммаОплаты
|ИЗ
| РасчетыСАрендодателями_ОснованияИДокументыОплаты КАК ДокументыПоступления
|
|ГДЕ
| ДокументыПоступления.Контрагент = &Поставщик
| И (ДокументыПоступления.Договор = &Договор
| ИЛИ &Договор В (&мПустыеДоговоры))
|
|СГРУППИРОВАТЬ ПО
| ДокументыПоступления.ОснованиеОплаты,
| ДокументыПоступления.ТипПлатежа
|;
|
|
|УНИЧТОЖИТЬ РасчетыСПоставщиками_ОснованияИДокументыОплаты
|;
|
|
|УНИЧТОЖИТЬ РасчетыСАрендодателями_ОснованияИДокументыОплаты
|";
ТаблицаДокументовПоступления = ЗапросДокументыПоступления.Выполнить().Выгрузить();
ТаблицаДокументовПоступления.Колонки.Добавить("НомерСтроки", ОбщегоНазначения.ОписаниеТипаЧисло(10,0));
ТаблицаДокументовПоступления.Колонки.Добавить("ИдентификаторДокументаПоступления", ОбщегоНазначения.ОписаниеТипаСтрока(36));
Для Каждого СтрокаТаблицы Из ТаблицаДокументовПоступления Цикл
СтрокаТаблицы.НомерСтроки = ТаблицаДокументовПоступления.Индекс(СтрокаТаблицы) + 1;
СтрокаТаблицы.ИдентификаторДокументаПоступления = ?(ЗначениеЗаполнено(СтрокаТаблицы.Документ), Строка(СтрокаТаблицы.Документ.УникальныйИдентификатор()), "");
КонецЦикла;
ЗапросДокументыПоступления.Текст =
"ВЫБРАТЬ
| ДокументыПоступления.НомерСтроки КАК НомерСтроки,
| ДокументыПоступления.Документ КАК Документ,
| ДокументыПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления,
| ВЫБОР
| КОГДА ЛОЖЬ
| ТОГДА """"
| КОГДА ИСТИНА
| ТОГДА ДокументыПоступления.ТипПлатежа
| ИНАЧЕ
| """"
| КОНЕЦ КАК ТипПлатежа,
| ДокументыПоступления.СуммаОплаты КАК СуммаОплаты
|ПОМЕСТИТЬ ТаблицаДокументовПоступления
|ИЗ
| &ДокументыПоступления КАК ДокументыПоступления
|
|ИНДЕКСИРОВАТЬ ПО
| Документ
|;
|
|
|ВЫБРАТЬ
| ДокументыПоступления.НомерСтроки КАК НомерСтроки,
| ДокументыПоступления.Документ КАК Документ
|ПОМЕСТИТЬ РаспределяемыеСтатьи
|ИЗ
| РегистрНакопления.ПрочиеРасходы КАК Расходы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДокументовПоступления КАК ДокументыПоступления
| ПО Расходы.Регистратор = ДокументыПоступления.Документ
|ГДЕ
| Расходы.СтатьяРасходов.ВариантРаздельногоУчетаНДС = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
|
|ИНДЕКСИРОВАТЬ ПО
| Документ,
| НомерСтроки
|;
|
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| Приобретение.Ссылка КАК Документ,
| ТаблицаДокументовПоступления.НомерСтроки КАК НомерСтроки,
| ТаблицаДокументовПоступления.СуммаОплаты КАК СуммаОплаты,
| Приобретение.НалогообложениеНДС КАК НалогообложениеНДС,
| Приобретение.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| Приобретение.Дата КАК Дата,
| Приобретение.Подразделение КАК Подразделение,
| Приобретение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА РаспределяемыеСтатьи.Документ ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьРаспределяемаяСтатья,
| НЕОПРЕДЕЛЕНО КАК ТипПлатежа,
| ТаблицаДокументовПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления
|ПОМЕСТИТЬ втДокументыПоступления
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК Приобретение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДокументовПоступления КАК ТаблицаДокументовПоступления
| ПО Приобретение.Ссылка = ТаблицаДокументовПоступления.Документ
| ЛЕВОЕ СОЕДИНЕНИЕ РаспределяемыеСтатьи КАК РаспределяемыеСтатьи
| ПО ТаблицаДокументовПоступления.Документ = РаспределяемыеСтатьи.Документ
| И ТаблицаДокументовПоступления.НомерСтроки = РаспределяемыеСтатьи.НомерСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| Приобретение.Ссылка КАК Документ,
| ТаблицаДокументовПоступления.НомерСтроки КАК НомерСтроки,
| ТаблицаДокументовПоступления.СуммаОплаты КАК СуммаОплаты,
| Приобретение.НалогообложениеНДС КАК НалогообложениеНДС,
| Приобретение.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| Приобретение.Дата КАК Дата,
| Приобретение.Подразделение КАК Подразделение,
| Приобретение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА РаспределяемыеСтатьи.Документ ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьРаспределяемаяСтатья,
| НЕОПРЕДЕЛЕНО КАК ТипПлатежа,
| ТаблицаДокументовПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления
|ИЗ
| Документ.ПриобретениеУслугПрочихАктивов КАК Приобретение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДокументовПоступления КАК ТаблицаДокументовПоступления
| ПО Приобретение.Ссылка = ТаблицаДокументовПоступления.Документ
| ЛЕВОЕ СОЕДИНЕНИЕ РаспределяемыеСтатьи КАК РаспределяемыеСтатьи
| ПО ТаблицаДокументовПоступления.Документ = РаспределяемыеСтатьи.Документ
| И ТаблицаДокументовПоступления.НомерСтроки = РаспределяемыеСтатьи.НомерСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| Приобретение.Ссылка КАК Документ,
| ТаблицаДокументовПоступления.НомерСтроки КАК НомерСтроки,
| ТаблицаДокументовПоступления.СуммаОплаты КАК СуммаОплаты,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС) КАК НалогообложениеНДС,
| &НалогообложениеОрганизации КАК ЗакупкаПодДеятельность,
| Приобретение.Дата КАК Дата,
| Приобретение.Подразделение КАК Подразделение,
| Приобретение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ,
| НЕОПРЕДЕЛЕНО КАК ТипПлатежа,
| ТаблицаДокументовПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления
|ИЗ
| Документ.ПервичныйДокумент КАК Приобретение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДокументовПоступления КАК ТаблицаДокументовПоступления
| ПО Приобретение.Ссылка = ТаблицаДокументовПоступления.Документ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| Приобретение.Ссылка КАК Документ,
| ТаблицаДокументовПоступления.НомерСтроки КАК НомерСтроки,
| ТаблицаДокументовПоступления.СуммаОплаты КАК СуммаОплаты,
| Приобретение.НалогообложениеНДС КАК НалогообложениеНДС,
| Приобретение.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| Приобретение.Дата КАК Дата,
| &ПодразделениеДоговораАренды КАК Подразделение,
| ДоговорАренды.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА РаспределяемыеСтатьи.Документ ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьРаспределяемаяСтатья,
| ТаблицаДокументовПоступления.ТипПлатежа КАК ТипПлатежа,
| ТаблицаДокументовПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления
|ИЗ
| Документ.ПоступлениеУслугПоАренде КАК Приобретение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаДокументовПоступления КАК ТаблицаДокументовПоступления
| ПО (Приобретение.Ссылка = ТаблицаДокументовПоступления.Документ)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыАренды КАК ДоговорАренды
| ПО Приобретение.Договор = ДоговорАренды.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РаспределяемыеСтатьи КАК РаспределяемыеСтатьи
| ПО ТаблицаДокументовПоступления.Документ = РаспределяемыеСтатьи.Документ
| И ТаблицаДокументовПоступления.НомерСтроки = РаспределяемыеСтатьи.НомерСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК Документ,
| 0 КАК НомерСтроки,
| ТаблицаДокументовПоступления.СуммаОплаты КАК СуммаОплаты,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| НЕОПРЕДЕЛЕНО КАК ЗакупкаПодДеятельность,
| &Период КАК Дата,
| &ПодразделениеДоговораАренды КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ЕстьРаспределяемаяСтатья,
| ТаблицаДокументовПоступления.ТипПлатежа КАК ТипПлатежа,
| ТаблицаДокументовПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления
|ИЗ
| ТаблицаДокументовПоступления КАК ТаблицаДокументовПоступления
|ГДЕ
| (ТаблицаДокументовПоступления.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАрендеАванс)
| ИЛИ ТаблицаДокументовПоступления.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж))
| И НЕ ТИПЗНАЧЕНИЯ(ТаблицаДокументовПоступления.Документ) В (&ТипыДокументовПриобретения)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК Документ,
| 0 КАК НомерСтроки,
| ТаблицаДокументовПоступления.СуммаОплаты КАК СуммаОплаты,
| НЕОПРЕДЕЛЕНО КАК НалогообложениеНДС,
| НЕОПРЕДЕЛЕНО КАК ЗакупкаПодДеятельность,
| &Период КАК Дата,
| &ПодразделениеДоговораАренды КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ЕстьРаспределяемаяСтатья,
| ТаблицаДокументовПоступления.ТипПлатежа КАК ТипПлатежа,
| ТаблицаДокументовПоступления.ИдентификаторДокументаПоступления КАК ИдентификаторДокументаПоступления
|ИЗ
| ТаблицаДокументовПоступления КАК ТаблицаДокументовПоступления
|ГДЕ
| ТаблицаДокументовПоступления.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАренде)
|;
|
|
|УНИЧТОЖИТЬ ТаблицаДокументовПоступления
|";
ЗапросДокументыПоступления.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросДокументыПоступления.УстановитьПараметр("ДокументыПоступления", ТаблицаДокументовПоступления);
УстановитьПараметрЗапросаНалогообложениеОрганизации(ЗапросДокументыПоступления);
ЗапросДокументыПоступления.Выполнить();
Запрос.УстановитьПараметр("СуммаКПоступлению", Макс(Запрос.Параметры.Сумма - ТаблицаДокументовПоступления.Итог("СуммаОплаты"),0));
Запрос.УстановитьПараметр("ВтДокументыПоступленияИнициализирована", Истина);
КонецПроцедуры
Процедура ИнициализироватьВтПартииПрочихРасходов(Запрос)
Если Запрос.Параметры.Свойство("ВтПартииПрочихРасходовИнициализирована") Тогда
Возврат;
КонецЕсли;
НастройкиНалоговУчетныхПолитик.ДополнитьМенеджерВременныхТаблицДействующимиПараметрамиНалоговУчетныхПолитик(
Метаданные.РегистрыСведений.НастройкиУчетаНДС.Имя,
Запрос.МенеджерВременныхТаблиц,
Запрос.Параметры.Дата,
"ВТНастройкиУчетаНДС",
Запрос.Параметры.Организация);
ИнициализироватьВтДокументыПоступления(Запрос);
ИнициализироватьВтНачислениеНДС(Запрос);
ИнициализироватьКлючиАналитикиУчетаПартийДокумента(Запрос);
ЗапросПартииПрочихРасходов = Новый Запрос;
ЗапросПартииПрочихРасходов.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросПартииПрочихРасходов.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросПартииПрочихРасходов.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросПартииПрочихРасходов.УстановитьПараметр("СтатьяРасходов", Запрос.Параметры.СтатьяРасходов);
ЗапросПартииПрочихРасходов.УстановитьПараметр("НалогПеречислен", Запрос.Параметры.НалогПеречислен);
ЗапросПартииПрочихРасходов.УстановитьПараметр("СуммаКПоступлению", Запрос.Параметры.СуммаКПоступлению);
ЗапросПартииПрочихРасходов.УстановитьПараметр("Период", Запрос.Параметры.Период);
ЗапросПартииПрочихРасходов.УстановитьПараметр("СФПоАренде", Запрос.Параметры.СФПоАренде);
ЗапросПартииПрочихРасходов.УстановитьПараметр("СтатьяРасходовДоговораАренды", Запрос.Параметры.СтатьяРасходовДоговораАренды);
ЗапросПартииПрочихРасходов.УстановитьПараметр("АналитикаРасходовДоговораАренды", Запрос.Параметры.АналитикаРасходовДоговораАренды);
ЗапросПартииПрочихРасходов.Текст =
"ВЫБРАТЬ
| ВтНачислениеНДС.Период,
| ВтНачислениеНДС.Организация,
| ВтНачислениеНДС.ВидЦенности,
| ВтНачислениеНДС.СчетФактура,
| ВтНачислениеНДС.Поставщик,
| ВтНачислениеНДС.ДокументОплаты,
| ВтНачислениеНДС.ДатаОплаты,
| ВтНачислениеНДС.ДатаСобытия,
| ВтНачислениеНДС.СтавкаНДС,
| ВтНачислениеНДС.НДС,
| ВтНачислениеНДС.НДСУпр,
| ВтНачислениеНДС.СуммаБезНДС,
| ВтНачислениеНДС.НомерДокументаОплаты,
| ВтНачислениеНДС.ДатаДокументаОплаты,
| ВтНачислениеНДС.НаправлениеДеятельности КАК КорНаправлениеДеятельности,
| ВтНачислениеНДС.ИдентификаторФинЗаписи,
| ВтНачислениеНДС.НастройкаХозяйственнойОперации,
| ВтНачислениеНДС.ХозяйственнаяОперация
|ИЗ
| ВтНачислениеНДС КАК ВтНачислениеНДС
|;
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ВЫБОР
| КОГДА ДокументыПоступления.Дата > &Период
| ТОГДА ДокументыПоступления.Дата
| ИНАЧЕ &Период
| КОНЕЦ КАК Период,
| &Организация КАК Организация,
| ДокументыПоступления.Подразделение КАК Подразделение,
| ДокументыПоступления.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА Аналитика.НалогообложениеНДС <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА Аналитика.НалогообложениеНДС
| ИНАЧЕ Аналитика.АналитикаУчетаПартий.НалогообложениеНДС
| КОНЕЦ КАК ВидДеятельностиНДС,
| ВЫБОР
| КОГДА &СФПоАренде
| ТОГДА &СтатьяРасходовДоговораАренды
| ИНАЧЕ
| &СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
| ДокументыПоступления.Документ КАК АналитикаРасходов,
| &Ссылка КАК ДокументПоступленияРасходов,
| Аналитика.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| Аналитика.АналитикаУчетаПартий.СтавкаНДС КАК СтавкаНДС,
| ДокументыПоступления.СуммаОплаты КАК СуммаОплаты,
| ДокументыПоступления.ТипПлатежа КАК ТипПлатежа
|ИЗ
| втДокументыПоступления КАК ДокументыПоступления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК Аналитика
| ПО
| (Аналитика.НомерСтроки - ДокументыПоступления.НомерСтроки) >= 0
| И (Аналитика.НомерСтроки - ДокументыПоступления.НомерСтроки) < 1
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| НЕОПРЕДЕЛЕНО,
| Аналитика.АналитикаУчетаПартий.СтавкаНДС КАК СтавкаНДС,
| &СуммаКПоступлению,
| НЕОПРЕДЕЛЕНО
|ИЗ
| ВтТаблицаАналитикУчетаПартий КАК Аналитика
|";
Результат = ЗапросПартииПрочихРасходов.ВыполнитьПакет();
НДСПартииПрочихРасходов = ВключитьНДСВПартииПрочихРасходов(Результат[0].Выгрузить(), Результат[1].Выгрузить(), Запрос.Параметры);
ЗапросПартииПрочихРасходов.УстановитьПараметр("НДСПартииПрочихРасходов", НДСПартииПрочихРасходов);
ЗапросПартииПрочихРасходов.УстановитьПараметр("ПартионныйУчетВерсии22Включен", РасчетСебестоимостиПовтИсп.ПартионныйУчетВерсии22());
ЗапросПартииПрочихРасходов.УстановитьПараметр("ДатаПереходаНаПартионныйУчетВерсии22", РасчетСебестоимостиПовтИсп.ДатаПереходаНаПартионныйУчетВерсии22());
ЗапросПартииПрочихРасходов.УстановитьПараметр("ВидДеятельностиНДСДоговораАренды", Запрос.Параметры.ВидДеятельностиНДСДоговораАренды);
ЗапросПартииПрочихРасходов.УстановитьПараметр("НаправлениеДеятельностиДоговораАренды", Запрос.Параметры.НаправлениеДеятельностиДоговораАренды);
ЗапросПартииПрочихРасходов.Текст =
"ВЫБРАТЬ
| ПартииПрочихРасходов.АналитикаРасходов,
| ПартииПрочихРасходов.АналитикаАктивовПассивов,
| ПартииПрочихРасходов.АналитикаУчетаНоменклатуры,
| ПартииПрочихРасходов.АналитикаУчетаПартий,
| ПартииПрочихРасходов.СтавкаНДС КАК СтавкаНДС,
| ПартииПрочихРасходов.ТипПлатежа КАК ТипПлатежа,
| ПартииПрочихРасходов.ВидДвижения,
| ПартииПрочихРасходов.ВременнаяРазница,
| ПартииПрочихРасходов.ДокументПоступленияРасходов,
| ПартииПрочихРасходов.ДокументРеализации,
| ВЫБОР
| КОГДА &СФПоАренде
| ТОГДА &ВидДеятельностиНДСДоговораАренды
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| КОНЕЦ КАК ВидДеятельностиНДС,
| ПартииПрочихРасходов.НДСРегл,
| ПартииПрочихРасходов.НДСУпр,
| ПартииПрочихРасходов.НалогообложениеНДС,
| ПартииПрочихРасходов.НомерСтроки,
| ПартииПрочихРасходов.Организация,
| ПартииПрочихРасходов.Период,
| ПартииПрочихРасходов.Подразделение,
| ВЫБОР
| КОГДА &СФПоАренде
| ТОГДА &НаправлениеДеятельностиДоговораАренды
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельности,
| ПартииПрочихРасходов.КорНаправлениеДеятельности,
| ПартииПрочихРасходов.ПостояннаяРазница,
| ПартииПрочихРасходов.Регистратор,
| ПартииПрочихРасходов.СтатьяОтраженияРасходов,
| ПартииПрочихРасходов.СтатьяРасходов,
| ПартииПрочихРасходов.Стоимость,
| ПартииПрочихРасходов.СтоимостьБезНДС,
| ПартииПрочихРасходов.СтоимостьРегл,
| ПартииПрочихРасходов.ХозяйственнаяОперация,
| ПартииПрочихРасходов.НастройкаХозяйственнойОперации,
| ПартииПрочихРасходов.ИдентификаторФинЗаписи
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| &НДСПартииПрочихРасходов КАК ПартииПрочихРасходов";
ЗапросПартииПрочихРасходов.Выполнить();
МассивПериодов = НДСПартииПрочихРасходов.ВыгрузитьКолонку("Период");
Если МассивПериодов.Количество() = 0 Тогда
МассивПериодов.Добавить(Запрос.Параметры.Дата);
КонецЕсли;
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализацииПоПериодам(
Запрос,
Запрос.Параметры,
МассивПериодов);
Запрос.УстановитьПараметр("ВтПартииПрочихРасходовИнициализирована", Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПрочихРасходов";
ИнициализироватьВтПартииПрочихРасходов(Запрос);
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов("КорНаправлениеДеятельности", Истина);
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры)
Или Запрос.Параметры.СФПоАренде Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов("КорНаправлениеДеятельности");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
ИнициализироватьВтПартииПрочихРасходов(Запрос);
УстановитьПараметрКоэффициентПересчетаВВалютуУпр(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасходов.Период КАК Период,
| ТаблицаРасходов.ВидДвижения КАК ВидДвижения,
| ТаблицаРасходов.Организация КАК Организация,
| ТаблицаРасходов.Подразделение КАК Подразделение,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА &СФПоАренде
| ТОГДА &СтатьяРасходовДоговораАренды
| ИНАЧЕ
| ТаблицаРасходов.СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
| ТаблицаРасходов.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаРасходов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| СУММА(ТаблицаРасходов.НДСРегл * &КоэффициентПересчетаВВалютуУпр) КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК СуммаБезНДСУпр,
|
| СУММА(ТаблицаРасходов.НДСРегл) КАК СуммаСНДСРегл,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаРасходов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаРасходов.ИдентификаторФинЗаписи КАК ИдентификаторСтроки,
| ТаблицаРасходов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВтИсходныеПартииПрочихРасходов КАК ТаблицаРасходов
|
|ГДЕ
| ВЫБОР
| КОГДА &СФПоАренде
| ТОГДА ТаблицаРасходов.АналитикаРасходов <> НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ
|
|СГРУППИРОВАТЬ ПО
| ТаблицаРасходов.Период,
| ТаблицаРасходов.ВидДвижения,
| ТаблицаРасходов.Организация,
| ТаблицаРасходов.Подразделение,
| ТаблицаРасходов.СтатьяРасходов,
| ТаблицаРасходов.АналитикаРасходов,
| ТаблицаРасходов.ВидДеятельностиНДС,
| ТаблицаРасходов.АналитикаУчетаНоменклатуры,
| ТаблицаРасходов.ИдентификаторФинЗаписи
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаЦенности(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаЦенности";
ТекстЗапросаТаблицаВтСуммыДокументовВВалютахУчета(Запрос, ТекстыЗапроса);
ТекстТаблицаЦенности = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Ссылка КАК Ссылка,
| &Ссылка КАК ДокументПриобретения,
| &Ссылка КАК ИсходныйТорговыйДокумент,
| Строки.Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &ПодразделениеДоговораАренды КАК ПодразделениеУчета,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| ЛОЖЬ КАК ИсправлениеОшибок,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| &ВидДеятельностиНДСДоговораАренды КАК ВидДеятельностиНДС,
| &Поставщик КАК Контрагент,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| ЛОЖЬ КАК РозничныйПокупатель,
| ЛОЖЬ КАК ПокупательНеПлательщикНДС,
| ЛОЖЬ КАК ВозвратТоваровЧерезКомиссионера,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС) КАК НалогообложениеНДС,
| ЛОЖЬ КАК СписатьНаРасходы,
| Строки.СтавкаНДС КАК СтавкаНДС,
| Строки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
| НЕОПРЕДЕЛЕНО КАК Назначение,
| НЕОПРЕДЕЛЕНО КАК СтатьяПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаПрочихАктивов,
| СУММА(Строки.НДСУпр) КАК НДСУпр,
| СУММА(Строки.НДСРегл) КАК НДС,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторСтроки,
| Строки.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| Строки.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| &СтатьяРасходовДоговораАренды КАК СтатьяРасходов,
| &АналитикаРасходовДоговораАренды КАК АналитикаРасходов
|ПОМЕСТИТЬ ВтТаблицаЦенности
|ИЗ
| ВтИсходныеПартииПрочихРасходов КАК Строки
|
|ГДЕ
| &ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентАренда)
| И (Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАренде)
| ИЛИ Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.УслугаПоАрендеАванс)
| И Строки.АналитикаРасходов <> НЕОПРЕДЕЛЕНО
| ИЛИ Строки.ТипПлатежа = ЗНАЧЕНИЕ(Перечисление.ТипыПлатежейПоАренде.ОбеспечительныйПлатеж)
| И Строки.АналитикаРасходов <> НЕОПРЕДЕЛЕНО)
| И (&ВидДеятельностиНДСДоговораАренды = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ИЛИ &ВидДеятельностиНДСДоговораАренды В (&ВидыДеятельностиНДСРаспределение)
| ИЛИ &ВидДеятельностиНДСДоговораАренды В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И &ФормироватьНДСПредъявленныйПриВключенииВСтоимость)
|
|СГРУППИРОВАТЬ ПО
| Строки.Период,
| Строки.СтавкаНДС,
| Строки.НаправлениеДеятельности,
| Строки.ИдентификаторФинЗаписи,
| Строки.НастройкаХозяйственнойОперации";
ТекстыЗапроса.Добавить(ТекстТаблицаЦенности, ИмяРегистра);
Возврат ТекстТаблицаЦенности;
КонецФункции
Процедура УстановитьПараметрКоэффициентПересчетаВВалютуУпр(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр") Тогда
Возврат;
КонецЕсли;
КоэффициентПересчетаВВалютуУпр = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
Запрос.Параметры.Валюта,
Константы.ВалютаУправленческогоУчета.Получить(),
Запрос.Параметры.Период);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", КоэффициентПересчетаВВалютуУпр);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Поставщик КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Ответственный КАК Ответственный,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаНДС КАК Сумма,
| ВЫБОР
| КОГДА &РучнаяКорректировкаЖурналаСФ
| ТОГДА ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.ОтраженоВУчетеВручную)
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| НЕОПРЕДЕЛЕНО КАК РазделительЗаписи,
| НЕОПРЕДЕЛЕНО КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| ЛОЖЬ КАК СторноИсправление,
| НЕОПРЕДЕЛЕНО КАК СторнируемыйДокумент,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаОтражениеДокументовВРеглУчете(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ОтражениеДокументовВРеглУчете";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьВтДокументыПоступления(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| НАЧАЛОПЕРИОДА(&Период, ДЕНЬ) КАК ДатаОтражения
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ДокументыПоступления.Дата, ДЕНЬ) > НАЧАЛОПЕРИОДА(&Период, ДЕНЬ)
| ТОГДА НАЧАЛОПЕРИОДА(ДокументыПоступления.Дата, ДЕНЬ)
| ИНАЧЕ НАЧАЛОПЕРИОДА(&Период, ДЕНЬ)
| КОНЕЦ КАК ДатаОтражения
|ИЗ
| втДокументыПоступления КАК ДокументыПоступления
|ГДЕ
| ДокументыПоступления.Документ <> НЕОПРЕДЕЛЕНО
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьДвиженияНДС(ТаблицаИзменений) Экспорт
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаИзменений.Период КАК ДатаОтражения,
| ТаблицаИзменений.Документ КАК РасчетныйДокумент
|ПОМЕСТИТЬ ВтРасчеты
|ИЗ
| &ТаблицаИзменений КАК ТаблицаИзменений
|ИНДЕКСИРОВАТЬ ПО
| РасчетныйДокумент
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| СчетФактура.Ссылка КАК СчетФактура,
| СчетФактура.Дата КАК Дата,
| СчетФактура.Организация КАК Организация,
| Расчеты.ДатаОтражения КАК ДатаОтражения
|ИЗ
| ВтРасчеты КАК Расчеты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СчетФактураНалоговыйАгент КАК СчетФактура
| ПО Расчеты.РасчетныйДокумент = СчетФактура.ДокументОснование
|ГДЕ
| СчетФактура.Проведен
|ИТОГИ ПО
| СчетФактура";
Запрос.УстановитьПараметр("ТаблицаИзменений", ТаблицаИзменений);
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.НДСПредъявленный.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Выборка.СчетФактура);
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ПартииПрочихРасходов.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Выборка.СчетФактура);
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ПартииНДСКРаспределению.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Выборка.СчетФактура);
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ПрочиеАктивыПассивы.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Выборка.СчетФактура);
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ОтражениеДокументовВРеглУчете.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Выборка.СчетФактура);
ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.Хозрасчетный.НаборЗаписей");
ЭлементБлокировки.УстановитьЗначение("Регистратор", Выборка.СчетФактура);
Блокировка.Заблокировать();
Движения = Новый Структура;
НДСПредъявленный = РегистрыНакопления.НДСПредъявленный.СоздатьНаборЗаписей();
НДСПредъявленный.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("НДСПредъявленный", НДСПредъявленный);
ПрочиеРасходы = РегистрыНакопления.ПрочиеРасходы.СоздатьНаборЗаписей();
ПрочиеРасходы.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("ПрочиеРасходы", ПрочиеРасходы);
ПартииПрочихРасходов = РегистрыНакопления.ПартииПрочихРасходов.СоздатьНаборЗаписей();
ПартииПрочихРасходов.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("ПартииПрочихРасходов", ПартииПрочихРасходов);
ПартииНДСКРаспределению = РегистрыНакопления.ПартииНДСКРаспределению.СоздатьНаборЗаписей();
ПартииНДСКРаспределению.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("ПартииНДСКРаспределению", ПартииНДСКРаспределению);
ПрочиеАктивыПассивы = РегистрыНакопления.ПрочиеАктивыПассивы.СоздатьНаборЗаписей();
ПрочиеАктивыПассивы.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("ПрочиеАктивыПассивы", ПрочиеАктивыПассивы);
ОтражениеДокументовВРеглУчете = РегистрыСведений.ОтражениеДокументовВРеглУчете.СоздатьНаборЗаписей();
ОтражениеДокументовВРеглУчете.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("ОтражениеДокументовВРеглУчете", ОтражениеДокументовВРеглУчете);
Хозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Хозрасчетный.Отбор.Регистратор.Установить(Выборка.СчетФактура);
Движения.Вставить("Хозрасчетный", Хозрасчетный);
Регистры = Новый Структура;
Регистры.Вставить("НДСПредъявленный");
Регистры.Вставить("ПрочиеРасходы");
Регистры.Вставить("ПартииПрочихРасходов");
Регистры.Вставить("ПартииНДСКРаспределению");
Регистры.Вставить("ПрочиеАктивыПассивы");
Регистры.Вставить("ОтражениеДокументовВРеглУчете");
ТаблицыДляДвижений = ПроведениеДокументов.ДанныеДокументаДляПроведения(Выборка.СчетФактура, Регистры);
УчетНДСУП.ОтразитьДвижения(ТаблицыДляДвижений, Движения, Ложь);
ДоходыИРасходыСервер.ОтразитьДвижения(ТаблицыДляДвижений, Движения, Ложь);
ПроведениеДокументов.ОтразитьДвижения(ТаблицыДляДвижений, Движения, "ПартииПрочихРасходов");
ПроведениеДокументов.ОтразитьДвижения(ТаблицыДляДвижений, Движения, "ПрочиеАктивыПассивы");
Движения.НДСПредъявленный.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина);
Движения.ПрочиеРасходы.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина);
Движения.ПартииПрочихРасходов.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина);
Движения.ПартииНДСКРаспределению.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина);
Движения.ПрочиеАктивыПассивы.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина);
ТаблицаВыборочнойРегистрации = РеглУчетПроведениеСервер.ТаблицаВыборочнойРегистрацииКОтражению();
ВыборкаДатыОтражения = Выборка.Выбрать();
Пока ВыборкаДатыОтражения.Следующий() Цикл
РеглУчетПроведениеСервер.ДобавитьПараметрыВыборочнойРегистрацииКОтражениюВРеглУчете(
ТаблицаВыборочнойРегистрации,
ВыборкаДатыОтражения.Организация,
ВыборкаДатыОтражения.ДатаОтражения);
КонецЦикла;
Если ЗначениеЗаполнено(ТаблицаВыборочнойРегистрации) Тогда
ТаблицыДляДвижений.Вставить("ТаблицаВыборочнойРегистрацииКОтражению", ТаблицаВыборочнойРегистрации);
КонецЕсли;
РеглУчетПроведениеСервер.ОтразитьДвижения(ТаблицыДляДвижений, Движения, Ложь);
Документ = ПроведениеДокументов.ЭмуляцияДокумента(Выборка.СчетФактура, Выборка.Дата);
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Для каждого Движение Из Движения Цикл
ПроведениеДокументов.УстановитьДопСвойстваРегистра(Движение.Значение, Документ, МенеджерВТ);
Движение.Значение.Записать();
КонецЦикла;
ПроведениеДокументов.СформироватьЗаданияНаОтложенныеДвижения(Документ, МенеджерВТ);
Если ПолучитьФункциональнуюОпцию("ФормироватьУправленческийБаланс")
И Не ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов") Тогда
Обработки.ДвиженияАктивовПассивов.ОтразитьДокументыВУправленческомБалансе(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Выборка.СчетФактура));
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ТекстСообщения = СтрШаблон(
НСтр("ru = 'Не удалось выполнить отражение в учете партий НДС документа ""%1"" по причине: %2'"),
Выборка.СчетФактура,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение ТекстСообщения;
КонецПопытки
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьОбщихФорм";
КомандаПечати.Идентификатор = "СчетФактура";
КомандаПечати.Представление = НСтр("ru = 'Счет-фактура'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.ДополнительныеПараметры.Вставить("ПечатьВВалюте", Ложь);
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыСчетФактура(ПараметрыПечати, МассивОбъектов) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
Запрос.УстановитьПараметр("ПредставлениеСчетФактура", НСтр("ru = 'счет-фактура'"));
Запрос.УстановитьПараметр("ДатаНачалаОбязательногоПримененияЕНП", РеглУчетСервер.ДатаНачалаОбязательногоПримененияЕНП());
Запрос.Текст =
"ВЫБРАТЬ
| Ссылка КАК Ссылка,
| Организация КАК Организация,
| СчетФактураНалоговыйАгент.Подразделение КАК Подразделение,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| Дата КАК Период
|
|ПОМЕСТИТЬ ТаблицаДанныхДокументов
|
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК СчетФактураНалоговыйАгент
|ГДЕ
| СчетФактураНалоговыйАгент.Ссылка В (&МассивДокументов)";
Запрос.Выполнить();
Обработки.ПечатьОбщихФорм.ПоместитьВременнуюТаблицуДанныхПоставщика(МенеджерВременныхТаблиц);
Запрос.Текст = "УНИЧТОЖИТЬ ТаблицаДанныхДокументов";
Запрос.Выполнить();
Запрос.Текст =
"ВЫБРАТЬ
| ПодтверждениеОплатыНДСВБюджет.СчетФактура КАК Документ,
| МАКСИМУМ(ПодтверждениеОплатыНДСВБюджет.СтрокаПлатежноРасчетныеДокументы) КАК СтрокаПлатежноРасчетныеДокументы
|ПОМЕСТИТЬ ОплатаВБюджет
|ИЗ
| РегистрСведений.ПодтверждениеОплатыНДСВБюджет КАК ПодтверждениеОплатыНДСВБюджет
|ГДЕ
| ПодтверждениеОплатыНДСВБюджет.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОплатыНДСВБюджет.Оплачено)
|
|СГРУППИРОВАТЬ ПО
| ПодтверждениеОплатыНДСВБюджет.СчетФактура
|;
|
|
|ВЫБРАТЬ
| СчетФактура.Ссылка КАК Ссылка,
| &ПредставлениеСчетФактура КАК ПредставлениеДокумента,
| СчетФактура.Номер КАК Номер,
| СчетФактура.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК НомерИсправления,
| НЕОПРЕДЕЛЕНО КАК ДатаИсправления,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК НомерСчетаФактуры,
| НЕОПРЕДЕЛЕНО КАК ДатаСчетаФактуры,
| НЕОПРЕДЕЛЕНО КАК НомерИсправленияСчетаФактуры,
| НЕОПРЕДЕЛЕНО КАК ДатаИсправленияСчетаФактуры,
| ЛОЖЬ КАК КорректировочныйСчетФактура,
| ВЫБОР
| КОГДА СчетФактура.Дата < &ДатаНачалаОбязательногоПримененияЕНП ТОГДА
| ВЫБОР СчетФактура.ВидАгентскогоДоговора
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.Нерезидент)
| ТОГДА ЕСТЬNULL(ОплатаВБюджет.СтрокаПлатежноРасчетныеДокументы, """")
| КОГДА ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.НерезидентЭлектронныеУслуги)
| ТОГДА ЕСТЬNULL(ОплатаВБюджет.СтрокаПлатежноРасчетныеДокументы, """") КОНЕЦ
| ИНАЧЕ СчетФактура.СтрокаПлатежноРасчетныеДокументы
| КОНЕЦ КАК СтрокаПоДокументу,
| СчетФактура.Организация.ВалютаРегламентированногоУчета КАК ВалютаСчетаФактуры,
| ВЫБОР
| КОГДА СчетФактура.Поставщик.ОбособленноеПодразделение
| ТОГДА СчетФактура.Поставщик.ГоловнойКонтрагент
| ИНАЧЕ СчетФактура.Поставщик
| КОНЕЦ КАК Организация,
| СчетФактура.Организация КАК Контрагент,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| СчетФактура.Организация.Префикс КАК Префикс,
| ДанныеПокупателя.ИндексПодразделения КАК ИндексПодразделения,
| СчетФактура.Поставщик КАК Грузополучатель,
| СчетФактура.ДокументОснование.Номер КАК НомерПлатежноРасчетногоДокумента,
| СчетФактура.ДокументОснование.Дата КАК ДатаПлатежноРасчетногоДокумента,
| СчетФактура.Организация КАК Грузоотправитель,
| СчетФактура.Поставщик.КПП КАК КПППоставщика,
| ДанныеПокупателя.КПППоставщика КАК КПППокупателя,
| СчетФактура.Организация.ИНН КАК ИННПокупателя,
| НЕОПРЕДЕЛЕНО КАК АдресДоставки,
| СчетФактура.Организация.ВалютаРегламентированногоУчета КАК Валюта,
| НЕОПРЕДЕЛЕНО КАК ВалютаНаименованиеПолное,
| НЕОПРЕДЕЛЕНО КАК ВалютаКод,
| ЛОЖЬ КАК ТолькоУслуги,
| ЛОЖЬ КАК ЕстьПрослеживаемыеТовары,
| ЛОЖЬ КАК ЭтоПередачаНаКомиссию,
| НЕОПРЕДЕЛЕНО КАК ПредставлениеВыставленКомиссионеру
|ИЗ
| Документ.СчетФактураНалоговыйАгент КАК СчетФактура
|
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО СчетФактура.Ссылка = ТаблицаОтветственныеЛица.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ОплатаВБюджет КАК ОплатаВБюджет
| ПО СчетФактура.Ссылка = ОплатаВБюджет.Документ
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоставщика КАК ДанныеПокупателя
| ПО ДанныеПокупателя.Ссылка = СчетФактура.Ссылка
|ГДЕ
| СчетФактура.Ссылка В (&МассивДокументов)
| И СчетФактура.Проведен
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.НоменклатураНаименование КАК НоменклатураНаименование,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| """" КАК ХарактеристикаНаименование,
| ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
| """" КАК НомерГТД,
| """" КАК СтранаПроисхождения,
| """" КАК СтранаПроисхожденияКод,
| 0 КАК Количество,
| 0 КАК Цена,
| СУММА(ВложенныйЗапрос.Сумма - ВложенныйЗапрос.СуммаНДС) КАК СуммаБезНДС,
| СУММА(ВложенныйЗапрос.СуммаНДС) КАК СуммаНДС,
| СУММА(ВложенныйЗапрос.Сумма) КАК СуммаСНДС,
| МАКСИМУМ(ВложенныйЗапрос.НомерСтроки) КАК НомерСтроки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара,
| НЕОПРЕДЕЛЕНО КАК НоменклатураКод,
| НЕОПРЕДЕЛЕНО КАК КодТНВЭД,
| НЕОПРЕДЕЛЕНО КАК ЕдиницаИзмеренияНаименование,
| 0 КАК КоличествоПоРНПТ
|ИЗ
| (ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| ВЫБОР
| КОГДА (ВЫРАЗИТЬ(ТаблицаТовары.Содержание КАК СТРОКА(1))) <> """"
| ТОГДА ВЫРАЗИТЬ(ТаблицаТовары.Содержание КАК СТРОКА(100))
| ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ТаблицаТовары.Ссылка.ВидАгентскогоДоговора)
| КОНЕЦ КАК НоменклатураНаименование,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаСНДС КАК Сумма,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки
| ИЗ
| Документ.СчетФактураНалоговыйАгент.РасшифровкаСуммы КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка В(&МассивДокументов)
| И ТаблицаТовары.Ссылка.Проведен) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.СтавкаНДС,
| ВложенныйЗапрос.НоменклатураНаименование
|
|УПОРЯДОЧИТЬ ПО
| ВложенныйЗапрос.Ссылка,
| НомерСтроки
|ИТОГИ ПО
| Ссылка";
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатПоШапке = МассивРезультатов[1];
РезультатПоТабличнойЧасти = МассивРезультатов[2];
СтруктураДанныхДляПечати = Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти, СчетФактураНалоговыйАгент",
РезультатПоШапке, РезультатПоТабличнойЧасти, Истина);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "Поставщик";
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Поставщик");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов") Тогда
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Поставщик.Партнер");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ВключитьНДСВПартииПрочихРасходов(ТаблицаОплаты, ТаблицаПоступления, Реквизиты)
ТаблицаПартииПрочихРасходов = РегистрыНакопления.ПартииПрочихРасходов.СоздатьНаборЗаписей().ВыгрузитьКолонки();
ТаблицаПартииПрочихРасходов.Колонки.Удалить("Активность");
ТаблицаПартииПрочихРасходов.Колонки.Добавить("СтавкаНДС", Новый ОписаниеТипов("СправочникСсылка.СтавкиНДС"));
ТаблицаПартииПрочихРасходов.Колонки.Добавить("ТипПлатежа", Новый ОписаниеТипов("Строка"));
ТаблицаПартииПрочихРасходов.Колонки.Удалить("ТипПлатежа");
ТаблицаПартииПрочихРасходов.Колонки.Добавить("ТипПлатежа", Новый ОписаниеТипов("ПеречислениеСсылка.ТипыПлатежейПоАренде"));
ТаблицаПартииПрочихРасходов.Колонки.Добавить("АналитикаРасходовДоп", Новый ОписаниеТипов(ТаблицаПартииПрочихРасходов.Колонки.АналитикаРасходов.ТипЗначения, "ДокументСсылка.ПоступлениеУслугПоАренде"));
ТаблицаПартииПрочихРасходов.Колонки.Удалить("АналитикаРасходов");
КолонкаАналитикаРасходов = ТаблицаПартииПрочихРасходов.Колонки.Найти("АналитикаРасходовДоп");
Если КолонкаАналитикаРасходов <> Неопределено Тогда
КолонкаАналитикаРасходов.Имя = "АналитикаРасходов";
КонецЕсли;
Если ТаблицаОплаты.Количество() = 0 Тогда
Возврат ТаблицаПартииПрочихРасходов;
КонецЕсли;
Для Каждого СтрокаОплаты Из ТаблицаОплаты Цикл
СтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СоответствующаяБазоваяСтавкаНДС(СтрокаОплаты.СтавкаНДС);
СтрокиПоступления = ТаблицаПоступления.НайтиСтроки(Новый Структура("СтавкаНДС", СтавкаНДС));
МассивСуммаОплаты = Новый Массив();
Для Каждого СтрокаПоступления Из СтрокиПоступления Цикл
МассивСуммаОплаты.Добавить(СтрокаПоступления.СуммаОплаты);
КонецЦикла;
МассивНДС = РаспределитьПропорционально(СтрокаОплаты.НДС, МассивСуммаОплаты);
МассивНДСУпр = РаспределитьПропорционально(СтрокаОплаты.НДСУпр, МассивСуммаОплаты);
Индекс = 0;
Для Каждого СтрокаПоступления Из СтрокиПоступления Цикл
Если НЕ ЗначениеЗаполнено(СтрокаПоступления.ДокументПоступленияРасходов) Тогда
Индекс = Индекс + 1;
Продолжить;
КонецЕсли;
СтрокаРезультата = ТаблицаПартииПрочихРасходов.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаРезультата, СтрокаПоступления);
ЗаполнитьЗначенияСвойств(СтрокаРезультата, СтрокаОплаты, "КорНаправлениеДеятельности");
Если СтрокаОплаты.НДС <> 0 Тогда
СтрокаРезультата.НДСРегл = МассивНДС[Индекс];
КонецЕсли;
Если СтрокаОплаты.НДСУпр <> 0 Тогда
СтрокаРезультата.НДСУпр = МассивНДСУпр[Индекс];
КонецЕсли;
СтрокаРезультата.ИдентификаторФинЗаписи = Новый УникальныйИдентификатор();
Если Реквизиты.СФПоАренде Тогда
ЗаполнитьЗначенияСвойств(СтрокаРезультата, СтрокаОплаты, "ИдентификаторФинЗаписи, НастройкаХозяйственнойОперации");
КонецЕсли;
Индекс = Индекс + 1;
КонецЦикла;
КонецЦикла;
Возврат ТаблицаПартииПрочихРасходов;
КонецФункции
Функция РаспределитьПропорционально(Знач ИсхСумма, МассивКоэф, Знач Точность = 2)
Если МассивКоэф.Количество() = 0 Или ИсхСумма = 0 Или ИсхСумма = Null Тогда
Возврат Неопределено;
КонецЕсли;
ИндексМакс = МассивКоэф.Количество() - 1;
РаспрСумма = 0;
СуммаКоэф = 0;
Для Счетчик = 0 По МассивКоэф.Количество() - 1 Цикл
СуммаКоэф = СуммаКоэф + МассивКоэф[Счетчик];
КонецЦикла;
Если СуммаКоэф = 0 Тогда
Возврат Неопределено;
КонецЕсли;
МассивСумм = Новый Массив(МассивКоэф.Количество());
Для Счетчик = 0 По МассивКоэф.Количество() - 1 Цикл
МассивСумм[Счетчик] = Окр(ИсхСумма * МассивКоэф[Счетчик] / СуммаКоэф, Точность, 1);
РаспрСумма = РаспрСумма + МассивСумм[Счетчик];
КонецЦикла;
Если Не РаспрСумма = ИсхСумма Тогда
МассивСумм[ИндексМакс] = МассивСумм[ИндексМакс] + ИсхСумма - РаспрСумма;
КонецЕсли;
Возврат МассивСумм;
КонецФункции
Функция РезультатЗапросаПоОплатамНалоговыйАгент(НачалоПериода, КонецПериода, Организация, РасчетныйДокумент)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Расчеты.Регистратор КАК Регистратор
|ПОМЕСТИТЬ ВтРасчеты
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками КАК Расчеты
|ГДЕ
| Расчеты.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И (Расчеты.Регистратор = &РасчетныйДокумент
| ИЛИ &РасчетныйДокумент = НЕОПРЕДЕЛЕНО)
| И (Расчеты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатков
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатковВзаиморасчетов
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.АвансовыйОтчет
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВзаимозачетЗадолженности
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.КорректировкаЗадолженности
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер)
|
|ИНДЕКСИРОВАТЬ ПО
| Регистратор
|;
|
|
|ВЫБРАТЬ
| Расчеты.Период КАК Период,
| ВЫБОР КОГДА Расчеты.Регистратор ССЫЛКА Документ.ВводОстатков
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатковВзаиморасчетов ТОГДА
| Расчеты.РасчетныйДокумент
| ИНАЧЕ
| Расчеты.Регистратор
| КОНЕЦ КАК ДокументОснование,
| Расчеты.Период КАК ДатаДокументаОснования,
| Расчеты.ОбъектРасчетов КАК ОбъектРасчетов,
| АналитикаУчетаПоПартнерамДанные.Организация КАК Организация,
| ВЫРАЗИТЬ(АналитикаУчетаПоПартнерамДанные.Контрагент КАК Справочник.Контрагенты) КАК Контрагент,
| ВЫРАЗИТЬ(Расчеты.ОбъектРасчетов.Договор КАК Справочник.ДоговорыКонтрагентов) КАК Договор,
| АналитикаУчетаПоПартнерамДанные.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Расчеты.Валюта КАК Валюта,
| Расчеты.Сумма КАК СуммаОплаты,
| Расчеты.СуммаРегл КАК Сумма
|ПОМЕСТИТЬ Расчеты
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками КАК Расчеты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРасчеты КАК ВтРасчеты
| ПО Расчеты.Регистратор = ВтРасчеты.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерамДанные
| ПО Расчеты.АналитикаУчетаПоПартнерам = АналитикаУчетаПоПартнерамДанные.КлючАналитики
| И АналитикаУчетаПоПартнерамДанные.Организация В (&МассивОрганизаций)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ПО Расчеты.ОбъектРасчетов.Договор = ДоговорыКонтрагентов.Ссылка
| И (ДоговорыКонтрагентов.УчетАгентскогоНДС)
|ГДЕ
| Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И ЕСТЬNULL(ДоговорыКонтрагентов.УчетАгентскогоНДС,
| Расчеты.ОбъектРасчетов.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Расчеты.Период КАК Период,
| ВЫБОР КОГДА Расчеты.Регистратор ССЫЛКА Документ.ВводОстатков
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатковВзаиморасчетов
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатковВзаиморасчетовПоАренде ТОГДА
| Расчеты.РасчетныйДокумент
| ИНАЧЕ
| Расчеты.Регистратор
| КОНЕЦ КАК ДокументОснование,
| Расчеты.Период КАК ДатаДокументаОснования,
| ВЫРАЗИТЬ(Расчеты.Договор КАК Справочник.ДоговорыАренды) КАК ОбъектРасчетов,
| АналитикаУчетаПоПартнерамДанные.Организация КАК Организация,
| ВЫРАЗИТЬ(АналитикаУчетаПоПартнерамДанные.Контрагент КАК Справочник.Контрагенты) КАК Контрагент,
| ВЫРАЗИТЬ(Расчеты.Договор КАК Справочник.ДоговорыАренды) КАК Договор,
| АналитикаУчетаПоПартнерамДанные.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Расчеты.Валюта КАК Валюта,
| Расчеты.Сумма КАК СуммаОплаты,
| Расчеты.СуммаРегл КАК Сумма
|ИЗ
| РегистрНакопления.РасчетыПоФинансовымИнструментам КАК Расчеты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерамДанные
| ПО Расчеты.АналитикаУчетаПоПартнерам = АналитикаУчетаПоПартнерамДанные.КлючАналитики
| И АналитикаУчетаПоПартнерамДанные.Организация В (&МассивОрганизаций)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДоговорыАренды КАК ДоговорыАренды
| ПО Расчеты.Договор = ДоговорыАренды.Ссылка
| И ДоговорыАренды.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
|ГДЕ
| Расчеты.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И (Расчеты.Регистратор = &РасчетныйДокумент
| ИЛИ &РасчетныйДокумент = НЕОПРЕДЕЛЕНО)
| И (Расчеты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатков
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатковВзаиморасчетов
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.ВводОстатковВзаиморасчетовПоАренде
| ИЛИ Расчеты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер)
| И Расчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|
|ИНДЕКСИРОВАТЬ ПО
| ДокументОснование,
| Контрагент,
| ОбъектРасчетов,
| Организация
|;
|
|
|ВЫБРАТЬ
| Расчеты.Период,
| Расчеты.ДокументОснование,
| Расчеты.ДатаДокументаОснования,
| Расчеты.Организация,
| Расчеты.Договор,
| Расчеты.Контрагент,
| Расчеты.НаправлениеДеятельности,
| Расчеты.Валюта,
| СУММА(Расчеты.СуммаОплаты) КАК СуммаОплаты,
| СУММА(Расчеты.Сумма) КАК Сумма
|ПОМЕСТИТЬ РасчетыНалоговогоАгента
|ИЗ
| Расчеты КАК Расчеты
|
|СГРУППИРОВАТЬ ПО
| Расчеты.Период,
| Расчеты.ДокументОснование,
| Расчеты.ДатаДокументаОснования,
| Расчеты.Организация,
| Расчеты.Договор,
| Расчеты.Контрагент,
| Расчеты.НаправлениеДеятельности,
| Расчеты.Валюта
|
|ИМЕЮЩИЕ
| СУММА(Расчеты.СуммаОплаты) > 0
|;
|
|
|ВЫБРАТЬ
| Расчеты.Период КАК ДатаОплаты,
| Расчеты.ДокументОснование КАК ДокументОснование,
| Расчеты.ДатаДокументаОснования КАК ДатаДокументаОснования,
| Расчеты.Контрагент КАК Поставщик,
| Расчеты.Контрагент.ЮрФизЛицо КАК ЮрФизЛицо,
| Расчеты.Договор КАК Договор,
| Расчеты.Организация КАК Организация,
| ЕСТЬNULL(Расчеты.Договор.ВидАгентскогоДоговора, НЕОПРЕДЕЛЕНО) КАК ВидАгентскогоДоговора,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Расчеты.Валюта КАК Валюта,
| Расчеты.СуммаОплаты КАК СуммаОплаты,
| Расчеты.Сумма КАК Сумма,
| ЕСТЬNULL(СчетФактураНалоговыйАгент.Ссылка, НЕОПРЕДЕЛЕНО) КАК СчетФактура,
| ЕСТЬNULL(СчетФактураНалоговыйАгент.Сумма, 0) КАК СуммаСчетаФактуры,
| ЕСТЬNULL(ОсновныеСтавкиНДС.СтавкаНДС, Значение(Справочник.СтавкиНДС.ПустаяСсылка)) КАК СтавкаНДС
|ИЗ
| РасчетыНалоговогоАгента КАК Расчеты
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураНалоговыйАгент КАК СчетФактураНалоговыйАгент
| ПО Расчеты.ДокументОснование = СчетФактураНалоговыйАгент.ДокументОснование
| И Расчеты.Контрагент = СчетФактураНалоговыйАгент.Поставщик
| И (Расчеты.Договор = СчетФактураНалоговыйАгент.Договор
| ИЛИ СчетФактураНалоговыйАгент.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка))
| И (СчетФактураНалоговыйАгент.Проведен)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеСтавкиНДС.СрезПоследних(&КонецПериода) КАК ОсновныеСтавкиНДС
| ПО Расчеты.Организация.СтранаРегистрации = ОсновныеСтавкиНДС.Страна
|ГДЕ
| Расчеты.Сумма - ЕСТЬNULL(СчетФактураНалоговыйАгент.Сумма, 0) <> 0";
ОписаниеТиповД = Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата));
ТаблицаПериодов = Новый ТаблицаЗначений;
ТаблицаПериодов.Колонки.Добавить("ПериодДень",ОписаниеТиповД);
КонецПериода = ?(КонецПериода = '00010101', НачалоПериода, КонецПериода);
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Запрос.УстановитьПараметр("РасчетныйДокумент", РасчетныйДокумент);
Если НЕ ЗначениеЗаполнено(Организация) Тогда
Запрос.УстановитьПараметр("МассивОрганизаций", Справочники.Организации.ДоступныеОрганизации());
Иначе
Запрос.УстановитьПараметр("МассивОрганизаций", ОбщегоНазначенияУТКлиентСервер.Массив(Организация));
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Результат = Запрос.Выполнить();
УстановитьПривилегированныйРежим(Ложь);
Возврат Результат;
КонецФункции
Процедура ИнициализироватьКлючиАналитикиУчетаПартийДокумента(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаПартийДокументаИнициализированы") Тогда
Возврат;
КонецЕсли;
УстановитьПараметрЗапросаНалогообложениеОрганизации(Запрос);
ТекстВыборкаПоляАналитик =
"ВЫБРАТЬ
| ""ДокументыПоступления"" КАК ИмяТабличнойЧасти,
| ТаблицаДокументыПоступления.НомерСтроки + 1 / (ТаблицаРасшифровкаСуммы.НомерСтроки + 1) КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка) КАК Поставщик,
| РеквизитыДокумента.Поставщик КАК Контрагент,
| ВЫБОР
| КОГДА ТаблицаДокументыПоступления.ЕстьРаспределяемаяСтатья
| И &НалогообложениеОрганизации <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| И НастройкиУчетаНДС.РаздельныйУчетТоваровПоНалогообложениюНДС
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| КОГДА ТаблицаДокументыПоступления.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.НалоговыйАгентПоНДС)
| И ТаблицаДокументыПоступления.ЗакупкаПодДеятельность В (ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПоФактическомуИспользованию),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ИНАЧЕ ТаблицаДокументыПоступления.ЗакупкаПодДеятельность
| КОНЕЦ КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ТаблицаРасшифровкаСуммы.СтавкаНДС.РасчетнаяСтавка = ИСТИНА
| ТОГДА ТаблицаРасшифровкаСуммы.СтавкаНДС.СоответствующаяБазоваяСтавка
| ИНАЧЕ ТаблицаРасшифровкаСуммы.СтавкаНДС
| КОНЕЦ КАК СтавкаНДС,
| ВЫБОР
| КОГДА РеквизитыДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.Аренда)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентАренда)
| КОГДА РеквизитыДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.РеализацияИмущества)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентРеализацияИмущества)
| КОГДА РеквизитыДокумента.ВидАгентскогоДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыАгентскихДоговоров.НерезидентЭлектронныеУслуги)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентЭлектронныеУслуги)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентИностранцы)
| КОНЕЦ КАК ВидЦенности,
| 0 КАК КодСтроки,
| ТаблицаДокументыПоступления.Дата КАК Дата
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| втДокументыПоступления КАК ТаблицаДокументыПоступления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СчетФактураНалоговыйАгент.РасшифровкаСуммы КАК ТаблицаРасшифровкаСуммы
| ПО ТаблицаРасшифровкаСуммы.Ссылка = ТаблицаДокументыПоступления.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СчетФактураНалоговыйАгент КАК РеквизитыДокумента
| ПО РеквизитыДокумента.Ссылка = ТаблицаДокументыПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНастройкиУчетаНДС КАК НастройкиУчетаНДС
| ПО РеквизитыДокумента.Организация = НастройкиУчетаНДС.Организация";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос);
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить();
Запрос.УстановитьПараметр("КлючиАналитикиУчетаПартийДокументаИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрЗапросаНалогообложениеОрганизации(Запрос)
Если Запрос.Параметры.Свойство("НалогообложениеОрганизации") Тогда
Возврат;
КонецЕсли;
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Запрос.Параметры.Организация, Запрос.Параметры.Период);
Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
КонецПроцедуры
Функция ВидыДеятельностиНДСРаспределение()
Результат = Новый Массив();
Результат.Добавить(Перечисления.ТипыНалогообложенияНДС.ОпределяетсяРаспределением);
Результат.Добавить(Перечисления.ТипыНалогообложенияНДС.ВводОСВЭксплуатацию);
Результат.Добавить(Перечисления.ТипыНалогообложенияНДС.ЭкспортСырьевыхТоваровУслуг);
Результат.Добавить(Перечисления.ТипыНалогообложенияНДС.ЭкспортНесырьевыхТоваров);
Возврат Результат;
КонецФункции
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеДокументовНДС
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
Если Не ПравоДоступа("Изменение", Метаданные.Документы.СчетФактураНалоговыйАгент) Тогда
Возврат Неопределено;
КонецЕсли;
Параметры.Вставить("МассивОрганизаций",?(ЗначениеЗаполнено(Параметры.Организация),
ОбщегоНазначенияУТКлиентСервер.Массив(Параметры.Организация),
Неопределено));
Если Параметры.Свойство("КраткоеПредставление") Тогда
ТекстГиперссылки = НСтр("ru = 'СФ налогового агента'");
Иначе
ТекстГиперссылки = НСтр("ru = 'Счета-фактуры налогового агента'");
КонецЕсли;
КоличествоДокументов = ЕстьСчетаФактурыКОформлению(Параметры);
Если КоличествоДокументов = 0 Тогда
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,ЦветаСтиля.НезаполненноеПолеТаблицы,,
ИмяФормыСчетФактураНалоговыйАгент());
Иначе
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,
ИмяФормыСчетФактураНалоговыйАгент());
КонецЕсли;
КонецФункции
Функция ИмяФормыСчетФактураНалоговыйАгент() Экспорт
Возврат "Документ.СчетФактураНалоговыйАгент.Форма.ФормаРабочееМесто";
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли