Смекни!
smekni.com

АРМ бухгалтера Учет основных средств (стр. 4 из 20)

- записываем полученное значение в таблицу;

- вычисляем количество месяцев с момента введения в эксплуатацию, до отчетного месяца;

- определяем значение суммы полной амортизации с начала эксплуатации, до отчетного месяца. Определим значение суммы, путем умножения значения месячной амортизации на полученное количество месяцев;

- записываем полученное значение в таблицу;

- определяем значение остаточной стоимости, вычтя из балансовой стоимости значение суммы полной амортизации;

- запишем полученное значение в таблицу и переходим к пункту (11).

11. Проверяем, какой тип оборудования, если «Обычный», то переходим к пункту (11), если «Автотранспорт», то выполняем:

- определяем значение полной суммы амортизации, путем умножения балансовой стоимости на коэффициент 0,481, разделим полученное значение на 1000 и умножим на пробег автотранспорта;

- записываем полученное значение в таблицу;

- определяем значение остаточной стоимости, вычтя из балансовой стоимости значение суммы полной амортизации;

- запишем полученное значение в таблицу и переходим к пункту (12).

12. Проверяем если значение суммы полной амортизации больше, чем балансовая стоимость, то:

- обнулим значение месячной амортизации;

- полный износ приравняем с балансовой стоимостью;

- значение остаточной стоимости приравняем к 0;

- запишем полученные данные в таблицу.

13. Проверяем если значение остаточной стоимости меньше чем 0, то:

- обнулим значение месячной амортизации;

- полный износ приравняем с балансовой стоимостью;

- значение остаточной стоимости приравняем к 0;

- запишем полученные данные в таблицу.

14. Переводим таблицу в режим сохранения данных (Post).

15. Перемещаем указатель базы данных на следующую запись.

16. Переходим к началу цикла. Пункт (8).

17. Снимаем с таблицы «Osnova.DB» монопольный режим.

18. Восстанавливаем связь с таблицей «Uhastoc.DB».

19. Завершаем процедуру расчета.

6 Порядок начисления сумм арендной платы

Так как все используемое оборудование является арендуемым, поэтому начисление сумм арендной платы производится от лица лизинговой компании, у которой данные основные фонды находятся на балансе [3], по формуле:

Аренда=((БалСтоим/100*Процент)+(БалСтоим/100*Процент)/100*КоэфИзн)/365*КолвоДней,

где:

- Аренда - стоимость арендной платы за месяц;

- БалСтоим - балансовая стоимость оборудования;

- Процент - процент амортизации;

- КоэИзн - коэффициент на износ;

- КолвоДней - количество дней в месяце, на который производится расчет арендной стоимости.

Если на момент расчета арендной стоимости основные фонды находится на складе, то организация берет их на ответственное хранение. В этом случае расчет арендной стоимости будет исходить из того, где в настоящее время хранится оборудование (на открытой площадке, в холодном складе, в отапливаемом складе), исходя из этого, изменяется значение коэффициента арендных отчислений для оборудования находящегося в ответственном хранении [2]. Тогда формула расчета стоимости арендной платы будет выглядеть:

Аренда=КоэфОтвХран*Объем*КолвоДней,

где:

- КоэфОтвХран - коэффициент расчета арендной стоимости при ответственном хранении;

- Объем - объем занимаемый на складе;

- КолвоДней - количество дней в отчетном месяце.

Если нет возможности измерить объем в метрической системе измерения, применяют в качестве значения объема, значение в тоннах, которое указано в документации по оборудованию. В этом случае значения коэффициентов указываются для расчета со значениями веса.

Вариант реализации расчетов на языке Object Pascal:

DataModule1.Table6.Edit;

IF DataModule1.Table6Arenda.Value='Аренда' Then Begin

X:=DataModule1.Table6Bas_stoim.Value/100*DataModule1.Table6Procent.Value;

Y:=X/100*Coofic.AHMRealSpinEdit5.Value;

DataModule1.Table6SunAnda.Value:=(X+Y)/365*AHMSpinEdit1.Value;

End;

IF DataModule1.Table6Arenda.Value='Ответ-хранение' Then Begin

IF DataModule1.Table6Sclad.Value='1' Then X:=Coofic.AHMRealSpinEdit1.Value;

IF DataModule1.Table6Sclad.Value='2' Then X:=Coofic.AHMRealSpinEdit2.Value;

IF DataModule1.Table6Sclad.Value='3' Then X:=Coofic.AHMRealSpinEdit3.Value;

IF DataModule1.Table6Sclad.Value='4' Then X:=Coofic.AHMRealSpinEdit4.Value;

DataModule1.Table6SunAnda.Value:=X*DataModule1.Table6KovMetr.Value*AHMSpinEdit1.Value;

End;

DataModule1.Table6.Post;

Полученные отчеты по арендной стоимости на оборудование направляются в подразделения, арендующие основные фонды и копия отправляется в лизинговую компанию, у которой непосредственно числится данное оборудование. Счета на оплату подаются в общей суммой с реестром оборудования в каждое подразделение.

В случае если оборудование начинают использовать в организациях субподрядчиках, с этого момента происходит расходование оборудования с баланса УПТК ОАО «Бамтоннельстрой», в лизинговую компанию, которая и будет являться организацией арендодателем.

7 Переоценка основных фондов

Рассмотрим случай, при котором производят переоценку основных фондов.

1. Если произошла деноминация рубля, после чего для всех основных фондов необходимо пересчитать балансовую стоимость, в этом случае пользуемся следующими формулами.

Для случая если производится расчет на повышение стоимости:

НовБалСтоим= БалСтоим+(БалСтоим/100*Коэффициент),

где:

- НовБалСтоим – балансовая стоимость после переоценки;

- БалСтоим – балансовая стоимость до переоценки;

- Коэффициент – коэффициент на переоценку оборудования.

Для случая если производится расчет на понижение стоимости:

НовБалСтоим= БалСтоим-(БалСтоим/100*Коэффициент),

где:

- НовБалСтоим – Балансовая стоимость после переоценки;

- БалСтоим – Балансовая стоимость до переоценки;

- Коэффициент – коэффициент на переоценку оборудования.

Для переоценки оборудования необходимо точно указать коэффициенты перерасчета для каждого типа оборудования (Здания, сооружения, автотранспорт и т.д.).

В случае если основные фонды морально устарели и не имеют прежней стоимости, тогда нанимается оценщик оборудования, и по его заключению производят перерасчет балансовой стоимости оборудования.

Вариант реализации расчетов на языке Object Pascal:

DataModule1.Table1.Active:=False;

DataModule1.Table13.First;

While not DataModule1.Table13.Eof Do DataModule1.Table13.Delete;

IF RadioButton1.Checked=True Then Begin

DataModule1.Table6.First;

While not DataModule1.Table6.EOF Do Begin

IF DataModule1.Table6Kod.Value='1' Then Koof:=AHMRealSpinEdit1.Value;

IF DataModule1.Table6Kod.Value='2' Then Koof:=AHMRealSpinEdit2.Value;

IF DataModule1.Table6Kod.Value='3' Then Koof:=AHMRealSpinEdit3.Value;

IF DataModule1.Table6Kod.Value='4' Then Koof:=AHMRealSpinEdit4.Value;

IF DataModule1.Table6Kod.Value='5' Then Koof:=AHMRealSpinEdit5.Value;

IF DataModule1.Table6Kod.Value='6' Then Koof:=AHMRealSpinEdit6.Value;

IF DataModule1.Table6Kod.Value='7' Then Koof:=AHMRealSpinEdit7.Value;

IF DataModule1.Table6Kod.Value='8' Then Koof:=AHMRealSpinEdit8.Value;

IF DataModule1.Table6Kod.Value='9' Then Koof:=AHMRealSpinEdit9.Value;

IF Koof<>0 Then Begin

DataModule1.Table13.Append;

DataModule1.Table6.Edit;

DataModule1.Table13.FieldByName('Old_Stoim').AsFloat:=DataModule1.Table6Bas_stoim.Value;

PolZnac:=DataModule1.Table6Bas_stoim.Value/100*Koof;

DataModule1.Table6Bas_stoim.Value:=DataModule1.Table6Bas_stoim.Value+PolZnac;

DataModule1.Table13.FieldByName('New_Stoim').AsFloat:=DataModule1.Table6Bas_stoim.Value;

DataModule1.Table13.FieldByName('Inventar').AsString:=DataModule1.Table6Inventar.Value;

DataModule1.Table13.FieldByName('Uhastoc').AsString:=DataModule1.Table6Uhastoc.Value;

DataModule1.Table13.FieldByName('DataRash').AsDateTime:=Date;

DataModule1.Table13.Post;

DataModule1.Table6.Post;

End;

DataModule1.Table6.Next;

End;

DataModule1.Table9.First;

While not DataModule1.Table9.EOF Do Begin

IF DataModule1.Table9Kod.Value='1' Then Koof:=AHMRealSpinEdit1.Value;

IF DataModule1.Table9Kod.Value='2' Then Koof:=AHMRealSpinEdit2.Value;

IF DataModule1.Table9Kod.Value='3' Then Koof:=AHMRealSpinEdit3.Value;

IF DataModule1.Table9Kod.Value='4' Then Koof:=AHMRealSpinEdit4.Value;

IF DataModule1.Table9Kod.Value='5' Then Koof:=AHMRealSpinEdit5.Value;

IF DataModule1.Table9Kod.Value='6' Then Koof:=AHMRealSpinEdit6.Value;

IF DataModule1.Table9Kod.Value='7' Then Koof:=AHMRealSpinEdit7.Value;

IF DataModule1.Table9Kod.Value='8' Then Koof:=AHMRealSpinEdit8.Value;

IF DataModule1.Table9Kod.Value='9' Then Koof:=AHMRealSpinEdit9.Value;

IF Koof<>0 Then Begin

DataModule1.Table13.Append;

DataModule1.Table9.Edit;

DataModule1.Table13.FieldByName('Old_Stoim').AsFloat:=DataModule1.Table9Bal_stoim.Value;

PolZnac:=DataModule1.Table9Bal_stoim.Value/100*Koof;

DataModule1.Table9Bal_stoim.Value:=DataModule1.Table9Bal_stoim.Value+PolZnac;

DataModule1.Table13.FieldByName('New_Stoim').AsFloat:=DataModule1.Table9Bal_stoim.Value;

DataModule1.Table13.FieldByName('Inventar').AsString:=DataModule1.Table9Inventar.Value;

DataModule1.Table13.FieldByName('Uhastoc').AsString:=DataModule1.Table9Uhastoc.Value;

DataModule1.Table13.FieldByName('DataRash').AsDateTime:=Date;

DataModule1.Table13.Post;

DataModule1.Table9.Post;

End;

DataModule1.Table9.Next;

End;

End;

IF RadioButton2.Checked=True Then Begin

DataModule1.Table6.First;

While not DataModule1.Table6.EOF Do Begin

IF DataModule1.Table6Kod.Value='1' Then Koof:=AHMRealSpinEdit1.Value;

IF DataModule1.Table6Kod.Value='2' Then Koof:=AHMRealSpinEdit2.Value;

IF DataModule1.Table6Kod.Value='3' Then Koof:=AHMRealSpinEdit3.Value;

IF DataModule1.Table6Kod.Value='4' Then Koof:=AHMRealSpinEdit4.Value;

IF DataModule1.Table6Kod.Value='5' Then Koof:=AHMRealSpinEdit5.Value;

IF DataModule1.Table6Kod.Value='6' Then Koof:=AHMRealSpinEdit6.Value;

IF DataModule1.Table6Kod.Value='7' Then Koof:=AHMRealSpinEdit7.Value;

IF DataModule1.Table6Kod.Value='8' Then Koof:=AHMRealSpinEdit8.Value;

IF DataModule1.Table6Kod.Value='9' Then Koof:=AHMRealSpinEdit9.Value;

IF Koof<>0 Then Begin

DataModule1.Table13.FieldByName('Old_Stoim').AsFloat:=DataModule1.Table6Bas_stoim.Value;

DataModule1.Table6.Edit;

PolZnac:=DataModule1.Table6Bas_stoim.Value/100*Koof;

DataModule1.Table6Bas_stoim.Value:=DataModule1.Table6Bas_stoim.Value-PolZnac;

DataModule1.Table13.FieldByName('New_Stoim').AsFloat:=DataModule1.Table6Bas_stoim.Value;

DataModule1.Table13.FieldByName('Inventar').AsString:=DataModule1.Table6Inventar.Value;

DataModule1.Table13.FieldByName('Uhastoc').AsString:=DataModule1.Table6Uhastoc.Value;

DataModule1.Table13.FieldByName('DataRash').AsDateTime:=Date;

DataModule1.Table13.Post;

DataModule1.Table6.Post;

End;

DataModule1.Table6.Next;

End;

DataModule1.Table9.First;

While not DataModule1.Table9.EOF Do Begin

IF DataModule1.Table9Kod.Value='1' Then Koof:=AHMRealSpinEdit1.Value;

IF DataModule1.Table9Kod.Value='2' Then Koof:=AHMRealSpinEdit2.Value;

IF DataModule1.Table9Kod.Value='3' Then Koof:=AHMRealSpinEdit3.Value;

IF DataModule1.Table9Kod.Value='4' Then Koof:=AHMRealSpinEdit4.Value;

IF DataModule1.Table9Kod.Value='5' Then Koof:=AHMRealSpinEdit5.Value;

IF DataModule1.Table9Kod.Value='6' Then Koof:=AHMRealSpinEdit6.Value;

IF DataModule1.Table9Kod.Value='7' Then Koof:=AHMRealSpinEdit7.Value;

IF DataModule1.Table9Kod.Value='8' Then Koof:=AHMRealSpinEdit8.Value;

IF DataModule1.Table9Kod.Value='9' Then Koof:=AHMRealSpinEdit9.Value;