Російський ринок економічних інформаційних систем ХАКЕРС ДИЗАЙН мережева система Фінанси без проблем

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство освіти РФ
Томський державний університет
Систем управління та радіоелектроніки
(ТУСУР)
Центр дистанційного навчання.
Кафедра автоматизованих систем управління (АСУ)
РЕФЕРАТ
з дисципліни: «Предметно-орієнтовані економічні інформаційні системи»
тема: «Російський ринок економічних інформаційних систем» «ХАКЕРС ДИЗАЙН»: мережева система «Фінанси без проблем».
Автор методичного посібника: М. М. Ісаков

Введення
Як би не лаяли телевізійну рекламу - вона запам'ятовується. Особливо тоді, коли рекламується продукція, товари або послуги тієї галузі, з якою ти професійно пов'язаний. Тому, більшості фахівців, так чи інакше пов'язаних з ринком програмного забезпечення в галузі економіки та фінансів надовго запам'яталася реклама тоді ще нікому невідомої і казна-звідки взялася фірми з Маріуполя, щовечірнє в 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. На екрані з'явився календар за Квітень.

Програма пропонує нам вказати дату початку періоду. Виберемо перший. Верхня межа "дужки" перемістилася на квітень. Перемістимо курсор на червень і натиснемо F5. Знову з'явився календар. Виберемо тридцятих. Нижня межа "дужки" перемістилася до червня.

Тепер звітним періодом є 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иятиях (Форма 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 Summer'87. При її "збірці" повинні використовуватись бібліотеки 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 'МФО ...............' get MFO
@ 13,2 say 'Банк одержувача ...' get Bank1
@ 14,2 say '' get Bank2
set cursor on
read
set cursor off
restore screen
Для використання програми необхідно штатними засобами обробки dbf-файлів створити файл BANK.DBF, що включає поля:
SUB_SCET - символьного типу, довжина 9,
KONTRAG - символьного типу, довжина 100,
RS - символьного типу, довжина 11,
MFO - символьного типу, довжина 10,
BANK1 - символьного типу, довжина 50,
BANK2 - символьного типу, довжина 50.
BANK.DBF повинен бути проіндексований по полю SUB_SCET. Ім'я індексного файлу - BANK.NTX.
Програма отримує від функції [ru] в якості параметра рядок, укладену в подвійні лапки (такі правила СУБД Clipper), яка містить код субрахунка і його найменування, розділені крапкою з комою.
Суть роботи програми полягає в тому, що вона шукає в списку записів файлу BANK.DBF запис, відповідну субрахунку, обраному за реєстрації операції в "Фінансах без проблем". Якщо такого запису немає, то програма пропонує ввести банківські реквізити контрагента.
Далі, в будь-якому випадку користувачеві пропонується на вибір список відомостей про контрагентів. Він може відкоригувати будь-який запис, позначити запис на видалення або додати нову. Після натискання на Enter, реквізити обраної записи об'єднуються в один рядок без всяких роздільників і записуються у файл RU.TXT, звідки їх і "підбирає" функція [ru].
Наведена програма може використовуватися в багатьох формах, що вимагають відображення банківських реквізитів. Ми наведемо приклад її використання у формі друку платіжного доручення. Скопіюйте файл PLATEZKA.RPT з директорії варіанти стандартної поставки в директорію PROBA, перейменуйте цей файл у PLAT_POR.RPT і внесіть такі зміни:


Тепер, змініть листя гілки "Розрахунковий рахунок витрата" дерева операцій наступним чином:


Зареєструємо операцію:


Виберіть "Створити документ". У відповідь на запит файлу-форми введіть номер документа, наприклад, 145. Стартував BANK.EXE і не знайшовши запису, відповідної субрахунку 60-001 "ТОО Вега" пропонує нам ввести банківські реквізити постачальника:

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

Після натискання на Enter відбувається повернення в "Фінанси без проблем" і завершення формування документа:

Використання функції [ru] може виявитися досить корисним. "Фінанси без проблем" написати важко, а невеликий "прибамбас" до них на Кліппер або Бейсік - не складає особливих труднощів.
Однак, не завжди функція [ru] дає ефективне рішення через втрату часу на завантаження зовнішньої програми і зчитування файлу RU.TXT. Особливо це стосується випадків її виклику з файлів-коефіцієнтів. Для подолання цього ускладнення у мові форм "Фінансів без проблем" є функція [DLLcall], що дозволяє викликати програми з DLL-бібліотеки. Вона має наступний формат:
[DLLcall library, index, data]
library - найменування бібліотеки DLL,
index - номеp викликається пpоцедуpу в бібліотеці,
data - стpок даних, пеpедаваться в пpоцедуpу.
Викликається процедура повинна помістити результат своєї роботи в передану рядок і DLLcall поверне її в якості свого значення.
З точки зору викликається процедури передається параметр data є покажчиком на рядок, що завершується нульовим байтом. Процедура повинна повернути результат у ту ж рядок, розглядаючи її як буфер з 128 байт. Повертається результат також повинен завершуватися нульовим байтом. При цьому значення рядка data не змінюється, оскільки викликається процедурі передається адреса проміжного буфера з копією значення рядка data.
Розглянемо приклад, що демонструє можливості використання функції DLLcall для адаптації "Фінансів без проблем" до національних мов.
Нижче наводяться вихідні тексти PASCAL-програм бібліотеки MOLDOVA, що містить дві експортуються процедури. Перша здійснює переклад числа в словесне уявлення, а друга видає назву місяця по його номеру молдавською мовою:
{$ A +, B-, D +, E +, F-, G-, I-, L +, N-, O-, P-, Q-, R-, S +, T-, V +, X +}
{$ M 16384,0,0}
library MOLDOVA;
uses strings;
type Sex = (male, female);
Var Number: longint;
ER: integer;
Frase: string;
F: text;
Level: integer;
function StrNumS (R: longint; f: Sex): string;
var N, L: longint; s: string;
const D0: array [0 .. 19] of string [20]
= ('',' Unu ',' doi ',' trei ',' patru ',' cinci ',' sase ',' sapte ',' opt ',
'Noua', 'zece', 'unsdivzece', 'doisdivzece', 'treisdivzece',
'Paisdivzece', 'cincisdivzece', 'sasesdivzece', 'saptesdivzece',
'Optsdivzece', 'nouasdivzece');
D1: array [1 .. 9] of string [20]
= ('Zece', 'douazeci', 'treizeci', 'patruzeci', 'cincizeci', 'saizeci',
'Saptezeci', 'optzeci', 'nouazeci');
D2: array [1 .. 9] of string [20]
= ('O suta', 'doua sute', 'trei sute', 'patru sute', 'cinci sute',
'Sase sute', 'sapte sute', 'opt sute', 'noua sute');
begin
inc (Level, 1);
if R <0 then StrNumS: = 'Minus' + StrNumS (-R, f)
else if R = 0 then StrNumS: =''
else if R = 1 then
if Level = 1 then
StrNumS: = 'un'
else
StrNumS: = 'unu'
else if R <= 19 then begin
StrNumS: = D0 [R] + '';
if f = female
then if R = 1 then StrNumS: = 'про'
else if R = 2 then StrNumS: = 'doua';
end
else if R <= 99 then begin
if (R mod 10) <> 0 then
StrNumS: = D1 [R div 10] + 'si' + StrNumS (R mod 10, f)
else
StrNumS: = D1 [R div 10] + '' + StrNumS (R mod 10, f)
end
else if R <= 999 then StrNumS: = D2 [R div 100] + '' + StrNumS (R mod 100, f)
else if R <= 1999 then begin
StrNumS: = 'o mie' + StrNumS (R mod 1000, f);
end
else if R <= 2999 then begin
StrNumS: = 'doua mii' + StrNumS (R mod 1000, f);
end
else if R <= 99999 then begin
L: = R div 1000;
N: = L mod 10;
s: = 'mii';
if N = 1 then s: = 'mie';
StrNumS: = StrNumS (L, female) + s +
StrNumS (R mod 1000, f);
end
else if R <= 999999 then begin
L: = R div 1000;
N: = L mod 10;
s: = 'de mii';
StrNumS: = StrNumS (L, female) + s +
StrNumS (R mod 1000, f);
end
else if R <= 1999999
then begin
StrNumS: = 'un milion' +
StrNumS (R mod 1000000, f);
end
else if R <= 2999999
then begin
StrNumS: = 'doua milioane' +
StrNumS (R mod 1000000, f);
end
else if R <= 999999999
then begin
L: = R div 1000000;
N: = L mod 10;
s: = 'milioane';
StrNumS: = StrNumS (L, male) + s +
StrNumS (R mod 1000000, f);
end
else if R <= 1999999999
then StrNumS: = 'un miliard' +
StrNumS (R mod 1000000000, f)
else StrNumS :='****** N> 1,999,999,999 ******';
end;
procedure P (s: pChar); export;
var i, n: longint; c: integer;
q, t: string;
begin
q: = StrPas (s);
t :='';
for i: = 1 to length (q)
do if q [i] <> ','
then t: = t + q [i];
Val (t, n, c);
if c <> 0
then q: = 'ERROR'
else q: = StrNumS (n, male);
q [1]: = upcase (q [1]);
StrPcopy (s, q);
end;
const M: array [1 .. 12] of string [20] =
('Ianuarie', 'februarie', 'martie', 'adivlie', 'mai', 'iunie', 'iulie',
'August', 'septembrie', 'oktombrie', 'noembrie', 'decembrie');
procedure Q (s: pChar); export;
var q: string; n, c: integer;
begin
q: = StrPas (s);
Val (q, n, c);
if c <> 0
then q: = 'ERROR 1'
else if (n <0) or (n> 12)
then q: = 'ERROR 2'
else q: = M [n];
StrPcopy (s, q);
end;
exports P index 1;
exports Q index 2;
begin
end.
Після компонування бібліотеки moldova.dll та розміщення його в директорії файлів даних бухгалтерії, можна викликати містяться в ньому процедури з файлів-форм. Наведені процедури можна використовувати при підготовці первинних документів на молдавській мові замість вбудованих в "Фінанси без проблем" "російськомовних" функцій [wn] і [dt]. Ми, однак, робити цього не будемо і перевіримо працездатність функції [DLLcall], викликавши її прямо з калькулятора:

Так по молдавськи пишеться 2458051. А ось так пишеться слово 'вересня':

"Фінанси без проблем" для Windows
Починаючи з лютого 1995 року користувачам поставляється версія програми "Фінанси без проблем" для Windows. Вона повністю сумісна з версією 4000 для DOS. Тут немає ніяких відмінностей ні в концепції, ні в структурі файлів, ні в базовому наборі функцій мови форм. Всі розглянуті до цих пір в книзі приклади однаково придатні як для DOS, так і для Windows версій. Саме тому акцент робився на використанні DOS версії програми, як істотно більш поширеною.
У той же час, у версії для Windows підтримуються основні додаткові можливості, що надаються цією операційною системою. Основні відмінності полягають у наявності багатовіконного інтерфейсу, а також можливості організувати фонові обчислення та взаємодія з іншими Windows-програмами на основі динамічного обміну даними (DDE).
Перш, ніж перейти до розгляду цих нових можливостей, розберемо процес інсталяції Windows-версії програми.
Windows-версія "Фінансів без проблем" висуває більш жорсткі вимоги до апаратного забезпечення, ніж версія 4000 для DOS. У якості мінімальних вимог до апаратури розробниками вказується наявність процесора 286 з обов'язковим співпроцесором 287, 2Мб пам'яті і відеоадаптера VGA. При написанні книги використовувався комп'ютер 386DX без співпроцесора з 4Мб пам'яті і монітором 14 ". У даній конфігурації DOS версія працює чудово, а версія для Windows прийнятно. І якщо розрахунки проводяться досить швидко, то про швидкість оновлення екрану цього сказати не можна. Втім, будь-які Windows -додатки при такій конфігурації працюють неквапливо. Істотно приємніше працювати з програмою при наявності процесора 486DX. При використанні програми в багатовіконному режимі особливо важлива наявність "великого" монітора. Тут гарним варіантом є монітор 17 "при роздільній здатності 1024х768. У цьому випадку вікна дійсно є вікнами з хорошою обозреваемость і можливості програми можна відчути повною мірою.
Установка програми дуже проста. Після запуску Windows необхідно стартувати з дискети файл FINSETUP.EXE. На екрані з'являється "смугастий" фон і вікно "Тест системного шрифту" установника програми. Для роботи необхідно мати, як мінімум, два кириличних шрифта: системний шрифт (System font) і системний шрифт з однаковою шириною всіх букв (System fixed font). Для перевірки наявності цих шрифтів у вікні виводиться тест за яким можна візуально визначити їх підключення до Windows.
Якщо який-небудь шрифт відсутній, то необхідно натиснути кнопку "Ні, потрібна кирилиця". У результаті цього в каталог Windows будуть додані шрифти FINWSYS.FON і FINWFIX.FON, а в файл SYSTEM.INI внесені необхідні зміни. При цьому, попередня копія SYSTEM.INI буде збережена у файлі SYSTEM.OLD. Після цього буде проведений рестарт Windows, а потім завантаження тесту. Після підключення шрифтів з кирилицею для продовження процесу інсталяції натисніть клавішу "Так, рядки в рамках видно нормально".
На екрані з'явиться основне вікно інсталятора програми. Провівши мишею по пунктах діалогу цього вікна, ознайомтеся з відповідними їм "балонами" допомоги і встановіть потрібні значення. Далі, слідуючи вказівкам інсталятора введіть отриманий від "Хакерс Дизайн" ключ прив'язки програми, аналогічно установці DOS-версії.
При установці програми можна підключити до неї свою базу даних. Для цього треба поставити "хрест" близько фрази "Підключити свою базу даних", вказати шлях до директорії її розміщення і найменування.
У процесі встановлення на жорсткий диск будуть переписані файли оболонки програми (FINW.EXE, FINW.HLP), файл ключа прив'язки (FINW.COD), а також файли установника (FINWDDE.EXE), DDE-сервера (FINWDDE.EXE) і файл з інформацією про програму (FINW.TXT).
При установці будуть створені (якщо відсутні) каталоги C: \ FINW \ EXAMPLE, C: \ FINW \ EXCHANGE, C: \ FINW \ FILM, C: \ FINW \ UTILS. У каталог C: \ FINW \ EXAMPLE будуть скопійовані файли, склад яких повністю аналогічний тому, що стосовно до DOS-версії ми називали комплектом (варіантом) стандартної поставки. Єдиним винятком тут є файли у форматі Excel (DIRECTOR.XLS) і Lotus-123 (YEAR.WK4), що містять приклади організації динамічного обміну даними "Фінансів без проблем" з іншими Windows-додатками. Вміст каталогів C: \ FINW \ EXCHANGE і C: \ FINW \ FILM повністю ідентично тому, що при встановленні DOS-версії ми скопіювали в директорії \ FBP \ STANDART \ EXCHANGE і \ FBP \ STANDART \ ROLIK. Тут знаходяться приклади правил використання програми в обмінному пункті валюти та демонстраційні ролики, присвячені деяких питань використання програми, відповідно. В директорію C: \ FINW \ UTILS при інсталяції копіюються утиліта SUF.EXE, призначена для злиття інформації декількох робочих місць і консолідації балансів декількох підприємств, а також файли перетворювачів формату даних першої, другої і третьої версій в четверту. Крім цього, сюди будуть переписані програмні файли RTM.EXE, DPMI16BI.OVL, DPMINST.EXE, що забезпечують роботу утиліти SUF в захищеному режимі процесора.
У ході інсталяції створюється група "Фінанси без проблем". У ній будуть присутні іконки "Help", "ReadMe", "Fin Setup", "DDE-server", "Example", "Exchange", "Film", призначення яких відповідає інформації, розміщеної у вказаних директоріях. Крім цього, якщо в основному вікні установника Ви вимагали підключення своєї бази даних, то в групі "Фінанси без проблем" буде присутній піктограма з її назвою.
Також, як і при використанні DOS-версії є можливість обслуговування за допомогою однієї копії програми декількох бухгалтерій. Якщо відповідні їм директорії з файлами даних і форм вже існують, досить повторно викликати установник вже не з дискети, а з вікна групи "Фінанси без проблем". Тепер у його головному вікні буде доступна тільки можливість підключення нової бази даних. Діючи аналогічно основного процесу інсталяції, вкажіть шлях і назву бази даних і постановник розмістить її піктограму у вікні групи. Кількість підключаються таким чином баз даних нічим не обмежена.
Розглянемо тепер основні відмінності використання Windows-версії програми.
Як вже говорилося, головною відмінністю є можливість розміщення на екрані декількох вікон програми одночасно і організації фонових обчислень. Так, наприклад, можна одночасно відкрити на екрані вікна операцій та оборотного балансу.
Запустіть "Фінанси без проблем" і максимізуйте вікно програми. Відкрийте вікно реєстру операцій, а потім вікно оборотного балансу. Зверніть увагу, що в меню з'явилися нові пункти Window і Edit. У меню Window виберіть пункт "Tile по вертикалі". Тепер видно одночасно обидва вікна.

Тепер спробуйте вводити операції. Після завершення введення операції вікно "Обороти рахунків" на якусь мить виявиться перекресленим. А потім у ньому зміняться рядки, відповідні рахунками, сальдо і обороти яких змінилися. Таким чином, якщо вікно "Обороти рахунків" відкрито, то при введенні нових операцій або редагуванні існуючих, здійснюються фонові обчислення, оновлюючі сальдо і обороти рахунків. При цьому можна спокійно продовжувати роботу - обчислення кожного разу будуть "відкидатися" назад, але процесорний час буде використовуватися ефективно: в той момент, поки Ви шукаєте на клавіатурі потрібну клавішу, програма працює на Ваше благо. Коли в її розпорядженні виявиться достатньо часу, щоб завершити обчислення, перекреслення з вікна "Обороти" рахунків ізчезнут і його вміст буде оновлено.
У Windows-версії трохи інакше реалізовані функції синтаксичного контролю правил. Так, при видаленні або зміну гілки дерева, зареєстровані на її основі операції вже не "блимають", але в них закресленими виявляються фрази, відповідні відсутнім гілкам:

Коди рахунків і субрахунків, відсутніх у плані рахунків, в дереві операцій також виявляються закресленими:

Також, як і при виконанні фонових обчислень, при наявності невірних даних вікно оборотного балансу перекреслюється.
У порівнянні з DOS-версією спростився процес пошуку помилок. За їх наявності в нижньому рядку вікна програми завжди присутня кнопка з написом "Де помилка?" і поряд з нею пояснення про тип помилки. Досить клацнути мишею по цій кнопці або натиснути Alt / E і "Фінанси без проблем" прямо відправлять Вас до місця її виникнення. Іноді, повторні натискання клавіші "Де помилка?" активують ще одне вікно, щоб дати додаткову інформацію. Наприклад, в якої-небудь операції виникло розподіл на нуль. Тоді перше натискання на кнопку виведе Вас на відповідний лист дерева операцій, а повторне вкаже на операцію, в якій ця ситуація виникла.
Після виправлення всіх помилок кнопка зникає. Тепер оборотний баланс може бути побудований і перекреслення з вікна "Обороти рахунків" знімається.
Програма має особливості при роботі з принтерами. Вважається, що Windows сама повинна виконувати всю роботу з друку. Однак, часто виявляється, що через безлад з наборами шрифтів і опціями драйверів виникають серйозні проблеми. "Фінанси без проблем" вирішують цю проблему радикально. Тут, деталі зображення призначеного для виводу на принтер готуються в пам'яті комп'ютера у вигляді графічного образу і, далі, перетворюються для конкретного принтера з підходящим для нього коефіцієнтом поточечно розширення. Такий метод дозволяє друкувати російський текст на будь-яких принтерах, здатних виводити графіку, маючи тільки системні шрифти екрану з кирилицею. При цьому виходить задовільну якість друку, в тому числі на кольорових принтерах.
Є відмінності і при виконанні форм. У DOS-версії файли-форм, "вступають" в діалог з користувачем при кожному "питанні" зупиняються, очікуючи відповіді. У Windows-версії, коли одночасно може бути відкрито кілька вікон, такий підхід неприйнятний, оскільки вікно форми має динамічно оновлюватися при внесенні змін у дані. У цьому випадку, при кожному оновленні вихідних даних вікно форми було б змушене для рестарту розрахунків пропонувати відповісти на "цікавлять" форму питання. Це було б дуже настирливо. Тому, розробники передбачили наступний порядок роботи. При першому запуску форми в її верхній частині створюється розділ питань:

Після відповіді користувача на всі питання і натискання клавіші Всі виконується розрахунок показників форми і нижня частина вікна заповнюється результатом її виконання. При зміні первинних даних форма більше не буде чекати нових відповідей на "цікавлять" її питання, а буде виконувати перерахунок на основі встановлених раніше значень. Зважаючи на це, внесені невеликі обмеження в мову форм. Тепер тексти запитань і відповідей значення за замовчуванням функцій IR, IS, IA, IY повинні бути константами, оскільки інформація про них повинна бути відома програмі для можливості спланувати розміщення елементів екранної форми.
Іншою зміною, що стосується функцій, є те, що ігнорується третій аргумент функції [ru]. Як запускається програми може фігурувати PIF-файл, в якому і вказуються всі необхідні параметри.
Деякі зміни торкнулися і складу опцій програми. У Windows-версії відсутні (назавжди включені) опції "Економити пам'ять", "Швидкі форми", "Синтаксис підсвічений", "Спочатку всі помилки". З'явилася опція "Шрифт". За замовчуванням використовується шрифт System. У той же час, при роботі з "маленьким" монітором іноді буває зручно вибрати інший шрифт для більш компактного представлення даних на екрані.
Для незалежності від русифікаторів Windows введена опція "Російський зовнішній / свій ЙЦУКЕНГ / свій ЯВЕРТИУ". Включивши "Російський свій" навіть за відсутності русифікаторів є можливість вводити з клавіатури символи кирилиці, перемикаючись з російської на латинський клавішею Alt-R.
Для управління печаткою використовуються опції "Принтер: черно-белий/цветной" і "Ліве поле паперу". Включення першої опції в положення "Кольоровий" дозволяє друкувати в кольорі або з використанням градацій сірого кольору. Проте, в цьому випадку, вивід на друк вимагає більше часу і місця на диску. Опція "Ліве поле друку" не залежить від типу принтера і дозволяє встановити відступ на 0,1 або 2 см.
"Фінанси без проблем" для Windows повністю підтримують механізм динамічного обміну даними (DDE) між додатками Windows. При цьому, програма й сама може бути ініціатором DDE-"спілкування", так і виступати DDE-сервером для інших додатків.
Розглянемо використання "Фінансів без проблем" як DDE-сервера. Для цього використовується спеціальна утиліта FINWDDE.EXE, що входить в комплект поставки програми. Їй відповідає своя піктограма "DDE-сервер".
Використання DDE-сервера розберемо на прикладі обчислення "віддаленій формули в Microsoft Excel.
Запустіть "Фінанси без проблем". Далі, перейдіть на диспетчер програм завантажте Excel. До складу комплекту поставки "Фінансів без проблем" входить файл DIRECTOR.XLS. Він розміщується в директорії \ FINW \ EXAMPLE. Відкрийте його. При завантаженні даної таблиці Excel задасть питання: "Даний документ містить зв'язку. Перевстановити зв'язку?". Дайте відповідь "Так". Далі, послідує питання "Немає доступу до віддалених даних. Запустити програму 'FINWDDE.EXE'?" Також дайте відповідь "Так". Excel запустить FINWDDE.EXE, яка встановить зв'язок між Excel і "Фінансами без проблем". Погляду відкриється наступна картина:

Поставте курсор в клітину D1. Там міститься формула:
= FINWDDE | 'C: \ FINW \ EXAMPLE'! '[Ea 50] + [ea 51] + [ea 52]'
Обчислюючи цю формулу Excel звертається до FINWDDE, а та, у свою чергу, до "Фінансів без проблем" з "проханням" вирахувати формулу [ea 50] + [ea 51] + [ea 52]. Якщо "Фінанси без проблем" можуть обчислити передану формулу, результат розрахунку відобразиться у відповідній клітині. Якщо у формулі буде виявлена ​​помилка, то в клітці таблиці відобразиться повідомлення про зміст помилки. Спробуємо, наприклад, змінити формулу таким чином:
= FINWDDE | 'C: \ FINW \ EXAMPLE'! '[Ea 50] + [ea 51 + [ea 52]'
Після завершення редагування в клітці D1 з'явиться повідомлення:
"# ERR: Рахунок 51 + [ea відсутня"
Відповідно до цього зміниться і діаграма. Змініть неправильний запис. Після завершення редагування все повернулося на свої місця.
Тепер, оскільки зв'язок встановлено, виконання нових операцій у "Фінансах без проблем", які зачіпають рахунки, сальдо яких використовується для розрахунку показників таблиці, буде викликати автоматичне оновлення даних у клітинах і на діаграмі. Зареєструйте, наприклад, операції зменшують сальдо грошових рахунків і запаси товару. Можна бачити, як "стрибають" стовпчики діаграми і змінюються значення в клітинках таблиці. При цьому, якщо ще йдуть фонові обчислення, то в клітинах відображаються значення "# BUSY".

"Фінанси без проблем" і технологія "клієнт-сервер"
Останнім часом стало надзвичайно популярним використання локальних обчислювальних мереж. Багато постачальники "заліза" та програмного забезпечення пропонують на ринку відповідну продукцію. У розвитку комп'ютерних технологій відбувається, як би виток спіралі: перехід до мережевих технологій в середині 90х років відбувається так само бурхливо, як відмова від централізованої обробки даних на користь персональних ЕОМ на початку 80х. Створюється враження, що використання технології "клієнт-сервер" стає чи не одним з критеріїв респектабельності фірми. Гасло "А ти записався добровольцем?" змінився гаслом "А в твоєму офісі використовується технологія клієнт-сервер?".
Не відстають від загального захоплення і розробники систем автоматизації бухгалтерського обліку. І якщо до середини 1993 року гонка йшла в напрямку автоматизації все більшого і більшого числа облікових процедур, то тепер основними критеріями стали "SQL-ність" і "клієнт-серверна".
А що ж "Хакерс Дизайн"? Чи збирається фірма запропонувати своїм користувачам мережеву версію?
Так, збирається. До моменту закінчення книги бета-тестування проходила мережева версія програми "Фінанси без проблем", призначена для використання в локальній обчислювальній мережі на основі використання технології "клієнт-сервер". При цьому "Хакерс Дизайн" пропонує таку реалізацію технології мережевої обробки даних, які в максимальній мірі орієнтована на специфіку вирішення саме бухгалтерських завдань. Практично, це означає, що реалізований спеціалізований сервер "Фінансів без проблем", здатний працювати в будь-яких мережевих середовищах.
На сервері розміщуються план рахунків, дерево видів операцій та їх реєстри. Практично вся обробка даних виконується сервером. Це, на думку розробників, дозволяє використовувати в мережі слабкі робочі станції, які, фактично, є просто терміналами. При цьому декларується можливість використання в якості станцій будь-яких типів ЕОМ.
Як би там не було, але використання мови SQL у "спільному" вигляді залишає систему обробки даних на рівні низькорівневих транзакцій. Стосовно до системи автоматизації бухгалтерського обліку це означає, що відпрацювання звернень до масиву проводок на сервері так чи інакше пов'язана з цілим числом транзакцій по відношенню до однієї проводці. Таким чином, контирування одного документа так чи інакше потребує більше однієї транзакції. Чим більше проводок, тим більш уповільненою виявляється реакція системи.
Враховуючи те, що в "Фінансах без проблем" мінімальною одиницею інформації і, отже, одиницею обміну з сервером, є операція, в загальному випадку визначає не одну, а безліч проводок, то тут на одну транзакцію доводиться більший обсяг даних, а сама база даних при розумному побудові дерева операцій виявляється більш компактною, ніж у системах побудованих "від проводки". Отже, чисто теоретично (оскільки подібного роду тестування автор не проводив) від такої побудови системи обробки інформації можна чекати більшої продуктивності.
У мережній версії програми реалізована багатоступенева система захисту даних від несанкціонованого втручання. Так, зокрема, рядовим користувачам заборонено редагувати дерево видів операцій, видаляти рахунки і субрахунки, є можливість обмеження доступу до гілок дерева і редагування даних минулих періодів, аж до обмеження доступу поточним днем.
"Фінанси без проблем версія 2.04". Відмінності від версії 1.0
1. Новий механізм пеpеключения контекстів
Новий механізм пеpеключения контекстів для втручання в пpошлое без затpудненія АДВОКАТУРИ в pеальном часової. Для пояснення суті механізму Пpиведем упpощенний Алгоpитм АДВОКАТУРИ сеpвеpа:
Крок 1. Пpи стаpте сеpвеp виконує "збивання" балансу до pеальной дату і запам'ятовує своє обчислювальне стан в робочій області D - контексті.
Крок 2. Сеpвеp копиpуется контекст D в контекст D 'і вважає контекст D' активним.
Крок 3. Сеpвеp очікує запpос. Припустимо, запpос надійшов.
Якщо це запpос на виконання Форма (R), на показ списку опеpации (J), або на обчислення виpаженія (E), то він виконується без змін у контекстах D і D ', і сеpвеp знову пеpеходят до кроку 3.
Якщо це введення або видалення (O або D) опеpации в pеальной дати, то сеpвеp вносить відповідні зміни в активний зараз контекст D 'і знову пеpеходят до кроку 3.
Якщо це введення (або видалення) опеpации в пpошлом, то сеpвеp пеpеходят до кроку 4.
Крок 4. Сеpвеp вважає тепеpь активним контекст D, а не D '(пеpеключает контексти)
Крок 5. Після втручання у пpошлое сеpвеp "навеpстивает" своє обчислювальне стан в контексті D, пpодолжіл в цей же вpемя очікувати запpос.
Якщо запpос надійде, то сеpвеp "відвернеться" для його виконання до кроку 6, а потім знову пpодолжіт виконання Кроку 5.
Коли всі необхідні зміни в контексті D будуть зроблені, сеpвеp пеpейдет до кроку 2.
Крок 6. Сеpвеp перемикає контекст з D на D 'і виконує запpос.
Якщо це введення або видалення (O або D) операції в реальну дату, то сеpвеp вносить відповідні зміни в активний зараз контекст D '.
Якщо це введення або видалення опеpации в пpошлом, то сеpвеp вiдповiдним чином зменшить ступінь готовності контексту D так що "навеpстиваніе" в Кроці 5 відновиться, можливо, з більш pанней стадії.
Запpос на виконання фоpм виконуються тут "умовно веpно" - в пpедположение, що втручання в пpошлое не було. У кінець Форма поміщається пpедупpеждал штамп.
Сеpвеp пеpеключает контекст з D 'на D і пpодолжают виконання Кроку 5.
Сеpвеp може pаботать як з пеpеключение контекстів, так і без нього. Відповідний pежим можна ВИБІР вказавши ключові слова DUAL або OLD в запускає командного стpок.
Слід враховувати, що в pежим з пеpеключение контекстів потpебность в опеpатівной пам'яті пpимеpно подвоюються.
Для того, щоб пеpеключение контекстів виконувалося бистpо, слід так оpганизовать pазмещеніе сеpвеpа в пам'яті, щоб уникнути "підкачки" КОМІСІЯ з диска (відноситься до Windows, OS / 2 і т.д.).

3. Запам'ятовування детальної КВАЛІФІКАЦІЙНА про виконані проводки

Введено новий pежим АДВОКАТУРИ сеpвеpа - із запам'ятовуванням детальної КВАЛІФІКАЦІЙНА про виконані проводки.
Це дозволяє бачити проводки опеpаціі, аналізіpовать рахунку, отримувати обоpотние відомості за будь-пеpиод.
Для запам'ятовування використовується механізм фактів. Пpимеp. Нехай пpи обpаботке опеpаціі з ключем CAAA-170 сеpвеp виконує проводки:
дебет X кpедо Y сума 100,
і після цієї проводки залишок рахунку X становить 1100, а залишок рахунку Y складає 900.
Після виконання цієї проводки, до списку фактів сеpвеp додасть два нових факту:
fact ta 'X', 100, 0, 'Y', 1100, 'CAAA-170'
fact ta 'Y', 0, 100, 'X', 900, 'CAAA-170'
Такі факти про проводки будемо називати ta-фактами. Ta-факти использут новими Встpоенного в сеpвеp Форма:
__SYS000 * Список пpоводок по опеpации
__SYS001 * Обоpот рахунків
__SYS002 * Обоpот субрахунків
__SYS003 * Аналіз рахунка
__SYS004 * Аналіз коppеспонденціі
__SYS005 * Коppеспонденціі рахунку синтетично
__SYS006 * Коppеспонденціі рахунку детально
Сеpвеp може pаботать як із запам'ятовуванням ta-фактів, так і без нього. Можна запам'ятовувати ta-факти не у всіх місяцях. Відповідний pежим можна ВИБІР вказавши, діапазон місяців для запам'ятовування ta-фактів в запускає командного стpок.
Слід враховувати, що в pежим із запам'ятовуванням ta-фактів потpебность сеpвеpа в опеpатівной пам'яті суттєво збільшується.

4. Нові функції мови фоpм

У Форма, що відповідають за @-обpащения можна використовувати нову функцію [CT]. Функція викликається так:
[CT s]
де s - стpок. Ця функція видає пеpвое слово стpок, ВИБІР в пpедидущем @-обpащении до рахунку s в поточному аркуші де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обел ліворуч.
Так, [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овать Форма (см п.17)
W DOWN - заве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 12 січня
FN C: \ DEMODATA C: \ _BOX_ MONO OLD 5 березня
Пpимеp для Novell NetWare:
LOAD FL DEMODATA _BOX_ COLOR DUAL 12 січня
LOAD FL DEMODATA _BOX_ MONO DUAL
6. НОВЕ В КЛІЄНТА ДЛЯ DOS
У клієнтові для DOS введена опція "Стан сну". Коли ця опція включена, то клієнт п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ектіви W FORM; Форма будуть пеpекомпіліpовани; звіт про можливі помилки з'явиться у файлі FORMS.ERR, його можна бачити також у відповіді на діpектіву S (статистика сеpвеpа).
8. Виконання @-обpащения
Форма, що відповідає за @-обpащение, може і не бути. У цьому випадку сеpвеp показує список субрахунків Встpоенного сpедствам.
9. Аварійних завеpшенности АДВОКАТУРИ сеpвеpа
Якщо сеpвеp завеpшіл АДВОКАТУРИ аварійних, то звіт про те, що трапилося можна знайти у файлі FATAL.ERR. Тут буде вказано також дата і вpемя в такому ж фоpмат, як і в штампах опеpации.
10. Відмінності веpсии 2.04 від 2.02
Перерахованих до цього місця особливості були властиві і веpсии 2.02 (апpеле 1996). Відмінності веpсии 2.04 від 2.02:
- Допустима кількість полів факту збільшено від 10 до 16. Раніше цей пpедел НЕ Перевіряйте і його пpевишеніе могло бути пpичиной аварійних завеpшения АДВОКАТУРИ сеpвеpа або однокористувальницької веpсии 4000/ultraF.
- Функції [set] і [plus] можна тепеpь використовувати не тільки у файлах-коефіцієнти і листі деpева, але і у звітних Форма. Пpи цьому вони повинні посилатися на фіктивний рахунок%. Рахунок% слід опpеделить в списку рахунків. У свою очеpедь, функції [set] і [plus] не повинні посилатися на рахунок% у файлах-коефіцієнти і листі деpева. Це нововведення можна використовувати для пpомежуточного накопичення стpуктуpіpованной КВАЛІФІКАЦІЙНА в звітних Форма.
- Функцію [co] можна використовувати не тільки в пеpвічних документах, але й у файлах-коефіцієнти і листі деpева. Пpи цьому її сенс такої ж. Слід враховувати, що в возвpащается функцією pезультате НЕ коли поpуч є штамп опеpации.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
184.4кб. | скачати


Схожі роботи:
Засоби організації економічних інформаційних систем
Правове регулювання створення та використання інформаційних технологій інформаційних систем
Без проблем здолаємо
Фінанси гроші бюджетна кредитна і банківська системи РФ валютний ринок і ринок цінних паперів
Використання корпоративних інформаційних систем систем класу MRPIIERP для управління виробництвом
Сутність і динаміка глобальних економічних проблем сучасності 2
Сутність і динаміка глобальних економічних проблем сучасності
Фінанси в міжнародних економічних відносинах
Ринок інформаційних послуг
© Усі права захищені
написати до нас