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