<<
>>

День 9: Бухгалтерские программы. Дополнительная информация

Взгляд изнутри компьютера

(приложение для продвинутого пользователя)

Эта глава рассчитана на особо продвинутых читателей, которые хорошо знают, что такое байт. Остальные читатели могут ее легко пропустить.

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

Как уже говорилось, база данных — это набор информации, имеющий некоторую структуру. Хотя структура набора информации — это дело наживное. Структура одной и той же информации может быть сформирована по-разному.

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

На сегодняшний день самый распространенный подход к разработке структур базы данных — это так называемый реляционный подход. Реляционный подход использован в большинстве бухгалтерских программ, а также в универсальной

системе управления базами данных — программе Microsoft Access, входящей в комплект программ Microsoft Office.

База данных, структура которой организована в соответствии с реляционным подходом, называется реляционной базой данных.

Реляционная база данных — это форма представления информации, удобная для ее хранения в памяти компьютера.

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

Таблицы состоят из колонок и строк. На компьютерном языке колонка таблицы будеть называться полем таблицы базы данных, а строка — записью таблицы базы данных.

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

Типы данных, в частности, могут задаваться следующими: число (с уточнением, целое число или число с десятичной точкой), строка и дата.

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

Кроме того, определяется длина каждого поля. То есть определяется, какой объем компьютерной памяти (в уже упомянутых байтах или в символах) следует выделить для каждого поля.

Для хранения одного символа типа данных строка в компьютерной базе данных требуется один или два байта памяти компьютера.

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

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

Разработчиками специально не ограничивается объем содержимого таблицы, то есть количество строк. Хотя есть чисто технические ограничения.

Каждая таблица может храниться в памяти компьютера в виде отдельного файла. Также возможен вариант, когда база данных целиком хранится в одном-единственном файле. (Именно так делается в Access.)

Теперь разберемся с какой-нибудь одной таблицей.

Хороший пример прямоугольной таблицы — это план счетов, то есть список всех бухгалтерских счетов и субсчетов предприятия. Для реляционной базы данных соответствующая таблица может иметь следующий вид.

Счета

Идентификатор

(тип данных — целое число, длина поля — 8 байт)

Номер

(тип данных — строка, длина поля — 20 байт)

Наименование

(тип данных — строка, длина поля — 50 байт)

1

01

Основные средства

2

01-1

Станки и оборудование

3

01-2

Автомобили

4

01-3

Компьютеры

5

01-4

Мебель

6

02

Амортизация основных средств

7

02-1

Амортизация станков и оборудования

и так далее...

Над таблицей указано ее название — Счета. В верхней части таблицы указаны заголовки колонок (точнее, полей), а также типы данных и длины полей.

Другими словами, заголовочная часть таблицы Счета полностью описана.

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

Программа никогда не показывает содержимое поля Идентификатор пользователю: это поле нужно только программе. />Для полей Номер и Наименование назначен тип данных строка. Причем под поле Номер отведено 20 байт, то есть 20 символов, а под поле Наименование — 50 байт, то есть 50 символов.

Последнее означает, что если пользователь попытается дать счету слишком длинное название, то в базу данных

будут записаны только первые 50 символов. Лишние символы будут безжалостно отсечены.

Если же пользователь будет давать счетам короткие названия, то в памяти компьютера каждая запись все равно займет все отведенное для нее место.

В нашей таблице счета и субсчета разместились в правильном порядке, то есть так, как это принято в бумажной бухгалтерии. Такой правильный порядок записей мог получиться при первоначальном последовательном и аккуратном заполнении плана счетов, когда бухгалтер вводил счета строго по порядку: сначала ввел счет 01, затем 01-1, затем 01-2 и так далее.

Но программе порядок записей в таблице совсем не важен, он может быть совершенно произвольным. Если через некоторое время бухгалтер добавит в план счетов субсчет 01-5, то программа не станет перетаскивать записи с места на место так, чтобы втиснуть новую запись после записи субсчета 01-4. Программа просто добавит запись субсчета 01-5 в конец таблицы.

Но на экран компьютера программа будет выводить план счетов в порядке, удобном для пользователя, то есть в порядке возрастания номера счета.

Бухгалтер может не только добавлять в план счетов новые записи, но и удалять существующие записи. При удалении записи программа не стирает информацию, ставшую ненужной, и не перетаскивает другие записи на освободившееся место. Все гораздо проще: в начале записи программа ставит метку «считать запись удаленной». Для простановки таких меток используется специальное небольшое поле. Поскольку оно имеет технологическое назначение, в наших таблицах оно не показано. Меткой «считать запись удаленной» может служить символ «*» (звездочка).

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

Ключ таблицы — это отличительный признак записи. То есть ключ — это такое поле, по значению которого программа может однозначно найти запись в таблице. Значение ключа в разных записях таблицы не имеет права повторяться.

В таблице Счета ключом является поле Идентификатор. Это поле специально для этого и создавалось.

Казалось бы, приведенная прямоугольная таблица — это самая простая форма для представления списка. Тем не менее, это еще не предел.

При записи прямоугольной таблицы в память компьютера она представляется еще проще. Она вытягивается в линейку так, как это показано на рисунке.

Представление прямоугольной таблицы в памяти компьютера

Заголовочная часть таблицы

Первая запись

Вторая запись

Третья запись

и так далее...

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

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

Представление прямоугольной таблицы в виде линейки хоть и простое, но не наглядное. Поэтому люди таким представлением не пользуются.

Теперь перейдем от плана счетов к хозяйственным операциям.

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

Строки табличных частей хозяйственных операций также имеют одинаковую структуру. А количество строк табличной части может быть произвольным.

Поэтому для хранения хозяйственных операций удобно использовать две разных таблицы: первую таблицу — для заголовочных частей, вторую таблицу — для табличных частей.

Первая таблица, предназначенная для хранения заголовочных частей хозяйственных операций, представлена на рисунке.

Операции

Идентификатор

(тип данных — целое число, длина поля —

8 байт)

Номер

(тип данных — целое число, длина поля — 8 байт)

Дата

(тип данных — дата, длина поля — 8 байт)

Комментарий

(тип данных — строка, длина поля — 60 байт)

1

1

21.02.2004

Первая выписка с расчетного счета в банке

2

2

04.03.2004

Вторая выписка с расчетного счета в банке

И так далее...

Эта таблица называется Операции. Так же, как и в таблице Счета, в таблице Операции предусмотрено поле с названием Идентификатор. Это поле недоступно пользователю. Сюда программа автоматически проставляет порядковый номер записи. Как и в таблице Счета, это поле назначено ключом таблицы.

Кроме того, таблица имеет поле Номер, которое предназначено для хранения номера хозяйственной операции, задаваемого пользователем. Еще таблица имеет поле Дата для хранения даты хозяйственной операции и поле Комментарий.

В двух первых записях, которые изображены на рисунке таблицы, значение поля Идентификатор совпало со значением поля Номер. Это объясняется тем, что автоматическая нумерация записей программой естественным образом совпала с нумерацией хозяйственных операций пользователем. Но при большом количестве записей обязательно появится расхождение.

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

Проводки

Идентификатор

(тип данных — целое число, длина поля —

8 байт)

Операция

(тип данных — целое число, длина поля — 8 байт)

Дебет

(тип данных — целое число, длина поля — 8 байт)

Кредит

(тип данных — целое число, длина поля — 8 байт)

Сумма

(тип данных — число с десятичной точкой, длина поля — 16 байт)

1

1

14

32

10 000.00

2

2

14

22

12 000.00

3

2

/>14

23

5 500.00

4

2

16

14

9 676.00

и так далее.

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

Оставшиеся три других поля с названиями Операция, Дебет и Кредит имеют одинаковый тип данных — целое число и одинаковую длину — 8 байт.

В эти поля программа записывает значения ключей других таблиц.

В поле Операция таблицы Проводки программа записывает значение поля Идентификатор таблицы Операции. (Естественно, что должны совпадать типы данных этих двух полей в двух разных таблицах, а также их длины.) В поле Дебет таблицы Проводки программа записывает значение поля Идентификатор таблицы Счета. В поле Кредит программа также записывает значение поля Идентификатор таблицы Счета.

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

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

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

Слово связь переводится на английский язык как relation. От этого английского слова происходит сам термин реляционная база данных.

Посмотрим на примере, как программа определяет связи и пользуется ими в процессе своей работы.

Допустим, программе поступила следующая команда от пользователя: вывести на экран хозяйственную операцию, для которой в таблице Операции значение поля Идентификатор задано равным 2. (Это уже хорошо знакомая нам хозяйственная операция № 2 от 4 марта.)

Программа сделает следующее. Просмотрит записи таблицы Операции и найдет в ней запись со значением поля Идентификатор, равным 2. Просмотрит все записи таблицы Проводки и найдет в ней те записи, у которых значение поля Операции будет равно 2. Таких записей будет найдено три. Для каждой найденной записи таблицы Проводки по значению поля Дебета найдет соответствующую запись в таблице Счета. По значению поля Кредит также найдет соответствующую запись в таблице Счета. Оформит и раскрасит информацию, собранную из всех найденных записей, в соответствии с некоторым шаблоном, заданным в программе. Выведет полученную картинку на экран компьютера.

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

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

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

Еще обратим внимание на то, что итоговая сумма хозяйственной операции (для операции номер 2 это 27 176) в базе данных не хранится. Эта сумма рассчитывается программой перед выводом хозяйственной операции на экран.

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

Программа управления базой данных решает много важных задач. Одна из важных задач — сохранение целостности базы данных.

Целостность базы данных — это отсутствие потерянных связей. Например, если пользователь решил удалить какую-либо из хозяйственных операций, то программа должна удалить не только соответствующую запись в таблице Операции, но и все записи в таблице Проводки, в которых есть ссылки на удаляемую запись. Если же пользователь решил удалить какой-либо счет в таблице Счета, то программа должна просмотреть таблицу Проводки и убедиться, что на удаляемый счет нет ни одной ссылки в полях Дебет и Кредит. Если ссылка будет обнаружена, то программа откажет пользователю в его желании, выдав на экран компьютера соответствующее окно сообщения.

Другая важная задача — это разделение доступа.

Разделение доступа — это предоставление одной и той же информации разным пользователям.

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

ция программы в этой ситуации зависит от ее внутреннего устройства. Здесь возможны варианты.

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

Другой возможный вариант: программа откроет хозяйственную операцию на экранах компьютеров обоих пользователей. Если же теперь оба пользователя внесут какие-либо изменения в хозяйственную операцию и оба решат записать их в базу данных, то программа послушно выполнит две команды записи. В итоге в базе данных окажется записанной хозяйственная операция в версии того пользователя, который даст команду записи последним.

Небольшая оговорка для читателей, которые хорошо владеют проблемой.

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

На компьютерном языке ключ, назначенный таким образом, называется суррогатным ключом.

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

Например, в таблице Счета в качестве естественного ключа можно было бы выбрать поле Номер. По этому полю запись будет определяться однозначно, поскольку в базе данных не может быть двух счетов с одинаковыми номерами; бухгалтерская программа обязательно следит за этим.

У суррогатных ключей есть плюсы и минусы. Очевидный минус — суррогатные ключи занимают дополнительную память. (Хотя на это уже давно никто не обращает внимания.) Очевидный плюс — упрощение и ускорение многих операций.

Например, если в таблице Счета ключом будет назначено поле Номер, то аналогичное по характеристикам поле будет введено в качестве внешнего ключа в тех таблицах, где есть ссылки на таблицу Счета. Если пользователь решит изменить номер какого-то счета, то программа должна будет просмотреть все таблицы, где есть ссылки на таблицу Счета, и поменять значения внешнего ключа.

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

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

Идея суррогатного ключа поддерживается стандартом разработки реляционных баз данных IDEF1X. Этот стандарт требует выбирать ключ таблицы таким образом, чтобы пользователь не мог его менять.

Хотя, с другой стороны, стандарт IDEF1X не является единственным в своем роде и ни для кого не является догмой. В частности, он не является догмой для Access, которая позволяет конструировать базы данных как с суррогатными ключами, так и с естественными ключами.

Но вернемся к нашей базе данных из трех таблиц.

На приводимом здесь рис. 19 представлена схема базы данных, которая показывает все таблицы и связи между ними в том виде, который удобен для разработки структуры базы данных. Принцип построения схемы заимствован из программы Access.

|Операции

Проводки

I.

Счета j

Идентификатор

Идентификатор

Идентификатор

Номер

Дата

Комментарии

Операция

Дебет

Кредит

Сумма

Номер

Наименование

Рис. 19. Схема данных

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

Соединительные линии между полями показывают связи между таблицами, точнее, между их полями.

Наша база данных достаточно проста. Продвинутый компьютерный пользователь легко создаст подобную базу данных,

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

Однако делать всего этого не нужно.

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

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

Ну зачем же делать самому то, что уже сотни раз и хорошо сделано другими!

Бухгалтерская программа в окружении других программ

Бухгалтерская программа — это теперь основной рабочий инструмент бухгалтера. Но не единственный инструмент.

Другой весьма полезной для бухгалтера программой является Microsoft Excel. Эта программа представляет собой универсальную систему для работы с электронными таблицами. Microsoft Excel входит в состав комплекта Microsoft Office.

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

Excel — это незаменимый инструмент для одноразовых расчетов. Но повторяющихся расчетов с помощью Excel в практике бухгалтера быть не должно. Все, что повторяется, должно быть загнано в жесткие рамки бухгалтерской программы. Если не получается загнать — значит, плоха бухгалтерская программа.

Объяснение этому следующее. Через некоторое время результаты повторяющихся расчетов потребуется обобщать, анализировать, в общем, потребуется делать по ним отчеты. А отчеты получается делать тогда, когда исходная информация для отчета хранится в строгой табличной форме, то есть в таблицах баз данных. А листы Excel —это форма слишком свободная.

Вообще-то на современном предприятии автоматизация и компьютеризация коснулись не одной только бухгалтерии. И начинались они совсем в другом месте.

Процесс автоматизации начинался непосредственно на производстве, в цехах. Станок рабочего оснащался электроникой: датчиками, управляющими и простейшими вычислительными устройствами. Получалось автоматизированное рабочее место (АРМ). Когда все автоматизированные рабочие места цеха соединялись в сеть с центральным диспетчерским пунктом, получалась автоматизированная система управления производством (АСУП).

С появлением персональных компьютеров активно пошел встречный процесс: автоматизация работы тех подразделений, которые находятся ближе всего к руководителю предприятия, в первую очередь — автоматизация бухгалтерии.

Тогда даже появился такой термин — АРМ бухгалтера, который дожил до наших дней. АРМ бухгалтера — это персональный компьютер с установленной на нем бухгалтерской программой.

Через некоторое время два процесса автоматизации встретились. Получился конгломерат под названием КИС — корпоративная (или комплексная) информационная система.

КИС — это совокупность баз данных, программ, компьютерных сетей и оборудования. Структура и логика работы КИС может быть довольно сложной.

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

Одна и та же программа, входящая в состав КИС, может работать с информацией из разных баз данных, и наоборот, разные программы могут обращаться к одной базе.

Программы, входящие в состав КИС, называются модулями КИС. Модули КИС могут работать как по отдельности, так и совместно.

Для того чтобы разные модули КИС могли работать одновременно и обмениваться между собой информацией, разработчиками КИС определяются правила взаимодействия этих программных модулей — межпрограммный интерфейс.

В состав КИС обязательно входят бухгалтерский модуль и бухгалтерская база данных.

Бухгалтерских модулей может быть даже несколько. Они могут быть выделены в соответствии с отдельными участками работы бухгалтерии, например, так:              1) расчет зарплаты,

2) учет движения товарно-материальных ценностей, 3) кассовые операции, 4) банковские операции. Над всеми этими бухгалтерскими модулями должен быть главный бухгалтерский модуль, который позволяет работать с журналом хозяйственных операций и делать бухгалтерские отчеты.

КИС — это дальнейшее облегчение текущей бухгалтерской работы. Бухгалтерам больше не требуется самолично вводить в бухгалтерскую базу данных информацию о тех материальных документах, которые формируются в других подразделениях предприятия. Вся информация о перемещении материальных ценностей попадает в бухгалтерскую базу данных из других модулей КИС автоматически. В стандартных ситуациях бухгалтерский модуль сам формирует проводки по этим документам и записывает их в журнал хозяйственных операций. И только в сложных ситуациях бухгалтерский модуль просит бухгалтера сделать проводки для документа. (По-другому эта процедура называется проведением документа, или разноской документа.)

При работе с КИС бухгалтера могут первоначально испытывать некоторое неудобство из-за того, что в журнале хозяйственных операций вдруг появляются операции, которых они не вводили. К этому надо просто привыкнуть. А операции пусть лучше появляются сами, чем вводить все операции вручную.

Но вернемся к КИС как к таковой.

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

Такая идеальная КИС в наше время называется системой ERP — Enterprise Resources Planning system, что переводится с английского как система планирования ресурсов предприятия. Компьютерными фирмами мирового уровня разработано довольно большое количество компьютерных систем, претендующих на этот титул.

Мировое лидерство среди систем ERP занимает система R/3, разработанная фирмой SAP — транснациональной корпорацией германского происхождения. Система SAP R/3 внедрена на нескольких крупнейших российских предприятиях, а также принята в качестве отраслевого стандарта российских железных дорог.

К востоку от нас, в Японии, существует аналог системе ERP. Это система JIT, что расшифровывается как Just-In-Time и переводится точно в срок. Методы JIT под названием Kanban (канбан) впервые появились там на фирме Toyota (Тоёта).

Система JIT ориентирована на то, что каждый работник предприятия должен быть обеспечен сырьем и материалами именно в тот момент, когда они ему понадобятся, не раньше и не позже. Система JIT — это не просто информационная система, это целая философия работы. Эта система требует от каждого работника предельно четкого исполнения инструкций. Такой системе сложно прижиться на российской почве.

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

Реальностью большинства российских предприятий является так называемая «лоскутная» автоматизация: на предприятии сосуществует несколько информационных систем, которые охватывают только наиболее важные участки работы предприятия и обмениваются между собой информацией по мере необходимости.

Плохо это или хорошо — однозначно сказать невозможно.

Словосочетание «лоскутная» автоматизация звучит немного обидно, поэтому вместо него можно было бы использовать словосочетание не ERP-система. К не ERP-системам относится большинство программных продуктов, которые предлагают для автоматизации предприятий отечественные разработчики.

В количестве различных вариантов и идей по поводу автоматизации сейчас можно просто утонуть. Но в последнее время набирает силу одна новая идея, которая совершенно не противоречит идее «лоскутной» автоматизации.

Эта идея заключается в следующем.

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

шенно разными фирмами. Но обмен информацией между всеми этими модулями и системами должен проходить через одну специальную программу — промежуточное программное обеспечение.

Это промежуточное программное обеспечение должно предоставлять стандартный межпрограммный интерфейс для программных модулей от любых производителей.

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

Жесткая единая КИС, или мягкое соединение отдельных программных модулей — какая из этих двух идей возьмет верх, покажет будущее. Скорее всего, свое место найдется всем хорошим идеям.

Ну а в наше время идея единой КИС уже идеально подошла для розничной торговли продовольственными товарами.

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

Вместо кассового аппарата на рабочем месте продавца-кас- сира стоит POS-терминал. (POS расшифровывается как Point of Sale и переводится как точка продажи.) POS-терминал — это персональный компьютер с небольшим экраном и клавиатурой, к которому подсоединены лазерный сканер — устройство для чтения штрих-кода товара — и принтер — устройство для печати кассового чека. Кроме того, к POS-терминалу могут быть подсоединены электронные весы и устройство для считывания пластиковых карт. Все это оборудование стоит несколько тысяч долларов, но оно того стоит.

Все POS-терминалы магазина соединены в компьютерную сеть и управляются сетевой торговой программой. Через торговую программу POS-терминалы имеют доступ к единой торговой базе данных.

На упаковки всех товаров, которые находятся в торговом зале, нанесены штрих-коды. Штрих-код — это набор полосок разной ширины, соответствующий некоторому набору цифр.

Лазерный сканер умеет читать эти полоски и переводить их в цифры.

Поэтому для того, чтобы ввести в POS-терминал название товара и его стоимость, продавцу-кассиру достаточно просто поднести товар к сканеру. Сканер прочитает штрих-код товара и передаст его через POS-терминал торговой программе, которая по считанному значению штрих-кода найдет товар в базе данных, а затем определит его название и цену.

Информация, извлеченная из базы данных, появится на экране POS-терминала.

Продавец-кассир пользуется клавиатурой минимально: чтобы ввести количество одинаковых товаров или чтобы дать команду печати кассового чека на принтере. Ну и, конечно, при сбоях сканера.

За наполнение торговой базы данных информацией отвечают товароведы. Их рабочие места также оборудованы по последнему слову техники: компьютерами и сканерами. Компьютеры товароведов подключены в ту же самую компьютерную сеть, что и POS-терминалы, и имеют доступ к той же самой торговой базе данных.

Сейчас во всем мире практически все товары, предназначенные для розничной продажи, маркируются штрих-кодами. Штрих-код наносится на упаковку товара еще на за- воде-производителе. Штрих-код уникален для каждого вида упаковки товара. Уникальность штрих-кода означает, что штрих-код не может повториться на другом виде упаковки того же товара, на другом товаре и у другого производителя.

Идея штрих-кода аналогична идее азбуки Морзе. В азбуке Морзе цифра или буква представляется последовательностью точек и тире. А в штриховом кодировании цифра или буква представляется последовательностью узких и широких полосок: узкая полоска — это как бы точка, а широкая — это как бы тире.

На всех континентах, за исключением Северной Америки, принята единая система штрихового кодирования товаров под названием EAN-13. Число 13 в этом названии означает количество цифр, используемых для кодирования. Это означает, что в системе EAN-13 каждому виду упаковки каждого товара назначается уникальный номер, состоящий из 13 цифр.

Процесс приемки товароведом новой партии товара от поставщика выглядит довольно просто. Товаровед подносит образец каждого товара к сканеру и считывает сканером его штрих-код. Этот код передается компьютером в торговую программу. Торговая программа находит в базе данных запись соответствующего товара и показывает ее на экране компьютера товароведа. После этого товаровед вводит количество товара и разную дополнительную информацию: номер накладной, номер партии, реквизиты поставщика и прочее.

Если же товар оказался новым и его описания в торговой базе не нашлось, то с помощью клавиатуры товаровед заполняет описание товара и вводит параметры нового товара в торговую базу данных.

Некоторые проблемы сотрудникам магазина создают весовые товары, то есть такие товары, которые не имеют стандартных упаковок.

Все весовые товары пронумерованы: в информационной системе им присвоены внутренние номера, которые обычно короче, чем код EAN-13.

При приемке весового товара товаровед должен определить его номер, его вес и внести эту информацию в торговую базу данных.

Для того чтобы покупатель мог купить весовой товар, его надо упаковать. Упаковкой весовых товаров занимаются специальные сотрудники магазина — фасовщики. Они делят весовой товар на порции, упаковывают их и затем наклеивают на порции этикетки с внутренними штрих-кодами магазина.

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

Возможен и другой вариант работы с весовыми товарами: взвешивание и определение его цены производится на рабочем месте продавца-кассира. Для этого к POS-терминалу должны быть подключены электронные весы.

Сканер POS-терминала умеет читать как штрих-код EAN-13, так и внутренний штрих-код.

Пока товар находится в магазине и еще не попал в корзину покупателя, с ним могут происходить разные события, информация о которых будет отражаться в торговой базе данных. Одно такое событие — передача партии товара со склада в торговый зал, которое подтверждается документом под названием накладная на внутреннее перемещение. (На языке

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

Управляет всей работой супермаркета комплексная информационная система, основу которой составляет торговая программа. На правах отдельного программного модуля в состав информационной системы входит бухгалтерская программа.

С точки зрения компьютерных специалистов ничего сложно в задаче автоматизации супермаркета нет. Поэтому в качестве вполне полноценной и вполне комплексной информационной системы для супермаркета выступают те самые программные продукты отечественных компьютерных фирм, которые на крупном промышленном предприятии способны выступить лишь в качестве средства «лоскутной» автоматизации.

Теперь отойдем от проблем автоматизации супермаркетов и вернемся к общим проблемам бухгалтерских программ.

Модули и интерфейсы

Бухгалтерским программам приходится работать в окружении совершенно разных программ.

Но и сами бухгалтерские программы могут быть устроены по-разному.

Бухгалтерская программа может быть устроена по модульному принципу, то есть разделена на несколько частей — модулей. Как уже говорилось, программный модуль — это отдельная программа, которая может работать как вместе с другими программными модулями, так и сама по себе.

Модули могут быть выделены по участкам работы бухгалтерии: модуль кассовых операций, модуль учета движения материальных ценностей и так далее. Один из модулей может считаться базовым. Базовый модуль — это такой модуль программы, без которой другие модули программы работать не могут.

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

хранить ее отдельно и в отдельной базе данных — базе данных сотрудников предприятия.

С другой стороны, расчет зарплаты дает совсем немного информации для остальной бухгалтерии — всего лишь несколько проводок в месяц. (Эти проводки должны показать общую сумму начисленной зарплаты работников предприятия, а также общие суммы налогов на зарплату.) Их несложно набить и руками.

Идея выделения расчета зарплаты в отдельный программный модуль, в частности, реализована в комплекте программ 1С: Предприятие.

Но модульному подходу имеется альтернативная идея: альтернативные пользовательские интерфейсы. Это когда одна и та же программа позволяет выбрать для разных пользователей разные пользовательские интерфейсы. То есть бухгалтерскую программу можно настроить таким образом, чтобы на экранах разных пользователей ее главное окно выглядело по-разному.

Посмотрим на рис. 9 (глава Бухгалтерская программа на экране компьютера). На этом рисунке изображено главное окно нашей несуществующей программы. Такое главное окно, наверное, будет удобным для главного бухгалтера. Но кассиру с таким окном работать будет не слишком удобно: кассовые документы спрятаны в меню слишком глубоко. Для удобства кассира было бы хорошо создать специальный пользовательский интерфейс кассира, где команды работы с кассовыми документами были бы вынесены на самый верхний уровень главного меню.

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

Более глубоко разбираться с компьютерной бухгалтерией имеет смысл сидя за персональным компьютером и на примере конкретной бухгалтерской программы. У любой хорошей бухгалтерской программы есть встроенная справочная система; если что-то будет непонятно, можно будет обратиться к ней.

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

 

<< | >>
Источник: Гартвич А. В.. Бухгалтерский учет за 10 дней. 2009

Еще по теме День 9: Бухгалтерские программы. Дополнительная информация:

  1. День 7: Основные понятия при работе с бухгалтерскими программами
  2. День 8: Основные принципы работы с компьютерными программами
  3. День 3: Бухгалтерские счета
  4. День 1: Основные понятия и терминология бухгалтерского учета
  5. День 4: Специфика применения бухгалтерских счетов
  6. 1.3. Функции бухгалтерского учета. Пользователи бухгалтерской информацией
  7. 7. 2. Программа реформирования бухгалтерского учета в РФ
  8. 7. 2. Программа реформирования бухгалтерского учета в РФ
  9. 2.1. Повышение качества информации, формируемой в бухгалтерском учете и отчетности
  10. 22.3.1.Общие международные требования к качеству бухгалтерской информации
  11. Раскрытие информации по сегментам в бухгалтерской отчетности.
  12. Аудит финансово-инвестиционных операций: цель, источники информации; программа; методы сбора доказательств.
  13. Аудит расчетов с подотчетными лицами в валюте Российской Федерации: программа; источник информации; методы сбора доказательств.
  14. Методы бухгалтерского учета как способы изучения информации
- Информатика для экономистов - Антимонопольное право - Бухгалтерский учет и контроль - Бюджетна система України - Бюджетная система России - ВЭД РФ - Господарче право України - Государственное регулирование экономики в России - Державне регулювання економіки в Україні - ЗЕД України - Инновации - Институциональная экономика - История экономических учений - Коммерческая деятельность предприятия - Контроль и ревизия в России - Контроль і ревізія в Україні - Кризисная экономика - Лизинг - Логистика - Математические методы в экономике - Международные экономические отношения - Микроэкономика - Мировая экономика - Муніципальне та державне управління в Україні - Налоговое право - Организация производства - Основы экономики - Политическая экономия - Размещение производительных сил (РПС) - Региональная и национальная экономика - Страховое дело - Теория управления экономическими системами - Управление инновациями - Философия экономики - Ценообразование - Экономика зарубежных государств - Экономика и управление народным хозяйством - Экономика отрасли - Экономика предприятия - Экономика природопользования - Экономика труда - Экономическая безопасность - Экономическая география - Экономическая демография - Экономическая статистика - Экономическая теория и история - Экономический анализ -