Министерство образования РФ
Томский государственный университет
Систем управления и радиоэлектронике
(ТУСУР)
Центр дистанционного обучения.
Кафедра автоматизированных систем управления (АСУ)
РЕФЕРАТ
по дисциплине: «Предметно-ориентированные экономические информационные системы»
тема: «Российский рынок экономических информационных систем» «ХАКЕРС ДИЗАЙН»: сетевая система «Финансы без проблем».
Автор методического пособия: М.Н.Исаков
Введение
Как бы ни ругали телевизионную рекламу - она запоминается. Особенно тогда, когда рекламируется продукция, товары или услуги той отрасли, с которой ты профессионально связан. Поэтому, большинству специалистов, так или иначе связанных с рынком программного обеспечения в области экономики и финансов надолго запомнилась реклама тогда еще никому неведомой и невесть откуда взявшейся фирмы из Мариуполя, ежевечернее в 1991-1992 годах в самое ходовое телевизионное время по первой программе ТВ предлагавшей недорогую компьютерную программу для ведения бухгалтерского учета с запоминающимся названием "Финансы без проблем".
А все было очень просто. То, чего не могли сделать монстры социалистической индустрии производства программ и "вылупившиеся" из них кооперативы сделала маленькая частная фирма из Мариуполя - "Хакерс Дизайн", выпустив на рынок первый на территории бывшего СССР широко тиражируемый программный продукт.
До момента появления "Финансов без проблем" было написано немало "толстых" исследований о том, как надо автоматизировать учет в промышленности, торговле, в организациях, состоящих на бюджете. Предпринимались попытки создать типовые системы кодирования, типовые технологические системы обработки учетной информации. В основном они ориентировались на использование "больших" ЭВМ и потому предназначались для достаточно крупных организаций. Небольшим предприятиям предлагалось использовать ВЦКП. Каков уровень оперативности такой автоматизации учета можно догадаться. Потому-то такие системы и не получили большого распространения. Часто приходилось видеть бухгалтера, который с карандашом и калькулятором (а то и счетами) "крыжил" полученную из АСУ распечатку. Фактически внедрение АСУ часто приводило к выполнению двойной ненужной работы. И это в то время, когда во всем цивилизованном мире уже пользовались дешевыми персональными ЭВМ.
По мере постепенного насыщения рынка ПК к концу 80-х, началу 90-х годов и появлению большого числа самостоятельных негосударственных фирм сложилась высокая потребность в программных продуктах для автоматизации бухгалтерского учета.
И такие программы стали создаваться. Автор хорошо помнит как в 89-91 гг. множество временных трудовых коллективов по договорам с самыми разными организациями "лепили" бухгалтерские программы фактически уникальные для каждого предприятия. Многие такие разработки оказались мертворожденными, поскольку сами программисты - технари до мозга костей - ничего не понимая в учете лишь воспроизводили то, что могли понять из объяснений бухгалтеров. Как правило, получалось изделие годное только для данной организации-заказчика, да и то на короткий период действия нормативных актов "намертво" заложенных в алгоритмы расчетов.
Разработчики "Хакерс Дизайн" реализовали совершенно иной принцип построения бухгалтерской программы. В "Финансы без проблем" были заложены совершенно непохожие на существовавшие до тех пор концепции автоматизации бухгалтерского учета.
Основная идея состояла в том, что бухгалтерская программа должна быть максимально гибкой и открытой для настройки самим пользователем на специфику учета в своей организации и легко модифицируемой при изменении законодательства. Создав такого рода продукт фирма предприняла мощные усилия по его продвижению на рынке, раньше других производителей программного обеспечения поняв принцип "реклама двигатель прогресса". Мощная рекламная компания 1991-1992 года принесла свои плоды. Тысячи организаций-пользователей теперь могли приобрести недорогой, качественный программный продукт, просто получив его по почте наложенным платежом.
Конечно, "Финансы без проблем" нельзя считать идеальной программой, которая в состоянии удовлетворить потребности любой, без исключения, бухгалтерии. Однако, опыт автора, знакомого более чем с сотней систем автоматизации бухгалтерского учета, как созданных на территории бывшего СССР, так и западных, позволяет с полной уверенностью констатировать, что на настоящий момент нет и в обозримом будущем не предвидится появления идеальной со всех точек зрения программы для бухгалтера. Слава Богу, забыты пресловутые типовые проектные решения централизованно навязываемые нам при социализме. Каждый пользователь теперь волен выбирать себе то, что более всего соответствует его потребностям, запросам, уровню претензий и желанию работать По-старинке или по-новому. В этом смысле "Финансы без проблем" - это система построенная на новых, прогрессивных принципах, которые рано или поздно станут доминирующими.
Последнее подтверждается следующим обстоятельством. Автору известно несколько компьютерных фирм в Москве, Петербурге, на Украине и в Беларуси прямо "позаимствовавших" у "Хакерс Дизайн" основные идеи "Финансов без проблем" и достаточно успешно тиражирующих свои разработки. Более того, идеи групповых или типовых операций, порождающих "одним махом" несколько проводок, специализированные генераторы отчетов, а также возможность оперативной "расшифровки" показателей оборотного баланса данными аналитического учета, впервые среди разработок для массового потребителя появившиеся в "Финансах без проблем", стали стандартом "де-факто" для систем автоматизации, поставляемых ведущими разработчиками компьютерных бухгалтерий. Так что, хотим мы того или нет - следует признать: разработчики "Хакерс Дизайн" во многом явились "законодателями мод" на рынке бухгалтерских программ практически на всей территории бывшего СССР.
Вычислительный потенциал программы огромен, а выполнение некоторых сложных учетных процедур оказывается настолько изящным и простым, что просто диву даешься. Однако, для неподготовленного пользователя эти возможности могут остаться не замеченными - "Финансы без проблем" требуют определенных усилий при освоении возможностей настройки программы на учетную специфику.
"Финансы без проблем" - первое знакомство
Прежде, чем перейти к содержательным вопросам использования "Финансов без проблем" при ведении бухгалтерского учета, рассмотрим основные приемы работы с программой. Зайдем в директорию стандартного демонстрационного примера (в дальнейшем EXAMPLE) и выполним заранее подготовленный файл f.bat.
На экране дисплея отобразится примерно следующее:
В верхней строке экрана отображено главное меню программы, во "втором" ряду экрана - пиктограммы с изображением меток "вызова" основных режимов работы. Вызов нужной функции можно осуществить одним из трех возможных способов:
1. посредством выбора нужного пункта меню;
2. переведя указатель "мыши" на нужную пиктограмму ;
3. нажав нужную клавишу.
Для начала поработаем мышкой. Поставим курсор мыши на самую левую пиктограмму. Буквально через секунду после остановки курсора в нужном "квадрате" рядом с пиктограммой должно появиться окошко с текстом "Режим ввода и просмотра операций":
Подвигайте курсор мыши вдоль "пиктограммного ряда" ненадолго останавливаясь на каждом изображении и почитайте тексты появляющихся сообщений. Теперь установите курсор мыши на левую пиктограмму и нажмите левую кнопку мыши. На экране появится окно ввода операций:
Сейчас здесь незарегистрировано ни одной операции. Не поленитесь и "поводите" мышью по "непустым" экранным элементам окна операций и "натыкаясь" на то или иное изображение почитайте выводимые программой сообщения. Найдите с
1. закрыть окно, то есть покинуть режим ввода операций;
2. переместиться в нужное место реестра операций
(реально переместиться пока никуда не получится);
3. как вводить числа мышью.
Теперь щелкните мышью на четвертой слева пиктограмме. На экране появится окно плана счетов и начальных условий. Так же, как и в предыдущем окне обследуйте его мышиным курсором, останавливаясь на экранных изображениях. Убедитесь, что перечисленные выше три задачи решаются здесь точно также.
Таким образом, "мышиный" интерфейс во многом идентичен при работе в разных окнах.
Закроем окно счетов и начальных условий и опять окажемся в окне реестра операций. Закроем и его.
Теперь поучимся пользоваться меню. Вход в него осуществляется клавишей F10. Нажмем ее.
Меню "Финансов без проблем" двухуровневое. При выборе любого пункта "верхнего" меню "выпадают" зависимые подменю. "Подвигайтесь" по меню влево-вправо. Я думаю, не надо объяснять как выбрать ту или иную функцию. Обратите внимание, что напротив некоторых пунктов указана клавиатурная комбинация быстрого вызова данной функции. Запомним их:
Alt-F2 - режим ввода/корректировки операций;
Alt-F3 - режим расчета/просмотра/анализа оборотного
баланса;
Alt-F4 - меню выходных форм;
Alt-F5 - режим редактирования плана счетов программы;
Alt-F6 - режим редактирования справочника видов операций;
Alt-X - выход из программы.
Упомянутую в пункте "Ресурсы" комбинацию Alt-F9 запоминать не будем - ни для ума, ни для сердца мы там информации пока не найдем.
Кроме вышеперечисленных клавиш запомним следующие:
Esc - почти всегда отменяет какое-либо действие;
F1 - всегда вызывает помощь;
F3 - калькулятор.
Первым делом займемся помощью. Нажмем F1. На экране появится окно помощи.
Мы увидим в нем некоторый текст, отдельные слова которого выделены другим цветом, а одно из слов подсвечено специальным маркером. Маркер можно перемещать "стрелками" или мышью. Им помечаются ключевые слова, которые имеют собственную "расшифровку". Для того, чтобы получить расшифровку нужного понятия надо выбрать его клавишей Enter или фиксацией кнопки мыши. "Зайдем" в понятие "отчетный период". На экране появится следующий параграф помощи также с выделенными ключевыми словами. Можно выбрать новое понятие и прочитать про него. Для возврата в предыдущей параграф нужно нажать клавишу BackSpace. Для выхода из помощи - клавишу Esc.
Можете "полазить" по текстам помощи и почитать то, что они содержат. Если Вам все ясно - переходите к следующей главе книги. Мы же освоим калькулятор.
Ну вот еще! - скажет читатель. Я приобретал программу, чтобы она считала за меня, а тут предлагают учить калькулятор. Все так. Программа будет почти все считать за Вас. Однако, для этого надо приложить известные усилия и кое-где при выполнении операций нам что-то придется считать вручную.
Итак, работаем с калькулятором. В отличие от привычного читателю настольного или карманного, калькулятор встроенный в "Финансы без проблем" основан не на последовательном вводе чисел, операций и промежуточных результатах, а позволяет сразу ввести расчетную формулу, которая может включать числа, знаки арифметических операций (+,-,*,/), скобки, а также весь набор встроенных функций и определенных к моменту вычислений переменных. Пусть Вас не смущают последние два понятия - подробнее мы о них поговорим позже. Для выполнения расчета надо просто набрать с клавиатуры расчетную формулу и нажать Enter. Например:
23.07+5*(2345.45-567.947)/45.2
Не забывайте использовать точку вместо запятой в качестве разделителя целых и дробных чисел.
После вычисления курсор опять перешел в начало нашей формулы. Для повторных вычислений можно набирать новую формулу. Старая формула автоматически сотрется. Если Вам важно сохранить какие-либо ее фрагменты можно просто "подвигать" курсор вправо-влево. В этом случае старое содержимое не сотрется и Вы можете исправить его так, как нужно. При редактировании в калькуляторе и везде в программе поддерживается режим вставки. Для удаления ненужных символов в поле ввода можно использовать клавиши BackSpace или Del.
В дальнейшем Вам иногда придется использовать калькулятор при вводе числовых значений сумм операций. В этом случае, полученный в результате расчетов результат можно "отправить" в поле ввода текущего значения нажав клавишу F10. Клавишами "вверх-вниз" калькулятор можно "передвинуть" в нужное место экрана. Выйдем из калькулятора, нажав Esc.
Теперь, не очень вдаваясь в бухгалтерскую суть выполняемых действий попробуем ввести какие-нибудь операции и получить отчеты. Войдем в режим ввода/редактирования операций. Мы пока не знаем, что именно программа "понимает" под словом операция. Чтобы понять просто введем какую-нибудь операцию.
Однако, прежде чем это будет сделано, вызвав помощь познакомьтесь со списком активных клавиш, используемых при работе с реестром операций. Ознакомившись, нажмите F7, Insert или щелкните мышью на пиктограмме "Создание нового объекта". На экране появится поле ввода даты операции в котором отобразится значение 1. Обратите внимание, что в заголовке окна реестра операций написано "Операции в январе 1995" (... 1996, 1997 смотря какой год ныне "на дворе", то есть в системной дате компьютера). В дальнейшем мы научимся устанавливать нужный нам год и месяц выполнения операции, а пока оставим 1-ое число без изменений просто нажав Enter.
На экране появится меню:
"Финансы без проблем" должны "знать" в каком порядке рассматривать операцию по отношению к другим. В большинстве случаев, порядок операций в течении дня неважен и здесь достаточно указать - "в общем порядке". Однако, некоторые действия должны быть жестко привязаны либо к началу дня, либо к концу дня. Пример: курс валюты мы узнаем примерно в 12.00. К этому моменту мы могли уже ввести какие-то операции, связанные с валютой. Однако, котировать ее мы должны по новому курсу для всех операций текущего дня. В этом случае при вводе операции надо выбрать "в начале дня" и "Финансы без проблем" при выполнении расчетов будут считать, что новый курс установлен прежде, чем выполнены все операции со статусом "в общем порядке". Другой пример - "закрытие" счетов и определение финансового результата мы должны провести последней операцией текущего квартала. Поэтому ей нужно присвоить статус "в конце дня". Если даже после этого будут вводиться проводки за тот же день, изменяющие значения связанных с указанной процедурой счетов, но со статусом "в общем порядке", то "Финансы без проблем" учтут изменения и все "закроют" правильно.
Сейчас же мы выберем "в общем порядке". На экране появится меню следующего содержания:
Отлично, нас спрашивают какого именно раздела учета касается данная операция. Если Вас что-то смущает в данном перечне - не беспокойтесь. В дальнейшем мы научимся сами регулировать состав пунктов каждого меню выводимого в качестве подсказки при вводе операций. Выберем, например, "Касса". Появится меню содержащее всего два пункта: "Приход" и "Расход". Выберем "Приход". Опять появилось меню:
Выберем "от реализации".
Программа, как явно следует из текста подсказки, просит нас ввести ставку НДС заложенную в сумму реализации. Введем 20 и нажмем Enter. Теперь просит ввести ставку спецналога. Введем 3. Поле ввода переместится в столбец суммы. Ну-что ж, предположим, что мы что-то реализовали на сумму 1230000. Введем это число и нажмем Enter. Курсор остановился в следующей строке и программа явно хочет, чтобы мы что-то сюда набрали. Наберем "оплачены работы, выполненные в декабре" и нажмем Enter. Ввод завершился. Введенная нами операция подсвечена инверсным цветом, а часть построенной фразы выделена красным (конечно, последнее видят только те, у кого цветной монитор).
Что же означает сконструированная нами и программой фраза. Нажмем F6.
На экране появилось окно со списком проводок, суммы большинства из которых записаны в виде формул с несколько странными аббревиатурами входящих переменных. Если посмотреть внимательно, то обнаружится, что есть в них какая-то закономерность очень напоминающая формулы "выделения" НДС и спецналога из включающей их суммы. Нажмем Esc, войдем в меню (F10), далее в подменю пункта "Опции", нажмем Enter на пункте "Проводки в динамике" и после возврата в окно реестра операций опять нажмем F6. Формулы исчезли и теперь перед нами проводки с суммами.
Очень интересно. Откуда ни возьмись, появилось 6 проводок функционально связанных с одной суммой. Первая очевидным образом отражает приход в кассу, вторая и третья начисляют НДС и спецналог, четвертая относит сумму, очищенную от НДС и спецналога на финансовый результат, пятая судя по сумме (1,000,000*0.008) начисляет налог на пользователей автомобильных дорог по ставке принятой в Москве (0.8%), а шестая сразу же списывает эти затраты на убытки.
Глядя на все это испываешь смешанные чувства. С одной стороны приятно, что нужные проводки построены так легко и непринужденно. С другой стороны непонятно - откуда все это взялось, почему именно данные субсчета участвуют в проводках и что делать, если действуют другие ставки налогов.
Все в наших руках. Мы можем заставить программу делать именно такие проводки, какие нам нужно и использовать такие нормативы, которые действуют в КОНКРЕТНОЕ время и в КОНКРЕТНОМ регионе. Собственно говоря, вся эта книга посвящена тому, КАК это сделать. Пока же ограничимся освоением элементарных навыков работы с программой.
Продолжим ввод операций. На этот раз выполним операцию Зарплата -> начисление -> индивидуальное штатным. Появилось окно:
Судя по всему, программа просит нас выбрать сотрудника, которому начисляется зарплата. Предположим, у нас работает некто Чистомытов Дмитрий Владимирович и зарплату мы начисляем именно ему. Нажмем F4 или Tab. На номере субсчета появился курсор. Значит можно редактировать. Изменим 33 на 001, нажмем Enter и вместо слова "сотрудник" напишем "Чистомытов". Явно, что имя и отчество в одной строке узкого окошка не поместятся. Нажмем стрелку вниз. "Полоска" ввода переместилась в следующую строку. Это то, что нужно. Напишем здесь Дмитрий, а строкой ниже "Владимирович" и, наконец, нажмем Enter. Теперь есть из кого выбирать. Нажмем Enter. Окно списка сотрудников исчезло и курсор перешел в поле ввода суммы. Введем сюда 300000, а в поле комментария - "Начислено Чистомытову за январь". Ввод операции закончился. Нажмем F6. Опять перед нами огромный список проводок. Судя по всему начислена масса налогов по зарплате и сразу зачтены затраты на нее в финансовом результате предприятия. Тут уж совсем непонятно откуда что взялось.
Однако, продолжим. По той же схеме начислим зарплату Комлеровичу Николаю Васильевичу. Однако, теперь при появлении окна списка сотрудников вместо F4 нажмем F7 и в появившейся пустой строке ввода введем 70-002 и далее фамилию, имя и отчество на разных строках. В качестве суммы введем 200000.
Как перемещаться по списку операций? "Стрелками" переведите селектор реестра операций (полоску инверсного цвета) на первую операцию. Обратите внимание на то, что пометка (галочка) на правой стороне окна реестра операций также меняет свое положение при смене активной (помеченной селектором) операции. Это так называемый лифт. Он используется для:
1. указания на относительное местоположение текущей
операции в списке;
2. для быстрого перемещения по списку операций.
При решении второй задачи достаточно щелкнуть мышью на нужном месте лифта. Помимо лифта и клавиш управления курсором для навигации по списку можно использовать клавиши:
Home - в начало списка;
End - в конец списка;
PageUp - на страницу вверх;
PageDown - на страницу вниз.
Для поиска операции по номеру можно использовать следующий прием. Нажмите клавишу Alt, не отпуская ее введите номер операции, а затем отпустите Alt. Селектор операции переместится на операцию с заданным номером. Если операции с указанным Вами номером в списке нет, то селектор останется на месте.
Для перемещения к операциям нужной даты надо просто набрать ее на клавиатуре. Если за указанную дату операции вводились - селектор остановится на первой из них.
Теперь поучимся корректировать данные. Корректировка вызывается клавишами Enter или Tab и практически полностью повторяет режим ввода с той разницей, что теперь при выборе из любых меню курсор меню позиционируется именно на той позиции, которая была выбрана при вводе (предыдущей корректировке) операции. Это очень удобно, поскольку часто надо изменить только один или несколько реквизитов операции. В этом случае большинство выборов не надо повторять и их можно "подтвердить" просто нажимая Enter. Попробуйте откорректировать какие-либо записи, но таким образом, чтобы после всех проведенных корректировок вернуться к тому, что мы ввели изначально.
Для выборочной корректировки отдельных реквизитов можно использовать мышь. Если необходимо откорректировать только дату или только сумму операции щелкните мышью на нужном реквизите - дате или операции. Выборочная корректировка удобна в тех случаях, когда смысл операции остается тем же, но нужно внести исправления в сумму, дату или комментарий. Измените дату первой операции на 4 января, а второй и третьей - на 25.
Сведения для особо ленивых. Цифры можно вводить не только с клавиатуры, но и мышью, выбирая при активном поле ввода числового параметра нужные значения на "линейке" внизу экрана и вместо клавиши Enter пользуясь пиктограммой с аналогичным названием.
Теперь попробуем скорректировать сумму. Изменим, например, в зарплате, начисленной Чистомытову, значение суммы операции с 300000 на 400000. Поскольку корректировка содержания операции не нужна щелкнем мышью на сумме. После ввода новой суммы программа предложит откорректировать поле комментария.
Если сейчас вновь обратиться к построенным проводкам мы увидим, что корреспонденции счетов не изменились, но все суммы стали иными.
Итак, мы умеем вводить и корректировать операции. Теперь поучимся их удалять. Чтобы не портить то, что уже введено, начнем ввод еще одной операции, но при вводе даты нажмем на Esc. Процесс ввода прекратится, но запись о "пустой" операции останется в реестре. Она нам не нужна. Нажмите F8, Delete или щелкните мышью на пиктограмме "Удаление объекта" и в ответ на запрос программы:
Выберите "Да". Операция удалена.
Освоим еще одну типовую процедуру работы с программой - печать информационных объектов. Она вызывается нажатием клавиши F5 или щелчком мыши на пиктограмме с изображением принтера. На экране появится меню:
Распечатайте реестр введенных операций вместе с проводками, утвердительно ответив на запрос "Печатать с проводками ?". Если принтер не подключен, программа в "красной" строке внизу экрана "скажет": "Принтер не отвечает". В этом случае нажмите Esc, разберитесь с принтером (поставьте бумагу, включите в сеть, установите ONLINE) и повторите процедуру заново. Выбрав нужный пункт меню печати можно вывести реестр в обычный текстовый файл, доступный для редактирования и просмотра любым текстовым редактором, например, встроенным в Нортон Коммандер.
Итак, мы рассмотрели основные типовые процедуры работы с реестром операций. Не разобранными остались только операции перестановки операций (F9), установки фильтра (F2) и работы с первичным документом. Первую мы оставляем для самостоятельного освоения читателем, к последней вернемся впоследствии, а сейчас рассмотрим способы установки фильтра.
Позиционируйте селектор операции на операцию начисления зарплаты Комлеровичу и нажмите F2. На экране появится окно со следующим содержанием:
Это окно ввода фильтра. С его помощью мы можем выбирать операции за определенный диапазон дат, с нужным диапазоном сумм (в частности по одной сумме), а также с заданным типом операций. Попробуем выбрать все записи начисления зарплаты. "Пройдите" ограничения на диапазоны дат и сумм не внося в них никаких изменений. Появилось уже знакомое нам меню списка разделов учета. Выберем "Зарплата". Появилось следующее меню. Оно тоже нам знакомо. Обратите внимание на нижнюю строку экрана. В ней выведено сообщение:
Поскольку мы не хотим больше уточнять смысл отбираемых операций нам нужно очистить остальные элементы фильтра. Нажмем Del. Опять появилось меню разделов учета. Опять выберем "Зарплата". При повторном появлении окна меню уточнения типа операции нажмем End. Теперь в окне фильтра отображаются только диапазоны дат и сумм, а также слово "Зарплата". Программа предлагает нам ввести ключевое слово комментария. Не будем этого делать и просто нажмем End. На экране остались только операции начисления зарплаты. Теперь для того, чтобы опять вернуться к просмотру полного списка операций надо повторно нажать F2. Чуть-чуть мудрено. Но ничего, при небольшом навыке Вы будете устанавливать фильтры как Вам вздумается. Попробуйте пофильтровать данные, например, по диапазону сумм и дат.
Итак, мы научились вводить, редактировать, фильтровать и печатать операции, просматривать списки связанных с ними проводок. Однако все выполняемые до сих пор действия датировались январем. Как перейти в другой месяц?
"Финансы без проблем" позволяют пользователю работать с данными всего финансового года. В его пределах доступны все месяцы. Никаких специальных действий по переносу сальдо между месяцами выполнять не нужно - будучи установленными на начало года или на начало любого месяца они автоматически пересчитываются программой для всех последующих.
При работе с реестром операций для перехода из одного месяца в другой используется программный календарь. Он размещен в меню "Документы".
Обратите внимание, что "напротив" января стоит цифра 3. Действительно, мы ввели в январе ровно три операции. Календарь показывает сколько операций в каждом месяце введено.
Для перехода в другой месяц достаточно просто выбрать его, позиционировав курсор на нужный месяц и нажав Enter. Перейдите в февральский реестр операций. Как видите он пуст. Все правильно - мы пока вводили операции только в январе. Теперь ничто не мешает нам выполнять операции в феврале, а потом вернуться назад в январь.
Назначение календаря более широко, чем просто возможность перехода из месяца в месяц. С его помощью можно установить границы отчетного периода. Отчетным периодом в "Финансах без проблем" может быть любой интервал времени в пределах календарного года - месяц, квартал, полугодие, год, несколько дней и т.д.
Обратите внимание на то, что в календаре поставлена "скобка". Верхняя позиция "скобки" указывает на нижнюю границу отчетного периода, а нижняя - на верхнюю границу. Кроме того, напротив нижней границы указано число 1, а на против верхней - 31. Это означает, что в настоящий момент установлен отчетный период с 1 января по 31 декабря - то есть полный календарный год. Как изменить границы отчетного периода, например, сделать отчетным периодом 2-ой квартал? Установите курсор меню на строку "Апрель" и нажмите клавишу F4. На экране появился календарь за Апрель.
Программа предлагает нам указать дату начала периода. Выберем 1-ое. Верхняя граница "скобки" переместилась на апрель. Переместим курсор на июнь и нажмем F5. Опять появился календарь. Выберем 30-ое. Нижняя граница "скобки" переместилась к июню.
Теперь отчетным периодом является 2-ой квартал. В отчетных формах входящее сальдо будет указываться на 1 апреля, исходящее - на 30 июня, а обороты будут рассчитываться за указанный период.
Переустанавливать границы периодов можно с помощью мыши. Сначала устанавливается нижняя граница, а потом верхняя. Кроме того, имеет значение где щелкнуть мышью - левее или правее "разделительной" полосы календаря. Попробуйте разобраться здесь сами.
Таким образом, использование календаря позволяет гибко управлять границами отчетного периода. Отметим, что при необходимости можно получать отчеты за период от одного дня до целого года и даже часа!
Установите отчетным периодом целый год.
Теперь попробуем провести анализ введенной информации. "Финансы без проблем" предоставляют пользователю возможность в любой момент получить сальдо и обороты счетов, задействованных в учете. Основным режимом работы с выходной информацией является работа с оборотным балансом. Для вызова данного режима можно нажать клавиатурную комбинацию Alt-F3 или щелкнуть мышью на второй слева пиктограмме.
После непродолжительного "раздумья" компьютера на экране появится программное представление оборотного баланса. Полистаем его клавишами PageUp, PageDown. Если Вы вводили операции в соответствии с изложением книги, то откроется следующая картина:
Не удивляйтесь, что представление оборотного баланса несколько отличается от того, к которому Вы привыкли. Здесь вместо традиционных шести числовых колонок (входящее сальдо: дебет, кредит; обороты: дебет, кредит; исходящее сальдо: дебет, кредит) отображены лишь четыре. Входящее и исходящее сальдо (Н.остаток и К.остаток от слов "Начальный" и "Конечный") представлены в "свернутом" виде, то есть кредитовые сальдо показаны со знаком минус. Это, конечно, не означает, что программа "вуалирует" дебиторскую/кредиторскую задолженность - там где надо (например в балансе) состояние расчетов показывается "развернуто". Здесь же, для экономии места на экране приведен свернутый вариант сальдо.
Как работать с оборотным балансом. Для перемещения по нему полностью пригодны рекомендации данные при описании работы с реестром операций - здесь "работают" те же клавиши, так же можно использовать Alt-переход к нужному счету, очень удобно взаимодействие с лифтом (кстати, самое время поупражняться в его использовании).
Оборотный баланс является стартовой позицией анализа данных в "Финансах без проблем". В этом одно из значительных отличий компьютерного учета от ручного, при котором выход на оборотный баланс является результатом, целью выполнения учетных процедур. Отличие объясняется тем, что при компьютерном учете вычисления выполняются быстро - компьютеру все равно когда и сколько проводок "перемалывать". Поэтому пользователю "Финансов без проблем" сразу предлагается "ознакомиться" с конечными хозяйственными результатами, полной картиной финансового состояния на текущий момент.
В то же время, для понимания почему именно сложился такой результат, программа предоставляет возможность получить самые разнообразные расшифровки конкретных позиций оборотного баланса, а именно сальдо и оборотов синтетических счетов. Основными элементами анализа здесь являются:
1. анализ истории счета;
2. анализ корреспонденций счета;
3. анализ параметров счета.
Обсуждение понятия "параметров счета" и соответствующего раздела анализа мы оставим до "лучших времен" и вернемся к нему тогда, когда освоим азы настройки программы на специфику учетных операций предприятия. Сейчас же сосредоточимся на первых двух способах анализа.
Сначала проведем анализ истории счета. Подведем селектор записи оборотного баланса к счету 46 "Реализация" и нажмем на Enter или щелкнем мышью на кнопке Анализ расположенной в левом нижнем углу экрана. На дисплее отобразится следующая форма:
В первой колонке формы отображается номер операции по порядку, выбранный из реестра операций. Вторая колонка содержит дату операции. Третья - счет, с которым корреспондировал основной счет (в данном случае - 46-ой). Четвертая показывает наименование корреспондирующего счета (субсчета), указанное в плане счетов. Пятая и шестая колонки показывают величину оборота основного счета, а седьмая - динамику сальдо основного счета. Как мы уже знаем, кредитовое сальдо отображается со знаком минус.
Вернемся в оборотный баланс, нажав клавишу Esc или щелкнув мышью на "кнопке" закрытия окна, и проанализируем счет 68. Нам откроется следующая картина:
Если нас заинтересовала конкретная операция поставим на нее селектор списка и нажмем Enter. На экране появится окно, содержащее запись о данной операции. Если еще раз нажать Enter, то мы попадем в реестр операций. Если оказалось, что данная операция ошибочна - можно тут же ее скорректировать. После выхода из реестра операций оборотный баланс будет пересчитан и мы увидим изменившиеся величины сальдо и оборотов счетов. Попробуйте проделать корректировку суммы второй операции (начисление зарплаты Чистомытову) заменив значение 400000 на 500000. Вернувшись в оборотный баланс Вы увидите, что сальдо и обороты 68, 69, 70, 80 счетов изменились. Также изменились обороты 20 счета.
Таким образом, при анализе истории счета мы можем видеть как "исторически" формировалось сальдо счета при выполнении операций. Здесь полностью видна "динамика" развития событий, однако нет сведений подобных тем, которые мы привыкли видеть в главной книге, а именно данных о суммарном движении средств между разными счетами. Посмотрим как решается эта задача.
Проведем анализ корреспонденций счета 80. Для этого, спозиционируем на нем селектор списка оборотного баланса и нажмем клавишу F9 или щелкнем мышью на кнопке Корреспонденции. В появившемся на экране окне будет представлена следующая информация:
Как видно, это некоторым образом трансформированное представление главной книги. Отдельно показано сальдо выбранного счета, а обороты по дебету и кредиту приведены с разбивкой по счетам, корреспондирующим с главным. Для получения более компактного представления можно нажать клавишу F6. В этом случае вся информация по субсчетам будет "свернута" до итоговой корреспонденции с синтетическим счетом.
Обращаем Ваше внимание на то, что любую из "расшифровок", а также оборотный баланс можно распечатать на принтере или вывести в текстовый файл. Это можно сделать аналогично тому, как мы это делали при распечатке списка операций.
При проведении анализа часто требуется информация только о конкретном наборе счетов. Так например, множество счетов из стандартной поставки никак не были задействованы в проведенных нами операциях и их отображение на экране нам не нужно. "Финансы без проблем" предоставляют пользователю удобную возможность "фильтрации" отображаемой итоговой информации. Для того, чтобы оставить на экране только интересующие Вас счета оборотного баланса необходимо пометить их клавишей "пробел", а потом нажать клавишу F6. На экране останутся только помеченные счета. Повторное нажатие F6 "снимет" фильтр. Снятие пометки счета вызывается повторным нажатием пробела. Отфильтруйте счета 20, 46, 50, 68, 69, 70, 80. Очень удобно - вся нужная информация оказалась на одном экране.
Продолжим знакомство с разделами программы. В меню "Документы" выберем пункт "Баланс". После непродолжительного "раздумья" программа отобразит на экране информацию о сальдо счетов с учетом их статуса. Обратите внимание - это не форма N 1. Здесь представлено то, что является балансом на самом деле - сальдо счетов на начало и конец периода, разнесенные в актив или пассив в соответствии со своим статусом.
Не расстраивайтесь, если Вам что-то не нравится в этой форме. В дальнейшем мы увидим как настроить ее таким образом, чтобы она соответствовала Вашим требованиям. В особенности это касается тех, у кого числа в пассиве отображены со знаком минус - в одном из вариантов поставки программы есть легко устранимая ошибка в настройке формы. "Встроенный" баланс на самом деле не является встроенным - это обычная выходная форма, правила построения которой описаны на специальном языке генератора отчетов "Финансов без проблем" который мы освоим в последующих главах. То, что "Баланс" занимает место в главном меню, а не в составе файлов форм - исторический анахронизм унаследованный от прошлых версий программы.
Перейдем теперь к рассмотрению файлов форм. Файлы форм - это перечень отчетов, определений первичных документов и так называемых файлов-коэффициентов описанных на языке "Финансов без проблем". В дальнейшем изложении мы подробно рассмотрим как пользоваться этим языком для описания правил построения первичных документов, отчетов и расчетных алгоритмов отражающих различные учетные схемы. Сейчас же наше рассмотрение будет строго утилитарным. Мы попробуем построить какие-либо отчеты.
Если "полистать" перечень файлов форм, то можно увидеть, что они разбиты на несколько групп:
1. Отчетные формы;
2. Файлы-коэффициенты;
3. Формы первичных документов;
4. Истории;
5. Общие определения.
Сейчас нас интересуют только отчетные формы и истории. Список файлов форм представлен в виде меню. Найдем в нем строку "FORM1 * Баланс пpедпpиятия (фоpма 1)" спозиционируем на нее курсор и нажмем Enter. Очень скоро мы увидим перед собой знакомую форму N 1. Полистаем ее. Как ни странно баланс сходится. Ничего удивительного - во введенных нами операциях не было таких, которые оставили бы сальдо на счетах не входящих в те или иные строки баланса. Вспомните, что проводки введенных нами операций программа составила таким образом, чтобы счет 46 был закрыт.
Все бы хорошо, но пока непонятно:
1. откуда программа знает КАК свести баланс;
2. как сделать так, чтобы на титульном листе отображались сведения не о "Хакерс Дизайн", а о Вашем предприятии.
Все это мы узнаем в дальнейшем. А пока обратите внимание, что построенная форма для просмотра загружена в текстовый редактор. Это текстовый редактор "Финансов без проблем". Он очень прост. Мы предполагаем, что Вы когда-либо работали с программами редактирования текстов и Вам не надо объяснять основных связанных с ними понятий. Просто почитайте соответствующий текст помощи. Единственное чего там нет, но о чем Вы, наверное, уже догадались так это о том, что для быстрого перемещения по тексту можно использовать управляемый мышью лифт.
Можете выполнить другие отчетные формы или формы-истории. Мы не рекомендуем Вам пытаться выполнять файлы-коэффициенты или формы первичных документов - ничего не выйдет - здесь они правильно не отработают. Как, откуда и когда они вызываются мы рассмотрим позже.
Итак, мы, в целом, освоили "операторскую" работу с программой. Однако, прежде чем переходить к более серьезным вещам поподробнее самостоятельно разберитесь с разделом меню "Опции". Для этого просто вызовите список опций, нажмите F1 и почитайте соответствующие тексты помощи. Вы можете установить опции как угодно, однако пока я рекомендую оставить цветовую палитру неизменной - в данной книге комментарии будут относиться именно к этому цветовому оформлению. Кроме того, везде далее предполагается, что включены опции "Проводки в динамике", "Синтаксис подсвечен", "Числа с запятыми", а "Пpавила защищены", "Баланс до текущей", "Пpовеpка на каждой" и "Числа с копейками" отключены. Кроме того, если Вам уже надоели постоянно выскакивающие "баллоны" с помощью можете включить опцию "Баллоны: нет" или "Баллоны: в правилах". Если Вам, как и автору, больше нравится текстовый экран включите опцию "Как в Windows: нет, просто текст" - пиктограммы пропадут, однако в нижней строке экрана всегда будет отображаться список "горячих" клавиш. Фанатикам Windows, наоборот, рекомендуем включить опцию "Как в Windows: графика, кроме мыши" - в этом случае частое мерцание экрана, возможное при использовании программы в среде Windows при перетаскивании мыши, исчезнет. В остальном же рекомендаций нет - экспериментируйте на здоровье.
Как работают "Финансы без проблем"
Итак, мы получили первые навыки использования программы. Однако, пока мы не можем использовать ее осмысленно, поскольку не умеем выполнить привязку к специфике учетных процедур, используемых на конкретном предприятии. Маловероятно, что те настройки, которые входят в стандартную поставку удовлетворят всех без исключения пользователей. Даже если кого-то они вполне устраивают, мы все же рекомендуем освоиться с основными возможностями настройки, поскольку только при этом условии можно обеспечить должный уровень автоматизации учета. Сейчас мы сформулируем основные принципы, на которых строится работа "Финансов без проблем", а также связанные с ними понятия и термины.
"Финансы без проблем" относятся к разряду инструментальных бухгалтерских систем. Что это значит? Если Вы когда-либо работали с электронными таблицами, то знаете, что сами по себе эти программы не могут решать задач конкретной предметной области. Однако, если в клетки электронной таблицы ввести нужные значения и расчетные формулы, то можно настроить их на решение достаточно широкого перечня задач в разных сферах деятельности.
Назначение "Финансов без проблем" уже, чем электронных таблиц - это программа ориентирована на специфику конкретной предметной области - бухгалтерского учета. Однако, также как и в электронных таблицах в этой программе есть специальные средства, которые бухгалтер может использовать для решения своих задач, выполнения своих расчетов. За счет этого достигается гибкость настройки на конкретную специфику учетных операций и высокий уровень адаптируемости к бесконечным изменениям в законодательстве, к которым мы привыкли за последние годы. Это означает, что при всех изменениях плана счетов, налоговых ставок, правил расчета тех или иных показателей, форм отчетности и т.д. не нужно ждать, пока в "Хакерс Дизайн" изготовят новую версию программы, учитывающую эти изменения, а можно самостоятельно, изменив те или иные нормативные данные или расчетные формулы "заставить" программу считать как положено.
Конечно, за такую гибкость надо платить. Платить, прежде всего, временем, которое нужно потратить на освоение средств настройки программы и на саму настройку. Сразу предупреждаем - освоение всех "премудростей" "Финансов без проблем" - непростая задача. Однако, потраченное время окупится сторицей - те расчеты, на которые раньше у Вас уходили дни и недели "Финансы без проблем" будут делать за секунды и минуты.
За счет чего же достигается гибкость?
Прежде всего, за счет того, что сама по себе программа "не знает" огромного множества тех премудростей бухгалтерии, которые связаны с большинством специфических расчетов, будь то расчет зарплаты, износ основных средств, калькуляция себестоимости, расчет налоговых платежей, формирование отчетности и т.д. Фактически, "Финансы без проблем" "знают" только базисные понятия бухгалтерии существующие без изменений 500 лет - принцип двойной записи и понятие счета. Единственный расчет, которому программу не надо специально "обучать" - это расчет сальдо и оборотов счетов. Все остальные бухгалтерские понятия и расчеты должны быть "растолкованы" программе и описаны на специальном, понятном ей языке. Только после этого программа сможет их выполнить.
Суть настройки программы сводится к следующим основным действиям.
Во-первых, следует настроить план счетов: открыть нужные счета и субсчета, определить структуру размещения параметров счетов, в которых будет храниться нормативная информация, связанная с конкретными субсчетами, например, ставки налогов, данные натурального учета, вспомогательные значения, накапливающие ту или иную информацию, необходимую для последующих расчетов.
Во-вторых, необходимо определить правила, по которым программа будет выполнять разноску сумм по счетам при выполнении тех или иных учетных действий. Иными словами, определить состав проводок, выполняемых Вами при отражении хозяйственных операций.
В-третьих, требуется задать правила вычисления сумм, каждой из проводок, входящих в составленные операции, будь то выделение НДС и спецналога из общей суммы операции, проценты начисления налогов на заработную плату, формулы закрытия операционных счетов, калькуляции себестоимости, расчета прибыли и т.д.
В-четвертых, необходимо определить состав, реквизитную структуру и правила расчета показателей форм отчетности и других необходимых Вам выходных форм.
После того, как "правила игры" заданы останется только регистрировать операции по тем принципам, которые мы уже разбирали. "Финансы без проблем", руководствуясь этими правилами и данными зарегистрированных операций, будут автоматически составлять проводки, там где надо вычислять их суммы и сводить результаты в оборотный баланс и отчетные формы.
От того, насколько качественно составлены правила зависит степень автоматизации решения Ваших повседневных учетных задач и степень облегчения Вашего каждодневного труда. Иными словами, чем больше усилий Вы приложите в момент начала использования программы, чем больше своих знаний сможете переложить на язык, понятный программе, тем больше будет отдача и тем проще станет Ваша жизнь в дальнейшем. Конечно, это не следует понимать в том смысле, что после первоначальной настройки ничего нельзя будет поправить. Со временем Вы сможете осваивать все новые и новые возможности программы. На первом этапе - самые простые, дальше все более и более сложные.
Итак, как же работают "Финансы без проблем"?
До сих пор мы говорили о том, что на основе составленных пользователем правил программа автоматически строит проводки. На самом же деле, она их не строит, не заносит в базу данных, а только "подразумевает" при вычислении сальдо и оборотов счетов и формировании отчетов. Таким образом, реально хранятся только данные о введенных операциях и их определения. Это является главным, принципиальным отличием программы от конкурирующих разработок.
Таким образом, "Финансы без проблем" ориентируются не на отдельно взятую проводку, а на бухгалтерскую операцию. Всем, кто когда-либо вел бухгалтерский учет является очевидным, что практически любой хозяйственный акт вызывает изменения не на паре, а сразу на нескольких счетах. Когда учат бухгалтерскому учету рисуют схемы различных операций, а потом показывают как их описать на универсальном бухгалтерском языке проводок. Программа построена на том же принципе. Здесь базисным понятием является не проводка, а бухгалтерская операция, включающая в общем случае несколько проводок.
Так, например, приход от реализации состоит не только в поступлении денег в кассу (на расчетный счет), но и связан с начислением налогов на добавленную стоимость, спецналога, налога на пользователей автодорог. Начисление зарплаты вызывает еще большее число проводок из-за начисления подоходного налога, взносов в пенсионный фонд, фонд занятости, на социальное и медицинское страхование и т.д. Также из нескольких проводок состоят и специфические операции конца отчетного периода, связанные с калькуляцией себестоимости, оценкой запасов, "закрытием" операционных счетов, распределением прибыли, реформацией баланса. При этом известны как схемы отражения движения денег по счетам, так и правила формирования сумм проводок операций.
Решение этих проблем при традиционных подходах к автоматизации бухгалтерского учета практически невозможно, поскольку такого рода системы строятся на принципе строгого разделения процедур ввода и формирования выходных форм итоговой информации. Здесь вводим проводки, а здесь печатаем главную книгу, оборотный баланс и т.д. Масса работ связанных со вспомогательными вычислениями остается заботой бухгалтера.
Исходя из этого появляется желание каким-то образом автоматизировать работы по контировке первичных документов и формированию проводок. Понятно, что нельзя "намертво" "зашить" в программу такие алгоритмы, поскольку постоянно меняются и нормативы и правила расчета. Кроме того, при едином плане счетов каждое предприятие может вести свою уникальную систему субсчетов. Таким образом, необходимо отделить правила построения операций от программы таким образом, чтобы пользователь мог самостоятельно настроить эти правила, а программа их правильно проинтерпретировать.
Реализуя идею построения системы, основанной на понятии "хозяйственная операция" разработчики "Хакерс Дизайн" нашли чрезвычайно привлекательное интерфейсное решение. После записи определения операций в специальной базе знаний, называемой "деревом операций", их ввод в базу данных минимизирует общение пользователя с клавиатурой. Как мы уже видели ранее, ввод операции осуществляется выбором нужных пунктов из последовательно предлагаемых меню. Единственное что нужно ввести - это число текущего месяца и сумму операции, а дальше автоматическую генерацию необходимых проводок и расчет их сумм сделает программа. При этом из выбираемых пунктов меню как бы конструируется фраза, отражающая суть выполняемых действий. После ввода сведений о совершенной операции всегда можно просмотреть проводки, которые построила программа.
К достоинствам внутримашинного хранения бухгалтерских записей в виде операций, подразумевающих проводки, а не самих проводок, следует отнести тот факт, что в этом случае в значительной степени снижается трудоемкость исправления ошибок. Например, какая-то сумма вместо того, чтобы быть отраженной как использование прибыли, была отнесена на общехозяйственные расходы, а потом включена в себестоимость. В этом случае скалькулированная себестоимость оказывается неверной, а вслед за ней неверным окажется расчет прибыли и налоговых платежей. При использовании традиционного для систем автоматизации представления информации в базе данных в виде проводок, многие из них придется удалить, для того чтобы, исправив допущенную ошибку, полностью повторить расчет и выполнить повторный ввод пересчитанных данных. В случае же использования операций, только подразумевающих проводки последние будут автоматически переформированы при изменении лишь одной ошибочной операции.
Другим примером автоматических пересчетов является оценка себестоимости продукции при учете материалов по средним ценам. Предположим, мы провели оприходование нескольких партий материала, скалькулировали среднюю цену единицы и на ее основе оформили бухгалтерские записи по списанию в производство. Потом выяснилось, что при вводе данных о приходе была допущена ошибка и, тем самым, средняя цена была определена неверно, что повлекло за собой неверное определение включенных в себестоимость сумм. При ручном счете или использовании бухгалтерских программ, основанных на традиционном подходе, придется исправлять ошибки по всей цепочке или формировать сторнирующие записи и "проводить" все заново. В случае же использования "Финансов без проблем" ошибку надо будет исправить только в одном месте, а все зависимые вычисления будут проделаны автоматически.
Неспроста уже несколько раз в этой книге проводилась аналогия с электронными таблицами. Бухгалтерские расчеты выполняемые "Финансами без проблем" на основе записи операций также отличаются от расчетов программами, построенными "от проводки", как расчеты с помощью электронных таблиц от расчетов с использованием карандаша и калькулятора. В последнем случае достаточно допустить одну ошибку в исходных данных, чтобы последующие результаты и все выписанные на бумагу цифры были неверными. Совсем другое дело, когда мы ввели в клетки электронной таблицы формулы, определяющие порядок наших расчетов. В этом случае достаточно исправить неверные исходные данные, а всю остальную работу программа выполнит автоматически.
Такое свойство "виртуальности", "перевычисляемости" проводок, положенное в основу "Финансов без проблем" как нельзя кстати может пригодиться именно в нынешних условиях, когда из-за ввода нормативных актов в действие задним числом бухгалтерам приходится выполнять двойную работу по выполнению самых разнообразных перерасчетов. Счастливым пользователям "Финансов без проблем" часто просто не надо их делать! Достаточно внести изменения в определение операций, затрагиваемых такого рода законодательными актами, а все остальное сделает программа.
Еще одно "за" концепцию оформления бухгалтерских записей в виде операций состоит в том, что правила контировки могут быть описаны опытным бухгалтером один раз, а потом ввод может осуществляться простым оператором, поскольку процесс "машинного" оформления операций состоит в ответе на простые вопросы программы, "конструирующие" фразы, отражающие содержательный смысл операции и уже заложенные в базу знаний. Таким образом, вероятность ошибиться становится меньше и главбух может использовать свое время более рационально, чем тогда, когда ему приходилось контролировать правильность контировки документов за малоопытными подчиненными.
Однако, такое построение программы, при всех его достоинствах, таит в себе немало подводных камней. Неумелое переопределение некоторых операций может автоматически вызвать процесс полного пересчета результатов по всем действиям, совершенным до этого момента. Поэтому к построенным определениям правил надо относиться чрезвычайно "бережно" и осторожно, особенно если по этим правилам зарегистрировано много операций. Вот почему так важна продуманность решений на начальном этапе освоения программы, особенно если Вы собираетесь автоматизировать как можно больше сложных в алгоритмическом отношении расчетов.
"Финансы без проблем" и внешние программы
Настройка программы на выполнение разнообразных расчетов возможна не только на основе использования встроенных средств программирования. Программа имеет достаточно развитые возможности "общения" с внешними приложениями оформленными в виде *.exe и *.com файлов, а также с DLL-библиотеками. Таким образом, программистам предоставляется возможность самостоятельно "усовершенстовать" "Финансы без проблем", адаптируя программу к особенностям использования на конкретном предприятии или в конкретном регионе. Рассмотрение этих возможностей начнем с описания взаимодействия программы с приложениями, оформленными в виде *.exe или *.com файлов. Для вызова внешних программ в языке файлов-форм используется встроенная функция [ru ]. Ее общий формат:
[ru s1,s2,n], где s1 - строка, содержащая имя вызываемой
программы;
s2 - строка с передаваемыми аргументами ;
n - режим восстановления экрана:
0 - очистить, а затем восстановить,
1 - оставить как есть (для тех случаев, когда вызываемая программа ничего на экран не выводит).
Внешняя программа, вызванная функцией [ru ], результаты своей работы должна поместить в первую строку файла RU.TXT.
Рассмотрим следующий пример.
В вариант стандартной поставки "Финансов без проблем" входит файл-формы PLATEZKA.RPT, обеспечивающий формирование первичного документа "Платежное поручение". С помощью псевдопроводки "создать документ" он может быть "пристыкован" к операциям. Однако, каждый раз при формировании документа он заставляет нас вводить банковские реквизиты контрагента. Кроме того, организованный в нем последовательный ввод значений не очень-то удобен. Было бы намного приятнее выбирать необходимые значения из справочника, устанавливающего соответствие кода субсчета, передаваемого в форму, банковским реквизитам контрагента - расчетному счету, МФО и названию банка.
Для решения этой задачи можно использовать следующую простую программу BANK.EXE, написанную на языке СУБД Clipper Summer87. При ее "сборке" должны использоваться библиотеки clipper.lib, extend.lib и ct1.lib:
parameters FBP_par
* если нет параметров - не работаем
* список параметров должен быть заключен в двойные кавычки
if pcount() = 0
clear
? Программа может работать только вместе с "Финансами без проблем"
? Параметры не указаны. Нажмите любую клавишу
inkey(0)
quit
endif
set scoreboard off
* файл BANK.DBF должен иметь следующие поля
* SUB_SCET - символьного типа, длина 9
* KONTRAG - символьного типа, длина 100
* RS - символьного типа, длина 11
* MFO - символьного типа, длина 10
* BANK1 - символьного типа, длина 50
* BANK2 - символьного типа, длина 50
* длина полей может быть и иной, но тогда надо изменить настройки
* вызова программы функцией [ru ]
* для приведенного в книге примера критична длина полей RS и MFO
* при изменении их в файле BANK.DBF должны быть изменены параметры
* функции [cp ]
* BANK.DBF должен быть предварительно проиндексирован по полю SUB_SCET
use bank index bank
* функция [ru ] должна должна передать программе
* код субсчета, выбранный при регистрации операции и
* название субсчета, разделенные точкой с запятой
subscet = token( FBP_par, ;, 1 )
kontrag = token( FBP_par, ;, 2 )
* ищем запись, относящуюся к данному контрагенту
seek rtrim(subscet)
* если такой записи нет, то добавляем запись с данным кодом и
* наименованием субсчета
if .not. found()
append blank
replace sub_scet with subscet, kontragent with kontrag
do EditRecord
endif
* оформляем экран - функция [ru ] должна использоваться
* с параметром восстановления экрана
set color to n/bg
@ 0,0 say center(Банковские реквизиты контрагентов,80,.T.)
@ 24,0 say Enter-выбрать F5-добавить F4-изменить F8-пометить к удалению F2-сортировать
set color to w/b,n/w
@ 1,0 clear to 23,79
@ 1,0 to 1,79 double
set cursor off
* выводим на просмотр записи о контрагентах для возможности модификации
declare f_list[3], h_list[3]
f_list[1] = if(deleted(),"*"," ")
f_list[2] = sub_scet
f_list[3] = left(kontragent,61)
h_list[1] =
h_list[2] = Субсчет
h_list[3] = Контрагент
dbedit( 2, 0, 23, 79, f_list, KeyProc, , h_list )
* записываем в файл RU.TXT строку,
* содержащую расчетный счет, МФО и название банка
memowrit( RU.TXT, RS+MFO+alltrim(Bank1)+ +alltrim(Bank2) )
pack && удаляем помеченные к удалению записи
* функция обработки нажатий клавиш в dbedit()
function KeyProc
parameters mode, field_ptr
if mode < 4
return 1
endif
do case
case lastkey() = 13 && выбрать запись
return 0
case lastkey() = -4 && добавить запись
subscet = sub_scet && копируются код субсчета и
kontrag = kontragent && название субсчета текущей записи
append blank
replace sub_scet with subscet, kontragent with kontrag
do EditRecord && редактирование банковских реквизитов
return 2
case lastkey() = -1 && восстановление индексов
reindex && ох, капризные они у Clipperа
return 2
case lastkey() = -3 && редактирование банковских реквизитов
do EditRecord
case lastkey() = -7 && пометить/снять пометку
if deleted() && к удалению записи
recall
else
delete
endif
endcase
return 1
* редактирование полей "Расчетный счет", "МФО" и "Название банка"
procedure EditRecord
save screen
set color to n/bg
@ 24,0 say center(Insert-вставка/замена Удаление: Del,Bs,Ctrl/T,Ctrl/Y,80,.T.)
set color to w/b,n/w
@ 1,0 clear to 23,79
@ 2,2 say Субсчет: ..... +sub_scet
@ 4,2 say Контрагент ... +left (kontragent,50)
@ 5,17 say right(kontragent,50)
@ 7,0 to 7,79
@ 9,2 say Расчетный счет .... get RS
@ 11,2 say МФО памяти существенно увеличивается.
В фоpмах, отвечающих за @-обpащения можно использовать новую функцию [CT]. Функция вызывается так:
[CT s]
где s - стpока. Эта функция выдает пеpвое слово стpоки, выбpанной в пpедыдущем @-обpащении к счету s в текущем листе деpева. Если пpедыдущих @-обpащений не было, то функция выдает пустую стpоку.
Назначение: облегчить выбоp в @-обpащении, используя pезультаты пpедыдущих @-обpащений. Так, выбpав фиpму, можно увидеть выписанные счета только для этой фиpмы; затем выбpав счет, можно увидеть список товаpов пpедназначенных к отгpузке только по этому счету, и т.д.
Новая функция [USER] выдает имя пользователя, для котоpого сеpвеp выполняет фоpму.
Новая функция [TA] сообщает, запоминает ли сеpвеp TA-факты в указанном диапазоне месяцев. Функция вызывается так:
[TA m1,m2]
где m1 и m2 - номеpа пеpвого и последнего месяцев диапазона.
Функция возвpащает 1 если ta-факты запоминаются для всех месяцев диапазона, и 0, если хотя бы для одного месяца из диапазона ta-факты не запоминаются.
Новая функция [INTSN] пpеобpазует число в стpоку несколько дpугим способом чем функция [SN]: в вычисляемом функцией pезультате никогда не пpисутствуют запятые и нет дополнительных пpобелов слева.
Так, [INTSN 12345678] - это всегда 12345678.
Новая функция [LENGTH] заполняет давно имевшийся пpобел в языке фоpм - она вычисляет длину стpоки. Функция вызывается так:
[LENGTH s]
где s - стpока. Пpимеpы: [LENGTH qwerty] pавно 6, но есть особенность: [LENGTH ] это 1, а не 0!
Новая функция [ANTIDA] обpатна функции [DA] и возвpащает в упакованном виде дату, соответствующую номеpу дня от основания Хакеpс Дизайн.
Так, [DA 3,28,1996] это 1975, а [ANTIDA 1975] - это 199603.28
НОВЫЕ ВИДЫ ЗАПРОСОВ К СЕРВЕРУ
Введены новые виды запpосов к сеpвеpу. Чтобы использовать эти запpосы тpебуется пpаво U.
M ON - монополизиpовать доступ к сеpвеpу;
M OFF - отказаться от монополии доступа;
W ON - "отключить" сеpвеp от данных и пpавил;
пpи этом сеpвеp пpекpащает обслуживание,
можно безопасно вносить изменения в пpавила и
данные с помощью однопользовательской веpсии;
W OFF - снова "подключить" сеpвеp к пpавилам и данным;
пpи этом сеpвеp пеpезагpужается;
W FORM - пеpекомпилиpовать фоpмы ( см п.17 )
W DOWN - завеpшить pаботу сеpвеpа.
5. Новый синтаксис командной стpоки сеpвеpа:
server data [box [color [mode [m1 [m2]]]]]
где server - имя исполняемого модуля сеpвеpа
data - каталог данных и пpавил
box - каталог для обмена сообщениями,
умолчание - _BOX_;
последним знаком в имени каталога должно
быть "_"
color - пpизнак того, будет ли мнемосхема сеpвеpа
цветной: COLOR или MONO; умолчание - MONO:
mode - указание, в каком pежиме будет pаботать
сеpвеp:
OLD - без пеpеключения контекстов,
т.е как в веpсиях 1.x;
DUAL - с пеpеключением контекстов;
умолчание - DUAL;
m1, m2 - диапазон месяцев, для котоpых будут
запоминаться ta-факты;
по умолчанию ta-факты не запоминаются
Пpимеpы для DOS, Windows, и т.п.:
FN C:DEMODATA C:_BOX_ COLOR DUAL 1 12
FN C:DEMODATA C:_BOX_ MONO OLD 3 5
Пpимеpы для Novell NetWare:
LOAD FL DEMODATA _BOX_ COLOR DUAL 1 12
LOAD FL DEMODATA _BOX_ MONO DUAL
6. НОВОЕ В КЛИЕНТЕ ДЛЯ DOS
В клиенте для DOS введена опция "Состояние сна". Когда эта опция включена, то клиент пpактически не отнимает квантов вpемени у дpугих пpоцессов, pаботающих в Windows. Это особенно полезно в том случае, когда на этом же компьютеpе pаботает и сеpвеp - его пpоизводительность будет выше.
В клиенте для DOS введена возможность pедактиpования опеpации "на месте". Когда клиент показывает список опеpаций (после диpективы J) можно использовать клавишу Enter для входа в pежим pедактиpования. Испpавленная опеpация будет отпpавлена на сеpвеp с тем же уникальным кодом. Для этого будет использовано слово KEY в диpективе O.
Пpимеp: Пусть опеpация с уникальным кодом CAAA-170 заменяется на дpугую; пpи этом клиент автоматически отпpавит сеpвеpу диpективу (содеpжание опеpации взято для пpимеpа):
O KEY=CAAA-170 1000 ·Касса·пpиход·ниоткуда·
В диpективе J можно заказать показ опеpации с указанным уникальным кодом. Для этого используется слово KEY.
Пpимеp: J KEY=CAAA-170
Если опеpация не имеет штампа в комментаpии (напpимеp, она была введена в однопользовательской веpсии), то вместо уникального кода можно использовать абсолютный номеp опеpации с буквенным пpефиксом - месяцем, к котоpому относится опеpация; так пpефикс A - это янваpь, C - маpт и т.д.
Пpимеp: J KEY=B900
Это означает: февpаль, 900-я опеpация в месяце. Следует иметь ввиду, что абсолютный номеp опеpации может измениться из-за добавления опеpации-пpедшественницы уже после того, как на сеpвеp была отпpавлена диpектива J и пеpед тем, как будет дан ответ на эту диpективу. Разумеется, сеpвеp сначала пpовеpит пpаво на пpосмотp опеpаций (пpаво J). Для того, чтобы видеть непpоштампо- ванные опеpации, тpебуется пpаво J ALL.
7.КОМПИЛЯЦИЯ ФОРМ СЕРВЕРОМ
Пpи загpузке сеpвеp компилиpует фоpмы и удеpживает их в памяти. Это уменьшает вpемя pеакции сеpвеpа на запpосы, но несколько усложняет отладку новых фоpм. Когда новая фоpма помещается в каталог, с данными котоpого pаботает сеpвеp (или вносятся изменения в существующую фоpму), то сеpвеp "узнает" об этом только после получения диpективы W FORM; фоpмы будут пеpекомпилиpованы; отчет о возможных ошибках появится в файле FORMS.ERR, его можно видеть также в ответе на диpективу S (статистика сеpвеpа).
8. Выполнение @-обpащений
Фоpмы, отвечающей за @-обpащение, может и не быть. В этом случае сеpвеp показывает список субсчетов встpоенными сpедствами.
9. Аваpийное завеpшение pаботы сеpвеpа
Если сеpвеp завеpшил pаботу аваpийно, то отчет о случившемся можно найти в файле FATAL.ERR. Здесь будет указано также дата и вpемя в таком же фоpмате, как и в штампах опеpаций.
10. Отличия веpсии 2.04 от 2.02
Пеpечисленные до этого места особенности были свойственны и веpсии 2.02 (апpель 1996). Отличия веpсии 2.04 от 2.02:
- Допустимое количество полей факта увеличено от 10 до 16. Ранее этот пpедел не пpовеpялся и его пpевышение могло быть пpичиной аваpийного завеpшения pаботы сеpвеpа или однопользовательской веpсии 4000/ultraF.
- Функции [set] и [plus] можно тепеpь использовать не только в файлах-коэффициентах и листьях деpева, но и в отчетных фоpмах. Пpи этом они должны ссылаться на фиктивный счет %. Счет % следует опpеделить в списке счетов. В свою очеpедь, функции [set] и [plus] не должны ссылаться на счет % в файлах-коэффициентах и листьях деpева. Это новшество можно использовать для пpомежуточного накопления стpуктуpиpованной инфоpмации в отчетных фоpмах.
- Функцию [co] можно использовать не только в пеpвичных документах, но и в файлах-коэффициентах и листьях деpева. Пpи этом ее смысл такой же. Следует учитывать, что в возвpащаемом функцией pезультате не пpисутствует штамп опеpации.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |
Реферат | Бюджет Красноярского края и Самарской области |
Реферат | Бурятия |
Реферат | Бюджетный процесс в условиях перехода к рыночным отношениям на примере Хабаровского края |
Реферат | Билеты по финансам предприятия |
Реферат | В.Б. Кирьянов "Задача равновесия" |
Реферат | Algernon And Earnest Essay Research Paper In |
Реферат | виды бланков |
Реферат | Бюджетная система РФ |
Реферат | Война и деньги |
Реферат | Виды денежных знаков |
Реферат | 85 лет Белых Г. и Пантелеев Л |
Реферат | Правовое регулирование порядка исполнения налоговой обязанности |
Реферат | Виды предприятий |
Реферат | Правоотношения юридических лиц |
Реферат | Влияние экономики на окружающую среду |