public void ОбработатьДанныеУчета(/*ДокументОбъект, УчетнаяПолитика, ВыборкаПоШапкеДокумента,РезультатДанныеУчета, Успешно, НаборЗаписей, ТаблицаОшибок*/)
{
/*// признак основных начислений
*/
//ЭтоОсновныеНачисления = (ТипЗнч(НаборЗаписей) = Тип("РегистрРасчетаНаборЗаписей.ЕСНОсновныеНачисления"));
//мЕНВД = УчетнаяПолитика.ОрганизацияЯвляетсяПлательщикомЕНВД;
//мУСН = УчетнаяПолитика.УСН;
//мЕНВД = УчетнаяПолитика.ОрганизацияЯвляетсяПлательщикомЕНВД;
//мФСС_БЛ = УчетнаяПолитика.УплачиватьДобровольныеВзносыВФСС;
//мДлинаСуток = 86400;
/*// в секундах
*/
//ПособияСоциальномуСтрахованию = ДокументОбъект.ПособияСоциальномуСтрахованию;
//ПособияПоУходуЗаРебенкомДоПолутораЛет = ДокументОбъект.ПособияПоУходуЗаРебенкомДоПолутораЛет;
//РаспределятьПоБазовымНачислениям = Справочники.ДоходыЕСН.РаспределятьПоБазовымНачислениям;
//ДатаЗакона180ФЗ = '20060101';
//ФормироватьУчетПособий = НачалоМесяца(ВыборкаПоШапкеДокумента.ПериодРегистрации) >= НачалоМесяца(ПроведениеРасчетовДополнительный.ПолучитьДатуВступленияВСилуИзмененийПоСоциальнымПособиям2006());
/*// структура поиска для позиционирования в ДанныеУчетаВспомогательные
*/
/*// при необходимости суммирования "базовых" ресурсов
*/
//СтруктураПоиска = Новый Структура("Регистратор,НомерСтроки");
/*// структура поиска в таблице ошибок мТаблицаОшибок
*/
//СтруктураПоискаОшибок = Новый Структура("Регистратор,НомерСтроки,КодОшибки");
/*// основная выборка - по ней ведем обход и вводим записи движений
*/
//ДанныеУчета = РезультатДанныеУчета.Выбрать();
/*// вспомогательная выборка - по ней ведем суммирование базовых результатов
*/
//ДанныеУчетаВспомогательные = РезультатДанныеУчета.Выбрать();
//ПродолжатьОбработку = ДанныеУчета.Следующий();
while(true/*ПродолжатьОбработку*/)
{
//СтрокаДанных = СоздатьСтрокуДвижений(ВыборкаПоШапкеДокумента, ДанныеУчета, НаборЗаписей, ЭтоОсновныеНачисления);
if(true/*ДанныеУчета.Сторно*/)
{
/*// необходимо обойти все данные относящиеся к одной строке основного регистра и
*/
/*// выполнить распределение, нормируя на долю
*/
//ЕстьДанныеУчетаСторно = Истина;
/*// текущий ключ поиска
*/
//ТекущийРегистратор = ДанныеУчета.Регистратор;
//ТекущийНомерСтроки = ДанныеУчета.НомерСтроки;
/*// позиционируемся во вспомогательной выборке по запросу для суммирования "базовых" данных
*/
//СтруктураПоиска.Регистратор = ТекущийРегистратор;
//СтруктураПоиска.НомерСтроки = ТекущийНомерСтроки;
if(true/*ДанныеУчетаВспомогательные.Регистратор <> ТекущийРегистратор ИЛИ
ДанныеУчетаВспомогательные.НомерСтроки <> ТекущийНомерСтроки*/)
{
/*// ищем следующую строку во спомогательной выборке если она не является искомой
*/
//ДанныеУчетаВспомогательные.НайтиСледующий(СтруктураПоиска);
}
//СуммаПоСтроке = 0;
/*// суммируем базовые ресурсы по текущей строке набора записей
*/
while(true/*ДанныеУчетаВспомогательные.Регистратор = ТекущийРегистратор И ДанныеУчетаВспомогательные.НомерСтроки = ТекущийНомерСтроки*/)
{
if(true/*ДанныеУчетаВспомогательные.РезультатСторно = NULL*/)
{
/*//нет данных отражения в учете сторно-записи
*/
//Успешно = Ложь;
//ЕстьДанныеУчетаСторно = Ложь;
//ЗарегистрироватьОшибкуОбработкиДанныхУчета(ТаблицаОшибок, ДанныеУчетаВспомогательные, ЭтоОсновныеНачисления, СтруктураПоискаОшибок, 1);
}
if(true/*Не ДанныеУчетаВспомогательные.Следующий()*/)
{
}
}
/*// суммарная доля, которую уже "разбросали" на строки с одинаковым регистратором и номером строки
*/
//СуммарнаяДоля = 0;
/*// полный результат
*/
//ПолныйРезультат = ДанныеУчета.Результат;
/*// обходим строки и вычисляем долю результата по базовым записям
*/
//ПерваяИзГруппыСтрок = Истина;
while(true/*ДанныеУчета.Регистратор = ТекущийРегистратор И ДанныеУчета.НомерСтроки = ТекущийНомерСтроки*/)
{
/*// если это не первая из группы "базовых" строк по одной строке основного регистра
*/
/*// то создаем очередную строку движений
*/
if(true/*Не ПерваяИзГруппыСтрок*/)
{
//СтрокаДанных = СоздатьСтрокуДвижений(ВыборкаПоШапкеДокумента, ДанныеУчета, НаборЗаписей, ЭтоОсновныеНачисления);
}
if(true/*СуммаПоСтроке = 0*/)
{
//Доля = 0;
}
//СтрокаДанных.ОблагаетсяЕНВД = ДанныеУчета.ОблагаетсяЕНВД;
//СтрокаДанных.Результат = ?(ПолныйРезультат > 0,Мин(Доля,ПолныйРезультат - СуммарнаяДоля),Макс(Доля,ПолныйРезультат - СуммарнаяДоля));
//СуммарнаяДоля = СуммарнаяДоля + СтрокаДанных.Результат;
if(true/*ДанныеУчета.ЭтоПособияФСС*/)
{
if(true/*ЕстьДанныеУчетаСторно*/)
{
//СтрокаДанных.ПериодДействияНачало = ДанныеУчета.ПериодДействияНачалоСторно;
//СтрокаДанных.ПериодДействияКонец = ДанныеУчета.ПериодДействияКонецСторно;
}
if(true/*ФормироватьУчетПособий*/)
{
if(true/*ДанныеУчета.ВидПособияСоциальногоСтрахования = Перечисления.ВидыПособийСоциальногоСтрахования.ПоУходуЗаРебенкомДоПолутораЛет*/)
{
//СтрокаУчетаПособий = ДокументОбъект.ПособияПоУходуЗаРебенкомДоПолутораЛет.Добавить();
//ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,СтрокаДанных);
//ЗаполнитьЗначенияСвойств(СтрокаУчетаПособий,ДанныеУчета,"СреднийДневнойЗаработок");
//СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенком = СтрокаДанных.Результат * ДанныеУчета.ДоляПособияНаПервогоРебенка;
//СтрокаУчетаПособий.ПособиеПоУходуЗаВторымРебенком = СтрокаДанных.Результат - СтрокаУчетаПособий.ПособиеПоУходуЗаПервымРебенком;
}
}
}
if(true/*Не ДанныеУчета.Следующий()*/)
{
//ПродолжатьОбработку = Ложь;
}
}
/*// ошибки округления складываются на последнюю запись из группы базовых записей
*/
//СтрокаДанных.Результат = СтрокаДанных.Результат + ПолныйРезультат - СуммарнаяДоля;
}
}
/*// при записи не затираем уже введенные движения
*/
//НаборЗаписей.Записать(Ложь);
/*// выполняем дозапись (набор записей чистится автоматически)
*/
}