Странный элемент справочника
16.12.2003
12:53
#1
"Есть проблема: в справочнике ОС (в режиме предприятия) встаю на элемент "А" - машина начинает что-то очень долго считать, но не виснет. Нашел место в Глобальном модуле, где это тормозит: глРасчетАмортизацииОС - выглядит это так:
...
КонецЕсли;
КонецЕсли;
==> ИначеЕсли ДатаМесяц(ДатаРасчета) = 12 Тогда
НачалоГода = НачГода(ДатаРасчета);
Для НомерМесяца = 1 по 12 Цикл
ДатаРеквизитов = КонМесяца(ДобавитьМесяц(НачалоГода, НомерМесяца-1));
Если ОС.НачислятьАмортизацию.Получить(ДатаРеквизитов) = 1 Тогда
БухИт.ПериодМ(НомерМесяца, ДатаГод(ДатаРасчета));
БалансоваяСтоимость = БухИт.СНД(СчетУчета,,, ОС);
НачисленныйИзнос = БухИт.СНД(СчетНачисленияАмортизации,,, ОС);
Если БухИт.СКД(СчетУчета,,, ОС) <> 0 Тогда
ОстаточнаяСтоимость = БалансоваяСтоимость - НачисленныйИзнос - РассчитаннаяАмортизацияБух;
ИзносЗаМесяц = БалансоваяСтоимость * ОС.КоэффициентАмортизации.Получить(ДатаРеквизитов) / 1200;
РассчитаннаяАмортизацияБух = РассчитаннаяАмортизацияБух + Мин(ИзносЗаМесяц, ОстаточнаяСтоимость);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
РассчитаннаяАмортизацияБух = Окр(РассчитаннаяАмортизацияБух, 2, 1);
РассчитаннаяАмортизацияНалог = Окр(РассчитаннаяАмортизацияНалог, 2, 1);
СведенияОбОС = СоздатьОбъект("СписокЗначений");
СведенияОбОС.Установить("СчетУчета", СчетУчета);
...
проблемы начинаются там где "==>"
в чём дело не понятно, помогите плиззз
Спасибо!"
...
КонецЕсли;
КонецЕсли;
==> ИначеЕсли ДатаМесяц(ДатаРасчета) = 12 Тогда
НачалоГода = НачГода(ДатаРасчета);
Для НомерМесяца = 1 по 12 Цикл
ДатаРеквизитов = КонМесяца(ДобавитьМесяц(НачалоГода, НомерМесяца-1));
Если ОС.НачислятьАмортизацию.Получить(ДатаРеквизитов) = 1 Тогда
БухИт.ПериодМ(НомерМесяца, ДатаГод(ДатаРасчета));
БалансоваяСтоимость = БухИт.СНД(СчетУчета,,, ОС);
НачисленныйИзнос = БухИт.СНД(СчетНачисленияАмортизации,,, ОС);
Если БухИт.СКД(СчетУчета,,, ОС) <> 0 Тогда
ОстаточнаяСтоимость = БалансоваяСтоимость - НачисленныйИзнос - РассчитаннаяАмортизацияБух;
ИзносЗаМесяц = БалансоваяСтоимость * ОС.КоэффициентАмортизации.Получить(ДатаРеквизитов) / 1200;
РассчитаннаяАмортизацияБух = РассчитаннаяАмортизацияБух + Мин(ИзносЗаМесяц, ОстаточнаяСтоимость);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
РассчитаннаяАмортизацияБух = Окр(РассчитаннаяАмортизацияБух, 2, 1);
РассчитаннаяАмортизацияНалог = Окр(РассчитаннаяАмортизацияНалог, 2, 1);
СведенияОбОС = СоздатьОбъект("СписокЗначений");
СведенияОбОС.Установить("СчетУчета", СчетУчета);
...
проблемы начинаются там где "==>"
в чём дело не понятно, помогите плиззз
Спасибо!"
Читают тему
(гостей: 1)