Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Для Каждого ТекущаяСтрока Из ОтработанноеВремя Цикл
ТекущаяСтрока.ИтогоЧасов=0;
ТекущаяСтрока.ИтогоЧасов=ТекущаяСтрока.ПервыйЧасов1+ТекущаяСтрока.ПервыйЧасов2+ТекущаяСтрока.ПервыйЧасов3+
ТекущаяСтрока.ПервыйЧасов4+ТекущаяСтрока.ПервыйЧасов5+ТекущаяСтрока.ПервыйЧасов6+ТекущаяСтрока.ПервыйЧасов7+
ТекущаяСтрока.ПервыйЧасов8+ТекущаяСтрока.ПервыйЧасов9+ТекущаяСтрока.ПервыйЧасов10+ТекущаяСтрока.ПервыйЧасов11+
ТекущаяСтрока.ПервыйЧасов12+ТекущаяСтрока.ПервыйЧасов13+ТекущаяСтрока.ПервыйЧасов14+ТекущаяСтрока.ПервыйЧасов15+
ТекущаяСтрока.ПервыйЧасов16+ТекущаяСтрока.ПервыйЧасов17+ТекущаяСтрока.ПервыйЧасов18+ТекущаяСтрока.ПервыйЧасов19+
ТекущаяСтрока.ПервыйЧасов20+ТекущаяСтрока.ПервыйЧасов21+ТекущаяСтрока.ПервыйЧасов22+ТекущаяСтрока.ПервыйЧасов23+
ТекущаяСтрока.ПервыйЧасов24+ТекущаяСтрока.ПервыйЧасов25+ТекущаяСтрока.ПервыйЧасов26+ТекущаяСтрока.ПервыйЧасов27+
ТекущаяСтрока.ПервыйЧасов28+ТекущаяСтрока.ПервыйЧасов29+ТекущаяСтрока.ПервыйЧасов30+ТекущаяСтрока.ПервыйЧасов31;
ТекущаяСтрока.ИтогоОклад=0;
ТекущаяСтрока.ИтогоОклад= ОКр(ТекущаяСтрока.ИтогоЧасов/ТекущаяСтрока.НормаЧасов*ТекущаяСтрока.Оклад,2);
ТекущаяСтрока.Выручка=0;
Если ТекущаяСтрока.ПервыйЧасов1>0 тогда
НайденнаяСтрока = РабочаяТаблица.Найти(1, "День");
Если НайденнаяСтрока = Неопределено Тогда
Иначе
ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
КонецЕсли;
КонецЕсли;
Если ТекущаяСтрока.ПервыйЧасов2>0 тогда
НайденнаяСтрока = РабочаяТаблица.Найти(2, "День");
Если НайденнаяСтрока = Неопределено Тогда
Иначе
ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
КонецЕсли;
КонецЕсли;
Если ТекущаяСтрока.ПервыйЧасов3>0 тогда
НайденнаяСтрока = РабочаяТаблица.Найти(3, "День");
Если НайденнаяСтрока = Неопределено Тогда
Иначе
ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
КонецЕсли;
КонецЕсли;
Если ТекущаяСтрока.ПервыйЧасов4>0 тогда
НайденнаяСтрока = РабочаяТаблица.Найти(4, "День");
Если НайденнаяСтрока = Неопределено Тогда
Иначе
ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
КонецЕсли;
КонецЕсли;
Если ТекущаяСтрока.ПервыйЧасов5>0 тогда
НайденнаяСтрока = РабочаяТаблица.Найти(5, "День");
Если НайденнаяСтрока = Неопределено Тогда
Иначе
ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
КонецЕсли;
КонецЕсли;
************************************************************ и так далее :)
Почти 300 строк говнокода превращаются в 10 :D
Для Инд = 1 По 31 Цикл
Если ТекущаяСтрока["ПервыйЧасов" + Инд] > 0 Тогда
ТекущаяСтрока.ИтогоЧасов = ТекущаяСтрока.ИтогоЧасов + ТекущаяСтрока["ПервыйЧасов" + Инд];
НайденнаяСтрока = РабочаяТаблица.Найти(Инд, "День");
Если НайденнаяСтрока <> Неопределено Тогда
ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Пр одано;
КонецЕсли;
КонецЕсли;
КонецЦикла;
оО
В худой котомк поклав ржаное хлебо...