public void ОбновитьИтогиТекущейСправки(/*НомерСправки = Неопределено, СтатусНалогоплательщика, СведенияОДоходах, СведенияОВычетах, СуммыНалогов*/)
{
//Запрос = Новый Запрос;
/*Запрос.Текст =
"ВЫБРАТЬ
| СведенияОДоходах.СуммаДохода,
| СведенияОДоходах.СуммаВычета,
| СведенияОДоходах.КодДохода
|ПОМЕСТИТЬ ВТСведенияОДоходах
|ИЗ
| &Доходы КАК СведенияОДоходах
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Сведения.СуммаВычета
|ПОМЕСТИТЬ ВТСведенияОВычетах
|ИЗ
| &Вычеты КАК Сведения
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫБОР
| КОГДА Сведения.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
| ТОГДА ВЫБОР
| КОГДА &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
| КОНЕЦ
| КОГДА &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент)
| ТОГДА ВЫБОР
| КОГДА Сведения.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09)
| КОГДА Сведения.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35)
| ИНАЧЕ """"""""
| КОНЕЦ
| КОГДА Сведения.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
| КОНЕЦ КАК Ставка,
| СУММА(Сведения.ОблагаемаяСуммаДохода) КАК ОблагаемаяСуммаДохода,
| СУММА(Сведения.ОбщаяСуммаДохода) КАК ОбщаяСуммаДохода
|ИЗ
| (ВЫБРАТЬ
| СведенияОДоходах.СуммаДохода - СведенияОДоходах.СуммаВычета КАК ОблагаемаяСуммаДохода,
| ДоходыНДФЛ.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложенияРезидента,
| СведенияОДоходах.СуммаДохода КАК ОбщаяСуммаДохода,
| СведенияОДоходах.КодДохода КАК КодДохода
| ИЗ
| ВТСведенияОДоходах КАК СведенияОДоходах
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоходыНДФЛ КАК ДоходыНДФЛ
| ПО СведенияОДоходах.КодДохода = ДоходыНДФЛ.Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| -СведенияОВычетах.СуммаВычета,
| ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13),
| 0,
| ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.КодДоходаПоУмолчанию)
| ИЗ
| ВТСведенияОВычетах КАК СведенияОВычетах) КАК Сведения
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА Сведения.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
| ТОГДА ВЫБОР
| КОГДА &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
| КОНЕЦ
| КОГДА &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент)
| ТОГДА ВЫБОР
| КОГДА Сведения.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09)
| КОГДА Сведения.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35)
| ИНАЧЕ """"""""
| КОНЕЦ
| КОГДА Сведения.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
| КОНЕЦ";*/
//Запрос.УстановитьПараметр("Доходы", СведенияОДоходах);
//Запрос.УстановитьПараметр("Вычеты", СведенияОВычетах);
//Запрос.УстановитьПараметр("Статус", СтатусНалогоплательщика);
//Запрос.УстановитьПараметр("НеРезидент", СтатусНалогоплательщика = Перечисления.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент);
//СтруктураПоиска = Новый Структура();
if(true/*НомерСправки <> Неопределено*/)
{
//СтруктураПоиска.Вставить("НомерСправки", НомерСправки);
}
//СтруктураПоиска.Вставить("Ставка");
//МассивСтавок = Новый Массив;
//Выборка = Запрос.Выполнить().Выбрать();
while(true/*Выборка.Следующий()*/)
{
//МассивСтавок.Добавить(Выборка.Ставка);
//ЗаполнитьЗначенияСвойств(СтруктураПоиска, Выборка);
//СтрокиИтогов = СуммыНалогов.НайтиСтроки(СтруктураПоиска);
if(true/*СтрокиИтогов.Количество() > 0*/)
{
//СтрокаИтогов = СтрокиИтогов[0];
}
//ЗаполнитьЗначенияСвойств(СтрокаИтогов, Выборка);
}
if(true/*НомерСправки <> Неопределено*/)
{
//СтруктураПоиска.Удалить("Ставка");
//СтрокиИтогов = СуммыНалогов.НайтиСтроки(СтруктураПоиска);
}
}