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