Автор работы: Пользователь скрыл имя, 20 Января 2013 в 11:37, отчет по практике
Критерием отнесением материальных активов к основным средствам является период использования (более 1 года) материальных активов в сфере материального производства и непроизводственной сфере. Основные средства учитываются по каждому инвентарному объекту в суммах в тенге и тиынах. Единицей учета основных средств является инвентарный объект – законченное устройство, предмет или комплекс предметов со всеми принадлежностями и приспособлениями. Операции по учету и движению основных средств выполняются только на основании первичных документов, выполненных на бумажных и (или) электронных носителях.
Введение……………………………………………………………………… 3
Инструкция по технике безопасности………………………………………4
Знакомство с предприятием…………………………………………………8
Переход на новые коды……………………………………………………..
Аппаратные средства………………………………………………………...14
Документооборот ………………………………………………………........21
Microsoft Excel……………………………………………………………….22
СУБД…………………………………………………………………….........26
АРМ …………………………………………………………………………..31
Автоматизация Бухгалтерского учета………………………………………35
Справочная информация 1С бухгалтерия………………………………......53
Обработка данных в 1С бухгалтерии……………………………………….70
Конструктор в 1С.............................................................................................76
Структура модуля ……………………………………………………………96
Типы данных………………………………………………………………….107
Процедуры создания текстового файла…………………………………….120
Описание объекта…………………………………………………………….129
Рекурсия ……………………………………………………………………...133
Динамические структуры и переменные…………………………………...138
Структура бухгалтерии………………………………………………………155
Бухгалтерский аппарат………………………………………………………157
Организация бухгалтерского учета…………………………………………160
Учетная политика…………………………………………………………….162
Первичная документация……………………………………………………164
Безналичные расчеты………………………………………………………...165
Классификация основных средств…………………………………………..167
Учет основных средств………………………………………………………171
Классификация и оценка материальных ценностей175
Положение об оплате труда…………………………………………………177
Форма бухгалтерского учета………………………………………………...182
Документация. Классификация документов……………………………….184
Учет расчетов…………………………………………………………………187
Учет уставного капитала…………………………………………………….203
Годовой отчет………………………………………………………………...207
Заключение…………………………………………………………………...210
Список использованной литературы……………………………………….212
<список имён полей>: <тип полей>;
....
<список имён полей>: <тип полей>;
<объявление метода>
...
<объявление метода>
end;
Описание метода аналогично предварительному описанию функции (служебное слово forward не используется).
После описания объекта описываются методы: procedure <имя объекта>.<имя метода> <параметры>
<описание процедуры>
Аналогично можно описать и метод-функцию. Методы (также как и обычные подпрограммы) могут не иметь параметров. Так как методы предназначены для работы с экземплярами объектов в них определена служебная переменная Self, являющаяся псевдонимом для текущего экземпляра (фактически Self - это скрытый параметр). Например, обращение к полю x из метода производится так: self.x. Если в методе нет одноимённой локальной переменной, к полям можно обращаться по названию, опуская Self и точку.
Первый пример
Приведём реализацию объекта "окно" (для реализации интерфейса с помощью модуля crt). Мы можем считать, что окно задаётся координатами левого верхнего угла и размерами по горизонтали и вертикали (с учётом рамки окна), а также иметь флаг видимости (true означает, что окно на экран выведено).
type СWindow=object
x,y: integer; {координаты окна}
lenx,leny: integer; {размеры окна}
visible: boolean; {флаг видимости}
procedure Init (x,y,lenx,leny: integer);
procedure Show;
function isVisible: boolean;
end;
procedure СWindow.Init (x,y,lenx,leny: integer);
{Задаёт начальные параметры окна}
begin
Self.x:=x;
Self.y:=y;
Self.lenx:=lenx;
Self.leny:=leny;
visible:=true;
end;
procedure СWindow.show;
{Рисует окно}
var i,j: integer;
begin
textbackground (BLUE);
gotoxy (x,y);
write ('╔'); {ALT+201}
for i:=1 to lenx-2 do write ('═'); {ALT+205}
write ('╗') {ALT+187}
for j:=y+1 to y+leny-2 do
begin
gotoxy (x,j);
write ('║'); {ALT+186}
for i:=1 to lenx-2 do write (' '); {ALT+205}
write ('║'); {ALT+186}
end;
gotoxy (x,y+leny-1);
write ('╚'); {ALT+200}
for i:=1 to lenx-2 do write ('═'); {ALT+205}
write ('╝') {ALT+188}
visible:=true;
end;
function CWindow.isVisible: boolean;
begin
isVisible:=visible;
end;
Для создания экземпляра данного объекта можно использовать стандартные способы объявления переменных и создания динамических переменных.
var Window:CWindow;
begin
Window.Init (20,5,40,10);
Window.Show;
end.
Наследование
Важнейшим элементом объектно-ориентированного стиля является наследование. Если вспомнить уже приводившийся пример с телевизором, то наследование можно проиллюстрировать, рассмотрев новый "объект" - видео двойку, которая наследует от телевизора все его свойства, но в ней также есть и новые. Также наследуются и методы (хотя, некоторые из них изменяются: при включении, например, надо активировать не только телевизор, но и плеер). Для видеодвойки характерны и свои собственные методы.
Наш пример класса CWindow можно расширить, создав новый класс CWindowText, который будет соответствовать окну с текстом (состоящим ровно из одной строки). В этом случае надо будет изменить методы. Ситуацию введения нового метода, который будет иметь тоже название, что и унаследованный мы будем называть переопределением.
Приведу описание нового объекта:
type CWindowText=object(CWindow);
str: string;
procedure Init (x,y,lenx: integer, str: string);
procedure Show;
end;
procedure CWindowText.Init (x,y,lenx: integer, str: string);
begin
CWindow.Init (x,y,lenx,3);
Self.str:=str;
end;
procedure CWindowText.Show;
begin
CWindow.Show;
gotoxy (x+1,y+1);
write (str);
end;
Отмечу, что наследование отражается в тексте программы указанием в скобках родительского объекта после слова object. При этом методы родительского объекта можно вызывать, указывая явно имя объекта, которому принадлежит метод.
Сокрытие информации
Внутри описания полей один раз можно использовать слово private, которое будет разделять поля на два типа. К полям, описанным выше слова private можно обращаться из любого места программы, а ниже - только из текущего модуля (такие поля называют скрытыми).
Отмечу, что при описании объектов стараются как можно больше полей сделать скрытыми. Это подчёркивает самостоятельность объекта, работа с которым происходит только с помощью невскрытых полей и методов. Замечу, что даже простое присваивание полю значения часто делают с помощью метода. Ведь, в будущем в дополнении к этому присваиванию могут использоваться другие операции.
Рекурсия
Реку́рсия — метод определения класса объектов или методов предварительным заданием одного или нескольких (обычно простых) его базовых случаев или методов, а затем заданием на их основе правила построения определяемого класса, ссылающегося прямо или косвенно на эти базовые случаи.
Другими словами, рекурсия — способ общего определения объекта или действия через себя, с использованием ранее заданных частных определений. Рекурсия используется, когда можно выделить самоподобие задачи.
В Паскале процедуры и функции могут вызывать сами себя, то есть обладать свойством рекурсивности.
Пример. Выдать на печать в обратном порядке цифры целого положительного числа N. Составим процедуру REVERSE.
PROCEDURE REVERSE (N: integer);
Begin
Write (N mod 10);
If (N Div 10)<>0 Then REVERSE (N Div 10)
END;
Рассмотрим работу этой процедуры для числа N = 153.
Оператор Write(N mod 10) выведет на экран остаток от деления 153 на 10, то есть 3.
Оператор IF (N DIV 10)<>0 Then REVERSE (N DIV 10) проверяет целую часть частного 153/10 = 15 на ноль. Если целая часть не ноль, то с этим значением (15) идет вновь обращение к процедуре REVERSE.
Оператор Write (N MOD 10) выводит на экран остаток от деления 15 на 10, т.е.5; затем со значением 15/10 = 1 идет обращение к REVERSE.
После вывода цифры 1 оператором Write (N MOD 10) проба N DIV 10 на ноль передает управление на конец процедуры. На экране будет записано число 351.
Таким образом, однократное обращение извне к процедуре REVERSE вызвало ее трехкратное срабатывание. Условие полного окончания должно находиться в самой процедуре, иначе произойдет зацикливание.
Рекурсивные процедуры и функции (подпрограммы) имеют одну из двух форм: прямую рекурсию и косвенную рекурсию. В первом случае подпрограмма содержит оператор вызова этой же подпрограммы (как в примере с процедурой REVERSE). Во втором случае одна подпрограмма вызывает другую подпрограмму, которая либо сама, либо посредством других процедур или функций вызывает исходную подпрограмму.
Если А,В - имена подпрограмм, то схема вызова может быть такой: А-В-А. В случае косвенной рекурсии возникает проблема: как и где, описать вызываемую подпрограмму. По правилам языка Паскаль каждая подпрограмма должна быть описана до её вызова. Но если подпрограмма А вызывает В, а В вызывает А, то получается замкнутый круг. Для подобных ситуаций принято следующее правило: одна из рекурсивных подпрограмм, вызывающих друг друга, описывается предварительно следующим образом:
PROCEDURE P(<Список формальных параметров>); FORWARD;
Здесь P - имя процедуры, FORWARD - ключевое слово. Это описание указывает транслятору, что текст процедуры Р помещен ниже. Подобным же образом описывается функция: к оператору FUNCTION добавляется слово FORWARD. Список формальных параметров и тип результата (для FUNCTION) включается только в это предварительное описание и опускается в заголовке соответствующей функции.
Замечание редактора: в современных трансляторах языка Паскаль (например, Turbo Pascal 5.0) такого строгого ограничения нету. Можно описывать функцию или процедуру полностью и в предварительном описании, и в объявлении.
Пример. Пусть функция В при работе вызывает функцию А которая, в свою очередь, вызывает функцию В. Тогда эти модули можно описать так:
FUNCTION B(X: INTEGER): REAL; FORWARD;
FUNCTOIN A(Y: INTEGER): REAL;
BEGIN
:.
A:=B(I)+3.5;
END;
FUNCTION B;
BEGIN
..........
B:=A(D)-1.8;
END;
Заголовок (FUNCTON B) перед текстом функции В содержит только имя функции, а список формальных параметров и тип функции не указываются.
Локальные и глобальные переменные
Вложенные процедуры. Если блок какой-либо процедуры Р1 содержит внутри процедуру Р2, то говорят, что Р2 вложена в Р1.
Пример.
PROCEDURE P1(X: REAL; VAR Y: REAL);
VAR C: INTEGER;
PROCEDURE P2(VAR Z: REAL);
......................
END;
BEGIN
................
END;
Любые идентификаторы, введённые внутри какого-либо блока (процедуры, функции) для описания переменных, констант, типов, процедур, называются локальными для данного блока. Такой блок вместе с вложенными в него подпрограммами называется областью действия этих локальных переменных, констант, типов и процедур.
Пример 2
PROCEDURE T1;
VAR Y1,Y2:REAL;
PROCEDURE SQ1;
VAR A,B,C,D:REAL;
BEGIN
(*Переменные A,B,C,D являются локальными для SQ1,
область их действия - процедура SQ1*)
.................
END;
BEGIN
(*Переменные Y1,Y2 -нелокальные переменные для SQ1 -
область их действия процедуры T1 и SQ1*)
.................
END;
Константы, переменные, типы, описанные в блоке PROGRAM, называют глобальными. Казалось бы, проще иметь дело вообще только с глобальными переменными, описав их всех в PROGRAM. Но использование локальных переменных позволяет системе лучше оптимизировать программы (вот в этом я сомневаюсь - ред.), делает их более наглядными и уменьшает вероятность появления ошибок.
При написании программ, имеющих вложенные подпрограммы, необходимо придерживаться следующих правил:
Описывать идентификаторы в том блоке, где они используются, если это возможно.
Если один и тот же объект (переменная, тип, константа) используется в двух и более блоках, то описать этот объект надо в самом внешнем из них, содержащем все остальные блоки, использующие данный объект.
Если переменная, используемая в процедуре, должна сохранить свое значение до следующего вызова этой процедуры, то такую переменную надо описать во внешнем блоке, содержащем данную процедуру.
Локализация переменных дает программисту большую свободу в выборе идентификаторов. Так, если две процедуры А и В полностью отделены друг от друга (то есть не вложены одна в другую), то идентификаторы в них могут быть выбраны совершенно произвольно, в частности, могут повторяться. В этом случае совпадающим идентификаторам соответствуют разные области памяти, совершенно друг с другом не связанные.
Пример 3
Информация о работе Отчет по практике, работа с "1С:Бухгалтерия 8.2"