Автоматизация основных средств
Содержание
Введение
1. Определение учета основных
средств и автоматизации
.1 Определения учета основных
средств
.2 Технические средства
автоматизации учета ОС
.3 Синтетический учет поступления и
выбытия ОС
. Автоматизация учета ОС
.1 Автоматизация учета ОС в
программе 1С Бухгалтерия
Заключение
Список использованной литературы
Приложение
Введение
Каждая организация осуществляет хозяйственную
деятельность, а следовательно фиксирует документально для предоставления в
налоговые органы, для инвесторов, кредиторов. С появлением персонального
компьютера и программ, появилась возможность автоматизированная обработка
первичной документации.
Организации отличаются не только по масштабу, но
и отраслевому признаку. Следовательно, для каждой организации необходимо разрабатывать
индивидуально с какими именно сырьем работает. Так производство булочки, будет
отличаться от производства парника. Не одинаковый режим налогообложения у
разных организаций.
Активы организации, следовательно, разные, так
для производства хлеба и производства железного забора необходимы разные активы
организации.
Сейчас использование информации на разных
организациях, производства стало частью хозяйственной деятельности.
Следовательно, применение информации позволяет автоматизировать операции по
оформлению поступлению, перемещению, выбытию основных средств. Рассмотрю, как
можно осуществлять контроль учета объекта основных средств и состояния объектов
основных средств данного предприятия. Под учетом основных средств я буду
рассматривать все методы и средства для реализации отдельной организации.
Которая позволит получить информацию о каждом объекте учета основных средств
отдельно взятый момент времени.
Актуальностью данной темы заключается в
следующем, рассмотреть автоматизацию основных средств, поскольку программ много
и порой не понятно где начинается документный оборот и начинается
автоматизация. Целью данной работы будет являться рассмотрение введение
автоматизации основных средств. Для выполнения данной цели я решу следующие
задачи:
) рассмотрю, автоматизация бухгалтерского учета,
как основа эффективного управления организацией — на основе информации, которая
содержится во входных документах обеспечивающая ввод данных по объектам
основных средств;
) какие требования к автоматизированной системе при
учете основных средств на организации — рассмотрю хранение информации из базы
данных в удобной для учета основных средств;
) рассмотреть автоматизацию учета основных
средств на организации и подготовка финансовой отчетности в налоговые органы.
Объектом исследования будет учет основных средств на ООО «Вербилово», а
предметом исследования — автоматизация учета основных средств на предприятии.
1.
Определение учета основных средств и автоматизации
.1
Определения учета основных средств
Я рассмотрю, какими свойствами должны обладать
основные средства организации. Имущество, используемое организацией больше 12
месяцев, называется основным средством.
Признаки основных средств:
) объект используется в производстве для
производства товара продукции, услуги;
) объект используется длительное время, т.е.
срок использования продолжительности свыше 12 месяцев;
) объект приносит экономическую прибыль
организации.
Учет основных средств написан в п. 4 Положения
по бухгалтерскому учету «Учет основных средств» ПБУ 6/01 которое утверждено
приказом Минфина России от 30. 03. 2001 г. № 26 н.
Организации бывают коммерческие но бывают и не
коммерческие то следовательно рассмотрю, а что является основными средствами у
них.
Основные средства в некоммерческой организации:
) используется объект для достижения цели,
созданной этой организации;
) для управленческих нужд некоммерческой
организации;
В соответствии с п. 5 ПБУ 6/01 к основным
средствам относиться: здание, сооружение, рабочие и силовые машины
оборудование, измерительные и регулирующие приборы, устройства, вычислительная
техника, транспорт инструмент, производственный и инвентарный инвентарь,
племенной скот, многолетние насаждения и прочее имущество.
В состав основных средств входит: капитальное
вложение на коренное улучшение земли — это осушение оросительные и другие
работы; капитальное вложение в арендованные объекты основных средств; земельные
участки и другие природные ресурсы.
Имущество в отношении которых выполняется
условие выше предусмотрено в п. 4 ПБУ 6/01 и стоимостью в пределах лимита.
Лимит устанавливается в учетной политике предприятия, организации, фирмы, но не
более 45 000 т.р. за штуку, а остальное отражается в бухгалтерском учете в
составе материально-производственных запасов.
Бухгалтерский учет основных средств оформляется
документами, которые называются первоначальная документация.
Автоматизация бухгалтерского учета — это
применение программ для подготовки финансовой отчетности.
Автоматизация бухгалтерского учета представляет
собой процесс, при котором данные первичной документации переводиться
(набирается, вбивается) на компьютере в специализированную программу. Данные
обрабатываются в специализированной программе и информация выданная помогает
принимать управленческие решения руководителю.
Отсутствие достоверных и оперативных данных
может привести к искажению бухгалтерской отчетности, а иногда делается это
специально (мошенничество).
Основные условия ошибок бухгалтерского учета:
) специальные противоправные действия
бухгалтера;
) арифметические ошибки — или невнимательность
бухгалтера;
) незнание ведение бухгалтерского учета в России
Каким должен быть автоматизированный учет
бухгалтерского учета на предприятии.
Требование к автоматизированной системе
бухгалтерского учета:
) качественное ведение учета;
) быть надежным и удобным в эксплуатации;
) правильные арифметические расчеты;
) обеспечить подготовку заполнение проверку и
распечатывание первичной документации;
) осуществлять безошибочный перенос данных из
одной версии программы в другую;
) производить итоги накопленных данных за
определенный период времени (обработка данных);
) обеспечить обращение к данным и отчетам за
прошлые периоды, а точнее вести архив;
) должны соответствовать структуре плана счетов;
) применяться нормативы для отрасли применяемой
организации;
) должны быть защищены от сбоев и умышленного
искажения данных.
История автоматизации бухгалтерского учета в
России.
В настоящий момент существует очень много
программ для введения бухгалтерского учета но в основном популярна программа 1
С Бухгалтерия.
Общество с ограниченной ответственностью
«Вербилово» было основано в 2007 году. Основная деятельность продажа
натуральных продуктов питания: розница, оптовая продажа.
Внимание уделяется оптовым клиентам. Для каждого
оптового клиента есть выгодные схемы работы, подбираются специальные акции,
процент скидки, подбираются специальные цены под крупные партии, обеспечивается
информационная и техническая поддержка, оптовыми клиентами ООО «Вербилово»
стали многие оптовые склады Липецкой области.
Свою деятельность ООО «Вербилово» осуществляет с
помощью торговых отделов, которые состоят из представителей. Ежедневно
собираются заявки от клиентов и с помощью компьютеров они передаются в отдел
продаж, а затем, обработав заявки, передают информацию на склад. На складе
формируется партия, которая с помощью машины осуществляет доставку товара в
торговые точки города Липецкой области. Контроль правильности оформления
товарно-транспортных накладных и расчеты оформляются отделом службы
безопасности и бухгалтерского отдела. Когда происходит расхождение, то
назначается сверка взаиморасчетов между складом и бухгалтерским отделом.
Рассмотрю структуру управления ООО «Вербилово».
Рисунок № 1 Структура управления ООО «Вербилово»
Здесь видно, что бухгалтерский отдел является
структурным подразделением ООО «Вербилово». Бухгалтерский учет осуществляется
бухгалтерией, которую возглавляет главный бухгалтер. В своем подчинении
непосредственно имеет 2 — х бухгалтеров и работников кассового отдела.
Следовательно, главный бухгалтер подчиняется генеральному директору ООО
«Вербилово».
Автоматизация учета основных средств является:
) правильное отражение наличие и движение
основных средств;
) продукция н складе, холодильнике и других
местах хранении товара (продукции);
) выполнять контроль за выполнением плана по
продажам ассортименту и так далее;
) контроль за правильностью хранения товара и
соблюдением норм;
) контроль и выявление рентабельности товара и отдельного
вида товара.
Классификация основных средств по положению
бухгалтерского учета «Учет основных средств» от 3 Сентября 1997 г. № 65 н
объект основных средств имеет следующую «Типовая классификация».
По принадлежности основные средства делятся на
собственные и арендованные. Собственные принадлежат предприятию, а арендованные
принадлежат на временное пользование за определенную плату.
По характеру участия в производстве различают
основные средства делятся: производственные и непроизводственные.
Производственные — это основные средства, которые участвуют в процессе
производства для переработки сырья, производства готовой продукции и
извлекается прибыль.
Непроизводственные — это основные средства,
которые числиться на балансе предприятия и не связаны с осуществлением уставной
деятельности.
Оценка основных средств осуществляется в
соответствии с приказом Минфина от 26 декабря 1994 года. Объекты основные
средств, а точнее оценка осуществляется и учет по первоначальной стоимости. Я
рассмотрю определения основных средств по классификации.
Определение основных средств:
) здания и сооружения — это основные средства в
форме объекта, который обладает следующем:
затраты на строительство и монтаж по возведению
сооружения, здания объекта; Пример: здание для бухгалтерского отдела, здание
для осуществления хозяйственной деятельности. Другие затраты, которые подлежат
в установленном порядке в инвентарную стоимость объекта.
) оборудование — это основные средства, которые
участвуют в процессе хозяйственной деятельности. Пример: ванна для производства
творога. Все затраты связанные с приобретением, расходы по консультационным
услугам, расходы на доставку и установку оборудования, а так же монтаж
оборудования. Поскольку оборудование может состоять из нескольких деталей,
частей и каждая часть может иметь отдельный срок эксплуатации. При поступлении
объекта основных средств в качестве вклада в Уставный капитал осуществляется в
размере согласном по размеру вложения каждого учредителя, если иное не
предусмотрено законодательством Российской Федерации. Рассмотрю первичную
документация при поступлении, перемещению выбытию основных средств.
Первичная документация учета
«Основных средств»:
1) форма № ОС — 1 — акт о приеме-передаче
объекта основных средств, кроме зданий сооружений.
) форма ОС-1а — акт о приеме-передаче здания
(сооружения);
) форма № ОС-1б — акт о приеме-сдаче групп
объектов основных средств (кроме зданий и сооружений);
) форма ОС-2 — накладная на внутреннее
перемещение объектов основных средств; Форма применяется при зачислении в
состав основных средств, а так же отдельных объектов для учета ввода их в
эксплуатацию. Так же применяется форма для внутреннего перемещения из одного
подразделения — цех, участок в другое, а так же передача основных средств со
склада в эксплуатацию.
) форма ОС-3 — акт о приеме-сдаче
отремонтированных модернизированных объекта основных средств; Эта форма служит
для оформления ремонта.
) форма ОС-4 — это акт о списании объекта
основных средств (кроме автотранспорта). Эта форма служит для выбытия основных
средств при полной или частичной их ликвидации.
) форма ОС -4а — это акт о списании
автотранспортных средств. Этим документом оформляют списание грузового или
легкового транспорта.
) форма № ОС -4б — это акт о списании групп
объектов основных средств.
) форма № ОС-6 — это инвентарная карточка учета
объекта основных средств.
) форма № О — 6 — это инвентарная карточка
группового учета объектов основных средств.
) форма № ОС-6б — это инвентарная книга учета
объектов основных средств.
) форма № ОС -14 — акт о приеме (поступлении)
оборудования.
) форма № ОС — 15 акт о приемке-передаче
оборудования в монтаж.
) форма № ОС — 16 — это акт о выявленных
дефектах оборудования.
Аналитический учет основных средств в
организации видеться бухгалтерским отделом по классификационным группам, а
внутри групп по инвентарным объектам — это форма ОС и месту нахождения на
предприятии — это эксплуатация объектов. Назначается материально ответственное
лицо за основные средства. Рассмотрю в таблице формы первичной учетной
документации.
Таблица № 1 Формы первичной учетной документации
Этапы |
Хозяйственные |
Соответствие |
Поступление |
прием |
ОС-1, |
поступление |
ОС-14 |
|
монтаж |
ОС |
|
Эксплуатация |
учет |
ОС |
эксплуатация |
Формы |
|
переоценка |
||
внутреннее |
ОС-2 |
|
ремонт |
ОС-3 |
|
Выбытие |
ликвидация |
ОС-4, |
передача |
ОС-1, |
1.2
Технические средства автоматизации учета основных средств
Общая информация:
) внедрение на организации программу 1 С.
Бухгалтерия уже имеет большой опыт сотрудничества. Программа предлагает
обрабатывать первичную документацию по учету основных средств. Проводя проводки
в Журнале хозяйственных операций.
Журнал хозяйственных операций:
) Д 01, К 08 — программа предлагает заполнить
унифицированную форму документа, а также инвентарную карточку.
Благодаря автоматизации бухгалтерского учета
можно:
автоматическое заполнение программой инвентарных
карточек;
автоматическое начисление амортизации (износа)
основных средств;
облегчение и ускорение переоценки основных
средств.
Вывод: с помощью программы можно от многих
недостатков учета основных средств.
) автоматизация в 1 С: Бухгалтерия служит для
учета основных средств на ООО «Вербилово».
) Объект автоматизации в программе 1С.
Бухгалтерия учет основных средств формирование поступление перемещения
начисления амортизации, ликвидация основных средств. Рассмотрю требования к
автоматизации для 1С Бухгалтерия.
Требование к системе автоматизации программы:
) программа должна включать в себя полный цикл
ведения учета основных средств;
) иметь возможность настройки системы под
особенности организации;
) использование возможности Windows,
обмен данными в Excel;
) требование к численности и квалификации
персонала в правильности внесения данных в программу.
Вывод: пользователь (персонал) должен иметь
элементарные навыки работы на персональном компьютере, а так же с операционной
системой.
В качестве надежности необходимо проводить
проверку рабочего состояния раз в 3 месяца, а так же обновлять антивирусные
базы.
) состав работы по созданию автоматизированной
системы:
) проверка обновление работоспособности системы
и устранение неполадок.
) проведения контроля программы и введенных
данных в систему:
) осуществлять требования для учета основных
средств;
Для правильного функционирования программы
необходимо создать условия функционирования объекта автоматизации к вводу
системы в действия.
) требования к документированию — это применение
рекомендованной формы, которые предназначены для определённой отрасли
организации.
Вывод: в результате уточнения и систематизации
комплекса решаемых задач, которые подлежат автоматизации и классификации
потоков входной и выходной информации, которую можно использовать программный
комплекс (конфигурация).
Анализ входной и выходной информации
Анализ вносимой входящей информации:
) акты выполненных работ;
) накладные;
) счет-фактура;
) платежные поручения;
) ведомость — это обычно по заработной плате;
) акты сверок;
) акт о приеме товара; (основных средств);
) анализ входящей информации;
) форма Ф1 — основные средства;
) форма — сведения о затратах;
) налоги;
) амортизация;
) отчеты;
) итоговые ведомости;
) отчисления во внебюджетные фонды.
Всю обрабатываемую информация можно разделить —
это документы, справки, акты можно классифицировать по следующему виду.
Классификация обрабатываемой информации:
) по отношению входа и выходу — ввод данных;
а) входные данные — это внесение данных по
приходу поступлению основных средств;
б) выходные — это все отчеты по внесенными
данными за определенный период времени.
) по срокам:
а) ежемесячные — это вносимые данные за
выполнения хозяйственной деятельности;
б) ежедневные — выполняемые каждый день. Пример:
акт о недостаче.
) выходная информация —
а) информация для статистического управления;
б) информация для администрации организации
(внутренние пользователи);
в) информация для внешнего пользователя (налоговая);
) по функциональному значению:
а) отчетная информация
б) другие виды документов.
Унификация документооборота выполняется путем
введения единых форм документов в результате синтетической и семантической
документации. Следовательно, вводимая информация в форе наименований
показателей, единиц измерения номеров, а следовательно получается
унифицированная система документации.
Унифицированная система документации — это
рациональное организованный комплекс взаимосвязанных документов, который
отвечает единым правилам и требованиям и содержит информацию, которая
необходима для управления организацией. По уровням управления унифицированная
система документооборота делиться.
Уровни унифицированной системы документооборота:
) межотраслевые системы документации,
используемые на всех организациях;
) отраслевые системы документации, применяемые
только на предприятии конкретной области, а так же отрасли, то есть для
определённого предприятия организации или фирмы.
Информационное обеспечение представляет собой сумму
проектных решений о объему хозяйственных операций, масштабу организации.
1.3
Синтетический учет поступления и выбытия основных средств
Для синтетического учета основных средств
используются следующие счета.
Синтетический учет (журнал-ордер № 13) основных
средств.
ü 01 «Основные средства» — это учет
основных средств, можно открыть субсчета 01/01 — Собственные основные средства,
01/02 — Аренда основных средств.
ü 03 «Доходные вложения в материальные
ценности» — субсчета открываются следующие 03/01 — Имущество для сдачи в
аренду.
ü 02 «Амортизация основных средств» —
это износ основных средств. Субсчета открываются к этому счету:
02/01 — «Износ собственных основных средств»,
02/02 Износ имущества, сданного в аренду.
Забалансовые счета:
ü 001 — Арендованные основные
средства;
ü 014 «Износ жилищного фонда»;
ü 015 «Износ объектов внешнего
благоустройства и других аналогичных объектов»;
ü 021 «Основные средства, которые
сданы в аренду».
Отражение учет основных средств поступление
основных средств в основном происходит следующем образом:
покупка у поставщика;
строительство самой организацией, или подрядным
способом.
В проводках сразу видно, как происходит
поступление основных средств.
Журнал хозяйственных операций:
) при приобретении основных средств за плату у поставщика,
или вклад в Уставный капитал:
Дебет 08 Кредит 60 (75,79) — это поступление
основных средств (без учета НДС);
— Дебет 19 Кредит 60 — отражена стоимость НДС по
приобретённым основным счетам:
Дебет 08 Кредит 60 (76,23 ) — это отражение всех
расходов, которые связаны с приобретением основных средств и доведение до
состояния для эксплуатации.
Дебет 19 кредит 60 (76) — отражена сумма НДС,
которая подлежит перечислению при оплате услуг, которые связаны с монтажом.
Дебет 08 Кредит 19 — списание на увеличение
затрат на капитальное вложение НДС по приобретённым основным средствам.
Бывают случаи, когда основные средства
организация получает безвозмездно в этом случае:
Дебет 08 Кредит 98/02 — это отражена стоимость
безвозмездно полученных основных средств организацией.
Дебет 08 Кредит 60 (76, 23) — отражена сумма
расходов, которые связаны по доставке, монтажу консультации основных средств
полученных даром.
Дебет 08 Кредит 19 списание на увеличение затрат
на капитальные вложения НДС по приобретённому оборудованию.
Регулируется поступление основных средств
«Положением по бухгалтерскому учету долгосрочных инвестиций» утверждено
Минфином России от 30 Декабря 1993 г. № 160.
В положении под долгосрочными инвестициями
понимается расходы на создание, при увеличении приобретении внеоборотных
активов организации, которые не предназначены для продажи. В плане счетов это
счёт 08 «Капитальные вложения». В дебет счета собираются все затраты связанные
с приобретением основных средств:
покупка — это стоимость основных средств;
консультация по приобретению основных средств;
доставка транспортом основных средств в
организацию;
монтаж основных средств.
Для отражения затрат по конкретным видам
капитального вложения в основные средства на счет 08 открываются следующие
субсчета:
ü 08/01 — Приобретение земельных
участков;
ü 08/02 — Приобретение объектов
природопользования;
ü 08/03 — Строительство объектов
основных средств;
ü 08/04 — Приобретение отдельных
объектов основных средств;
ü 08/05 — Затраты, которые не
увеличивают стоимость основных средств;
ü 08/11 — Приобретение отдельных
объектов основных средств по договору лизинга.
Все расходы собираются на дебет счета 08
«Капитальные вложения», а еще можно назвать первоначальная стоимость основных средств.
Затраты не включенные в первоначальную стоимость основных средств делятся на
предусмотренные;
не предусмотренные.
Предусмотренные расходы это:
ü расходы на подготовку основных
средств к персоналу, а вернее эксплуатация — повышение и обучение персонала;
ü затраты связанные со строительством
объекта;
ü средства, которые передадутся на
строительство основного средства в порядке долевого участия, если основные
средства будут приняты в эксплуатацию другой организацией;
ü затраты связанные с возмещением стоимости
строений и посадок, которые относиться при отводе земельных участков под
строительство.
Не предусмотренные затраты это:
ü затраты по оплате процентов по
кредиту в банке сверх учетных ставок, которые установлены Центральным банком
РФ;
ü затраты по сносу, демонтажу и охране
объектов, прекращенных строительством;
ü затраты по уплате штрафов, санкций,
пений, неустоек.
Все затраты на счете 08 «Капитальные вложения»
ведутся на аналитическом счете в разрезе объектов и видов работ.
Основные средства (оборудование) предназначенные
для монтажа, первоначально учитываются на счете 07 «Оборудование к установке».
Готовое оборудование после монтажа передается, а
точнее списывается на счет 08 «Капитальное вложение». Документально это
выглядит так: для ввода объект в эксплуатацию составляется акт (накладная) по
форме № ОС -1, а первоначальная стоимость объекта отражается в бухгалтерском
учете проводкой — Д 01 «Основные средства» или 03 «Доходные вложения в
материальные ценности» с кредита счета 08 «Капитальные вложения».
Иногда, когда основные средства поступают не в
результате капитальных вложений, то 08 «Капитальные вложения» не используется.
Поступление основных средств может быть в форме
увеличения «Уставного капитала», это отражается следующим образом:
Дебет 01 «Основные средства» с кредита 75/01
«Расчеты по вкладу в уставный капитал (складчатый), 87/03 «Безвозмездно
полученные ценности», 88/04 — «Фонд социальной сферы» и так далее.
Износ, а точнее все затраты, расходы по
приобретена, монтажу, ремонту возмещается через амортизационные отчисления и
отражается на счете 02 «Амортизация основных средств», этот счет имеет два
субсчета:
/01 — амортизация собственных основных средств;
/02 — амортизация основных средств сданных в
аренду.
Проводки по начислению амортизации основных
средств:
) кредит 02 «Амортизация основных средств»;
) 20 «Основное производство», 25
«Общепроизводственные расходы», 26 «Общехозяйственные расходы», 44 «Издержки
обращения», 80 «прибыль и убытки», 88 «Нераспределенная прибыль» (непокрытый
убыток) и так далее. основной средство
автоматизация бухгалтерский
Стоимость объекта основных средств, который
выбывает у организации подлежит списанию, когда полностью стал не годен. В
таких случаях обычно продают как металлолом.
Списание может быть следующих видов:
ü продажа;
ü списание при физическом, или
моральном износе основных средств;
ü безвозмездной передачи основных
средств;
ü ликвидация при природных катастроф —
это пожар, наводнение, а пример показывает так же и падение метеорита в
Челябинске.
ü передача в форме вклада в «Уставный
капитал» другой организации
Списание объекта основных средств, то выручка
при реализации принимается к бухгалтерскому учету в сумме, которая оговорена в
купле-продаже по договору.
При продаже лома, или починенного объекта основных
средств может быть прибыль, а так же и убыток, но отражение осуществляется в
отчетном периоде, к которому они относятся. Прибыль, или затраты от списания
объекта основных средств отражаются естественно в прибыль, или убытки
организации за отчетный период.
Во всех случаях списание объекта основных
средств осуществляется по счету Дебет 47 «Реализация и прочее выбытие основных
средств» с кредита субсчета 01/01 «Собственные основные средства» на балансовую
стоимость основного средства и по дебету счета 02/01 «Амортизация основных
средств» с кредита счета 47 на сумму начисленной амортизации (износа) основных
средств.
Для того чтобы имеющееся в наличие объекты
основных средств так же числились и документально, то тогда проводиться
инвентаризация основных средств. Инвентаризация проводиться один раз в три года
за исключением обязательного проведения инвентаризации. Обязательная
инвентаризация может проводиться в следующих случаях:
ü смена материально ответственного
лица основных средств;
ü природные явления — это наводнение,
пожар, падение метеорита;
ü ликвидация организации.
Инвентаризация основных средств проводиться с
методическими указаниями по инвентаризации имущества, финансовых
обязательствах, которые утверждены приказом Минфина Российской Федерации от 13
июня 1995 г. № 49.
Инвентаризация основных средств:
) необходимо проверить наличия правильного
оформленных документов — унифицированной формы (первичная документация);
ü наличие инвентарных карточек;
ü наличие паспортов технических;
ü первичные документы, а так же
документы, если основные средства получены или сданы в аренду;
) для проведения инвентаризации создается
постоянная комиссия, состав утверждается руководителем организации;
) после проверки фактического наличия
инвентаризационная комиссия составляет опись по форме инвентаризации 1 (код
ОКУД 0309001) в разрезе видов и объектов основных средств, а так же где
находиться основные средства. Если происходит расхождение, при выявлении
инвентаризации (излишки, недостачи), оформляются составлением сличительных
ведомостей по форме № инвентаризации 18 (код по ОКУД 0309017) и оцениваются по
рыночным ценам с определением степени изношенности (амортизации) объекта
основных средств.
Объекты основных средств, которые окажутся в
излишке/, не учтенные подлежат оприходованию на баланс а следовательно потом на
финансовый результат. Если выявлена недостача объекта основных средств, то
списание происходит с кредита субсчета 01/01 «Собственные основные средства» в
дебет счета 02/01 «Амортизация основных средств» на сумму начисленного износа
основных средств, а потом 84 «Недостачи и потери от порчи ценностей» на сумму
разницы между балансовой стоимостью основных средств и суммой амортизации.
Недостача основных средств от природных катастроф относиться на финансовый
результат — это дебет 90 «Прибыль и убытки».
Недостача относиться на материально
ответственное лицо — это дебет субсчета 73/03 «Расчеты по возмещению
материального ущерба» с кредита счета 84 «недостачи и потери от порчи
ценностей».
2.
Автоматизация ОС
.1
Автоматизация учета ОС в программе 1 С Бухгалтерия 8
Программа 1 С Бухгалтерия предназначена для
автоматизации бухгалтерских операций. Учет основных средств можно вести все
операции, но в данной работе я буду рассматривать — это учет основных средств.
Программа формирует необходимые бухгалтерские записи (проводки) и формирует,
необходимы документы первичных документов — это унифицированная форма, которые
можно только распечатать. Для учета основных средств используется следующий
алгоритм.
Алгоритм учета основных средств в программе:
) поступление объекта основных средств;
) введение в эксплуатацию — принятие объекта
основных средств;
) начисление амортизации;
) ликвидация — это снятия с учета объекта
основных средств в программе. Следовательно, я рассмотрю каждый шаг отдельно,
ведь программа предусматривает операции. Программа 1С Бухгалтерия версия 8.2.
Пошаговое введение операций по учету основных средств:
Организация приобрела объект основных средств:
) организация купило объект основных средств у
поставщика ООО «Гранит» = 458 500 т.р (в том числе НДС).
Отражается проводкой в Журнале хозяйственных
операций.
Журнал хозяйственных операций:
№ |
Хозяйственная |
Сумма |
Дебет |
Кредит |
1 |
Поступил |
388 |
08 |
60 |
2 |
НДС |
69 |
19 |
60 |
3 |
ИТОГО |
458 |
ХХХ |
ХХХ |
Сумма = (458 500 * 18)/118 = 69 940,68 т.р. —
это НДС.
Все расходы собираются на счете Дебет 08
«Вложение во внеоборотные активы» в журнале хозяйственных операций.
Журнал хозяйственных операций:
№ |
Хозяйственная |
Сумма |
Дебет |
Кредит |
4 |
Отражены |
58 |
08 |
60 |
5 |
НДС |
10 |
19 |
60 |
6 |
ИТОГО: |
69 |
ХХХ |
ХХХ |
Сумма НДС = (68 900 * 18 )/118 = 10 510,16 т.р.
— это сумма НДС.
Рисунок № 1 Ввод поступления основных средств
Необходимо отразить поступление факта покупки,
необходимо сделать следующее.
Первое: создание номенклатурной единицы в
справочнике «Номенклатура».
Номенклатура — это все сведения о основных
средствах товарах, готовой продукции. В типовой конфигурации справочник
«Номенклатура» есть несколько групп, которые имеют свою классификацию. Так в
этом случая, поступление основных средств в этом случая я выберу слово, а
точнее группу «Оборудование» (смотреть рисунок №1).
Список, который видно на рисунке № 1 можно
дополнять и изменять новыми группами и номенклатурными позициями.
Для создания новую номенклатурную единицу
которая соответствует объекту основных средств необходимо зайти в группу
«Оборудование — это объекты основных средств» и нажать на кнопку добавить так
как это показано на рисунке № 2 Добавить номенклатуру.
Рисунок № 2 Добавить номенклатуру
После соответственно появиться окно для создания
новой номенклатурной единицы, необходимо заполнить поля или позиции так как
показано на рисунке № 3 Заполнение позиции для новой номенклатурной единицы.
№ 3 Заполнение позиции для новой номенклатурной
единицы.
После того, как я внесла информацию в
соответствующие позиции, и нажав на Ок то появиться карточка основных средств
новая, которая сохраниться в справочнике — это новая номенклатура. (смотреть
рис. № 4)
Рисунок № 4 Новая карточка «Основных средств»
Отражение покупки объекта основных средств:
Для отражения факта покупки основных средств
необходимо сделать следующие операцию:
«Поступление товаров и услуг» с видом операции
«Оборудование». Данное окно можно открыть через Меню как показано на рисунке №
5 Меню открытия документа «Поступление товаров и услуг».
Рисунок № 5 Меню
Потом через панель функции выбираю вкладку
«Покупка», в которой находиться ссылка на документ «Поступление товаров и услуг
» — это показано на рисунке 6.
Нажав на «Поступление товаров и услуг», я
перемещаюсь в журнал документов я нажимаю добавить новый документ, а после чего
выбираю нужную мне операцию — это показано на рисунке 7 Выбор вида операции.
Рисунок № 7 Выбор вида операции
Я приступаю заполнять табличную часть, которая
видна на рисунке 8 Табличная часть «Поступление товаров и услуг».
Рисунок № 8 8 Табличная часть «Поступление
товаров и услуг»
Необходимые реквизиты:
) Контрагент — это юридическое или физическое
лицо, у которого предприятие приобретает объект основных средств. Контрагентов
у поставщика может быть много, от физических лиц, до юридических лиц, а так же
частники, или просто обычные физические лица, а так же иностранные граждане.
Контрагент добавляется новый, так же как новая номенклатура. В данном случая
организация купила объект основных средств — это ООО «Гранит». Иногда по
доставке объекта основных средств доставляет другая организация, но в данном
случая одна и та же.
) Договор — это договор с контрагентом на
покупку объекта основных средств.
) Склад — это название склада, на который
поступит объект основных средств в организацию.
) Табличная часть — это список, поскольку
приобретать может организация несколько объектов основных средств.
) Номенклатура — это номенклатурные единицы из
справочника.
В этом примере я сделала Основное средство № 1,
вышеперечисленным методом.
) Количество — реальное количество приобретаемых
основных средств. В данном примере 1 штука.
) Цена — стоимость одного объекта основных
средств.
Необходимо внести дополнительную информацию для
проведения бухгалтерской операции на вкладке «Счета расчетов», «Дополнительно»,
«Счет-фактура». На вкладке «Счета расчетов» отражается информация с расчетами с
поставщиками, в данном примере будет 60/01. На вкладке «Дополнительно»
вноситься информация о грузоотправителе и грузо-получателе объекта основных
средств. Они необходимы для того что бы потом распечатать документ, ведь
организация может покупать у разных поставщиков. На вкладке
«Счет-фактура» указываются данные о предъявленном счете-фактуре, это
необходимо для формирования книги покупок. После занесения данных о всем
позициям, следует провести документ — это нажать Ок. Для того что бы посмотреть
проведен ли документ, необходимо щелкнуть на «Поступление товаров и услуг», как
это показано на рисунке № 9 Проверка проведенного документа.
Рисунок № 9 Проверка проведенного документа
На рисунке № 10 Виден результат проведения
документа «Поступление товаров и услуг».
Рисунок № 10 Проводка проведена
Можно сделать следующие выводы, сформированы
следующие проводки:
) Дт08/ Кт60/01 — покупка объекта основных
средств;
) Дт19/01 Кт 60/01 — НДС по приобретённому
объекту основных средств.
ШАГ: Введение в эксплуатацию объект основных
средств.
Для правильного оформления учета основных
средств необходимо сделать следующие шаги операции.
) Создать в справочнике «Основные средства».
Справочник «Основные средства» предназначен для
хранения информации об объектах основных средств. В программе необходимо
сделать:
ü меню в программе, использовать
вкладку Основные средства (рисунок № 11);
ü через панель функции, используя как
на рисунке 12. Смотреть Приложение № 1
осле я переду в Основные средства и для нажму
добавить новый объект учета основных средств (смотреть приложение № 2 )
После внесения данных смотреть Приложение № 3
необходимо сохранить, изменять данные можно в любой момент.
) Принять к учеты (эксплуатация основных
средств):
Я нажимаю через меню «Принятие к учету ОС»,
заполняю все данные поля, как это показано смотреть в Приложение № 4.
Необходимо обязательно заполнить такие данные:
) Местонахождение ОС — это где будет находиться,
и эксплуатироваться объект основных средств. Пример: цех № 1.
) Оборудование — номенклатурная единица.
) Склад — это название склада, куда поступил
объект основных средств.
) Счет — счет учета ОС (такой же как и в «Поступление
товаров и услуг»;
) ОС — это элемент справочника «Основные
средства»;
) Инвентарный номер — уникальный номер каждого
объекта основных средств, которая присваивается автоматически программой.
Необходимы так же дополнения (пояснения):
) Порядок учета — выбор метода начисления
амортизации. Практика показывает обычно применяют «Линейный метод»;
) МОЛ — фамилия ответственного лица за
эксплуатацию объекта;
) Способ поступления — это как было доставлен
объект основных средств на предприятие;
) Счет учета — на каком счете будет вестись
учет;
) Счет начисления амортизации — это счет, на
котором будет накапливаться сумма амортизации;
) Расходы — затраты на ремонт, модернизацию,
ликвидацию ОС;
) Срок полезного использования — количество
месяцев, а вернее, сколько будет начисляться амортизация.
После заполнения всех полей, я нажимаю Ок и
документ сохраняется (проведен документ). Смотреть Приложение № 5 принятие ОС.
В результате сформировались следующие проводки:
ü Дт01 Кт 08 = все расходы.
Первоначальная стоимость основных средств =
стоимость при покупке + транспортировка = 388 559,32 + 58 389,84 = 446 949,16
т.р.
Вся сумма с Дт 08 «Вложения во внеоборотные
активы» переходят на счет 01 «Основные средства».
Для распечатывания карточки я нажму формат ОС-6.
шаг: Начисление Амортизации.
Начисление амортизации происходит ежемесячно.
Для начисления амортизации используется регламентная операция документа
«Закрытие месяца». Смотреть в Операциях.
Все регламентные операции делаются автоматически
(смотреть Приложение № 6 Закрытие месяца).
Начисление амортизации Линейном методом;
Срок использования = 10 лет
Норма амортизации = 100 % / 10 лет = 10 %
Амортизация = 446 949,16 * 10 % = 44 694,92 т.р.
— это за год.
За месяц амортизация = 44 694,92/12 м. = 3
724,58 т.р.
Если купили ОС 01.01.2015 г., то начисление
будет на 01.02. 2015 года — эта дата начисление амортизации.
шаг: ликвидация.
В меню выбираю вкладку ОС, выбираю «Списание
ОС». Передя по ссылки попадаю в журнал для «Списание ОС». Нажимаю добавить
новый документ, после чего заполняю соответствующие поля (смотреть приложение №
7 Выбытие ОС).
ВЫВОД: вышеперечисленные операции представляют
собой базовые действия с объектами основных средств, которые необходимо
выполнять в программе 1 С: Бухгалтерия.
Заключение
В данной работе я рассмотрела, как делается учет
объекта основных средств. Автоматизация — это хорошо, но не зная нормативные
акты, первичную документацию, а так же правильность алгоритма, то можно
заплутать и в трех соснах. Необходимо отличать объект основных средств от
материальных запасов. Необходимо так же знать правильно, собирать все расходы,
которые связаны с приобретением объекта основных средств. Поскольку программ
очень много, но принцип один и тот же. Необходимо понимать для чего необходима
то или иное действие в программе. Сейчас предприятия отправляют на курсы по
программе 1 С. Бухгалтерия, поскольку версий очень много и не только 1С.
Бухгалтерия, а так же Зарплата, персонал и так далее. Программа
совершенствуется, и раньше была версия 1 С. Бухгалтерия 70, то сейчас
совершенная версия 1 С. Бухгалтерия 8.2. Вроде она и простоя, но с другой
стороны, можно ее настроить только для кассира, а функции бухгалтера просто
будут недоступны, или программа для кладовщика, то функции бухгалтера не
доступны. Все зависит от того как настроить программу.
Список
использованной литературы
2. Налоговый кодекс Российской
Федерации. В 2 частях. На 01.01.06; М.: c.
. О налогах на прибыль и
доходы предприятий, объединений и организаций; М.: Финансы и статистика, 2011.
. Александров, И.М. Налоги и
налогообложение; М.: Дашков и К, 2013. — 317 c.
. Алексеев, Е.М.;
Мифтахудинова, Н.М. Основы учета и калькуляции в предприятиях общественного
питания; М.: Экономика, 2011.
. Бургонова, Г.Н.
Бухгалтерский учет на предприятиях различных организационно-правовых форм;
СПб:; Издание 2-е, перераб. и доп., 2013.
. Воробьева, Е.В. Заработная
плата в 2012 году; М.:
. Воробьева, Е.В. Средний
заработок. Способы исчисления; М.: Эксмо, 2012. — .
. Гусева, Т.А. Налоговое
планирование в предпринимательской деятельности. Правовое регулирование;
ВолтерсКлувер, 2012.
. Дернберг, Р.Л.
Международное налогообложение; М.: Юнити, 2011. — .
. Елисеева, И.И.; Терехов,
А.А. Статистические методы в аудите; М.: Финансы и статистика, 2013.
. Карпов, Ю.Г. Теория
автоматов; СПб: Питер, 2011. — 206 c.
. Клокова, Н.В. Споры,
выигранные у налоговой; Горячая линия бухгалтера, 2013.
14. Федеральный закон от 08.08.2001
№ 129-ФЗ «О государственной регистрации юридических лиц и индивидуальных
предпринимателей» газета Глав Бух.
Приложение
№ 1 Местонахождение справочника
Рисунок № 11 Первый метод
Рисунок № 12 Второй метод
Приложение
№ 2 Добавить новый объект основных средств
Приложение
№ 3 Заполнение нового документа
Приложение
№ 4 Заполнение документа Принятие ОС
Приложение
№ 5 Карточка ОС
Приложение
№ 6 Амортизация ОС
Приложение
№ 7 Выбытие ОС
Курсовая работа: Автоматизация учета основных средств на предприятии
Реферат
Дипломный проект
Пояснительная записка: 121 с, 18 рис., 22 табл., 14 источников, одно приложение.
Информационная система, информационные ресурсы, моделирование объекта, фактографические системы, информационно-управляющие системы, кодирование информации.
В данном дипломном проекте была решена задача по автоматизации учета основных средств на предприятии ООО «Алеф». В качестве основы для автоматизации был выбран и сконфигурирован под нужды предприятия комплекс УСН 1С Бухгалтерия. Второй частью создания АРМ бухгалтера была разработка отдельного программного блока для формирования унифицированных форм учета основных средств предприятия. Программный блок был разработан в СУБД MS Access, что позволяет автономно быстро и легко формировать унифицированные формы документов. Основными плюсами разработанного модуля является его относительная автономность, низкая экономическая затратность, легкость с точки зрения технологической установки, а также широкие возможности по дальнейшему усовершенствованию. Проведена предварительная работа по подбору технических средств реализации блока, проанализирована и доказана его экономическая окупаемость. Продумана дальнейшая оптимизация бухгалтерского документооборота и учета на предприятии «Алеф» — добавление полной его интеграции с экспортными данными из программного комплекса УСН 1С Бухгалтерии 7.7.
Оглавление
Реферат
Введение
1. Аналитическая часть
1.1 Организационно-экономическая характеристика предметной области. Краткое описание компании ООО «Алеф», анализ административной и хозяйственной деятельности предприятия
1.1.1 Организационная структура объекта управления
1.1.2 Функциональная характеристика объекта управления
1.1.3 Экономическая характеристика предметной области
1.2 Экономическая сущность комплекса экономических информационных задач. Реализация экономической модели предприятия с помощью учетной системы 1С УCН
1.2.1 Общие сведения о задачах. Описание имеющейся учетной схемы предприятия в рамках УСН 1С
1.2.2 Обоснование выбора задач, входящих в комплекс. Преимущества основной учетной системы 1С УСН, а также недостающие звенья автоматизированного учета
1.2.3 Способы решения задачи. Общая модель подбора решения
1.3 Обоснование проектных решений по автоматизированному решению экономико-информационных задач. Основные моменты автоматизации учета деятельности предприятия. Решение наших задач с точки зрения автоматизации учета на предприятии
1.3.1 Обоснование проектных решений по информационному обеспечению комплекса задач. Подбор информационного обеспечения для блока работы с унифицированными формами
1.3.2 Обоснование проектных решений по технологии сбора, передачи, обработки и выдачи информации. Реализация недостающего в УСН блока работы с унифицированными формами
1.3.3 Обоснование проектных решений по программному обеспечению комплекса задач
1.3.4 Обоснование необходимости использования вычислительной техники и создания АРМ для решения данного комплекса задач
2. Проектная часть
2.1 Информационное обеспечение комплекса задач
2.1.1 Инфологическая (информационная) модель (схема данных) и ее описание
2.1.2 Используемые классификаторы и системы кодирования
2.1.3 Характеристика входной информации
2.1.4 Нормативно-справочная информация
2.1.5 Характеристика результатной информации
2.2 Внутримашинная реализация комплекса задач
2.2.1 Формализация расчетов (алгоритмы расчета и решения задач)
2.2.2 Структурная схема использования комплекса программ (дерево диалога). Взаимодействие УСН с блоком формирования унифицированных форм
2.2.3 Описание интерфейса приложения.
2.3.1 Организация технологии сбора, передачи, обработки и выдачи информации
2.3.2 Схема технологического процесса сбора, передачи, обработки и выдачи информации
2.4 Программное обеспечение комплекса задач
2.4.1 Общие положения
2.4.2 Структурная схема пакета (дерево вызова процедур и программ). Описание программных модулей
2.5 Схема взаимосвязи программных модулей и информационных файлов
2.6 Выбор и обоснование технических средств
2.7 Экономическое обоснование проекта
Заключение
Список использованных источников
Приложения
Введение
Последнее десятилетие характеризуется не только радикальным изменением социально-экономической среды, в которой функционируют российские предприятия и организации всех форм собственности, но и устойчивой тенденцией развития информатизации процессов управления.
Необходимость действовать в условиях рыночной экономики, все обостряющейся конкуренции товаропроизводителей обусловливает повышенные требования к профессиональным качествам специалистов, ответственности руководителей за результаты и последствия принимаемых решений. Чрезвычайно актуальными становятся учет временного фактора и организация анализа материальных, товарных, финансовых потоков, поиск обоснованных решений в регулировании производственно-хозяйственных и финансовых ситуаций.
Внедрение в управленческую деятельность исследовательского подхода базируется на применении современных достижений в области информационных технологий, обеспечивающих полноту, своевременность информационного отображения управляемых процессов, возможность их моделирования, анализа, прогнозирования. Исследовательский подход, лежащий в основе менеджмента, одинаково присущ как федеральным, региональным, местным органам управления, так и предприятиям, фирмам, корпорациям, которые проводят инжиниринговые исследования и реинжиниринг организационных структур, тесно увязывая их с проектируемыми бизнес-процессами и добиваясь при этом реального выигрыша во времени и экономического эффекта.
В перечень задач, связанных с указанной выше глобальной тенденцией автоматизации производственных и учетных, а также управленческих процессов, усовершенствования имеющихся АСУ входят следующие: построение (разработка) ЭИС на основе анализа экономико-информационной среды, применения новых технических средств сбора, передачи, обработки и выдачи информации; совершенствование информационной базы предметной области на основе новых методик и концепций; новые автоматизированные решения комплексов управленческих и экономических задач.
Цельи данного дипломного проекта связаны с совершенствованием информационной базы предметной области на основе новых методик и концепций; с разработкой новых автоматизированных решений комплексов управленческих и экономических задач. Одна из конкретных задач проекта — применение для учета основных средств комплекса УСН 1С Бухгалтерии, а также его дополнение для облегчения ведения документооборота унифицированных стандартных форм.1С УСН базовая версия не позволяет вносить коррективы в программу, но во всех отношениях учета устраивает фирму, кроме учета ОС, поэтому возникла необходимость в создании отдельного учетного блока для основных форм. Такое решение вопроса значительно выгоднее, чем покупка новой расширенной конфигурации.
Актуальность данного дипломного проекта также весьма очевидна в русле указанной глобальной тенденции — автоматизация подобного рода рутинных процессов позволяет значительно повысить эффективность работы указанного отдела компании (фирмы), избежать огромного количества технических ошибок, возникающих при ручном формировании унифицированных учетных документов.
Новизна проведенной работы заключается в том, что обычно в комплекс 1С Бухгалтерии УСН не входит блок автоматизации заполнения стандартных унифицированных форм, что составляет определенные затруднения и требует разработки отдельного бизнес-процесса в учетной схеме предприятия. Это несколько осложняет и затрудняет общую учетную схему. Тот комплекс, который разработан в результате данной дипломной работы, построен на основании общедоступной программной среды — СУБД MS Access, которая легка и удобна для внедрения на любом рабочем месте, кроме того, разработанный блок не требователен к ресурсам системы, не требует особо сложной настройки, а также при необходимости легко интегрируется в дальнейшие схемы расширения бизнес-процессов. При всех указанных плюсах он прекрасно справляется с указанной задачей.
Таким образом, основные этапы реализации данного дипломного проекта должны включать:
детальное исследование структуры хозяйственной деятельности предприятия
разработку системы и методов автоматизированного учета основных средств предприятия в целом при помощи готового комплекса учетного ПО, настройку выбранного продукта ПО под нужды предприятия (т.е. УСН 1С Бухгалтерии)
разработку схему дополнительного блока, предназначенного для формирования унифицированных форм по учету основных средств, входящих в систему обязательного учета.
непосредственную реализацию этого программного блока, разработку интерфейсной части, части хранения и работы с данными, подготовку необходимых шаблонов
дальнейшее планирование схемы взаимосвязи с основной учетной системы — УСН 1С путем прямого интегрирования блока работы с унифицированными формами путем импорта данных
Прежде чем приступить непосредственно к конкретной реализации задачи, описанной в цели дипломной работы, рассмотрим ряд аспектов функционирования нашего предприятия, а также конкретного отдела — бухгалтерии.
1. Аналитическая часть
1.1 Организационно-экономическая характеристика предметной области. Краткое описание компании ООО «Алеф», анализ административной и хозяйственной деятельности предприятия
1.1.1 Организационная структура объекта управлени я
Общество с ограниченной ответственностью «Алеф» создано в соответствии с действующим законодательством Российской Федерации и Федеральным Законом «Об обществах с ограниченной ответственностью» и зарегистрировано Инспекцией Федеральной налоговой службы по Ленинскому району г. Самары 13.04.1999. Юридический адрес ООО «АЛЕФ»: 443041, г. Самара, ул. Красноармейская, д.62. «АЛЕФ» является малым предприятием с количеством сотрудников — 20 человек.
Права и обязанности общество приобретает с момента его государственной регистрации. Общество имеет самостоятельный баланс, круглую печать со своим фирменным наименованием, расчетный и иные счета в учреждениях банков.
Общество самостоятельно определяет сферы своей деятельности, осуществляет планирование и организацию, определяет объем и структуру работ и услуг, определяет условия реализации.
Фирма занимается звуковым, световым и сценическим обеспечением мероприятий, поэтому требуется постоянное пополнение основных фондов (закупка оборудования). Обороты предприятия — в пределах 20 миллионов (условия применения упрощенного налогообложения) в год, основное вложение прибыли — в основные средства.
Мы сдаем в аренду как целые концертные комплексы для проведения грандиозных шоу, так и отдельные единицы оборудования. Грамотный технический персонал обслуживает аппаратуру во время проведения концертов. За эти годы нами осуществлено техническое обеспечение огромного количества мероприятий, среди которых концерты групп «E-Type» в 1999г., «Eiffel 65» в 2000г. «Deep Purpule», Joe Cocker, A-ha, Cesaria Evora, SPACE, Prodigy, E. L. O, Kingdom Come, Glenn Hughes, Nazareth, Rasmus, Soulfly, TaTu, Дмитрий Хворостовский, Tomas Anders, а также туры по городам России группы «Scorpions» и шоу-балета «Rhythm Of The Dance», звезд российской эстрады, тур Аллы Пугачевой в 2005… 2006гг и другие различные концертные и праздничные мероприятия в городах: Самара, Тольятти, Уфа, Пенза, Саратов, Рязань, Оренбург, Уральск, Москва, Волгоград, Казань, Ярославль и др.
В настоящее время «АЛЕФ» также занимается организацией мероприятий «под ключ». Мы берём на себя решение всех вопросов, связанных с техническим обеспечением шоу-программ, включая организацию электропитания, постановку барьеров ограждения и мобильных гримёрных, обогрев площадки в холодное время года. Привлекая наших партнёров, мы способны выполнить заказы по видеотрансляции шоу на проекционных и светодиодных экранах, постановке лазерных и пиротехнических шоу с использованием различных спецэффектов, изготовлению и установке декораций и элементов оформления. Мы также осуществляем координацию деятельности всех задействованных служб на площадке.
Структурно и административно фирма объединяет следующие отделы административно-управленческий аппарата: бухгалтерию, юридический отдел, финансовый отдел, и производственного аппарата: звуковой отдел, световой отдел, сценический отдел (см. рис.1.1):
Все отделы непосредственно подчиняются директору. Непосредственное руководство ООО «Алеф» осуществляет директор. Права и обязанности директора и сотрудников ООО «АЛЕФ» определены должностными инструкциями.
Структура документооборота имеет следующий вид (см. рис.1.2).
Рис.1.1 Структура ООО «Алеф».
« АЛЕФ» не является производственным объединением, то есть сама не является производителем какой-то продукции, а лишь оказывает услуги по определенному перечню и предоставляет имеющиеся на балансе основные объекты основных средств в арендное пользование. Анализируемый отдел предприятия, где производится разработка и внедрение АСУ — бухгалтерия предприятия. Структура и учетная схема бухгалтерии полностью совпадает со стандартной конфигурацией УСН 1С Бухгалтерии.
Рассмотрим общий подход для анализа организационной структуры предприятия как объекта информационного управления. Он включает:
предварительное выявление требований, предъявляемых к будущей системе;
определение оргштатной и топологической структур предприятия;
определение перечня целевых задач (функций) предприятия;
анализ распределения функций по подразделениям и сотрудникам;
определение перечня применяемых на предприятии средств автоматизации.
Рис.1.2 Структура документооборота ООО «Алеф».
При этом выявляются функциональные деятельности каждого из подразделений предприятия и функциональные взаимодействия между ними, информационные потоки внутри подразделений и между ними, внешние по отношению к предприятию объекты и внешние информационные взаимодействия, см. рис 1.3.
Рис.1.3 Структура подхода
В качестве исходной информации при проведении обследования и выполнении дальнейших этапов служат:
данные по оргштатной структуре предприятия;
информация о принятых технологиях деятельности;
стратегические цели и перспективы развития;
результаты интервьюирования сотрудников (от руководителей до исполнителей нижнего звена);
предложения сотрудников по усовершенствованию бизнес-процессов предприятия;
нормативно-справочная документация;
опыт системных аналитиков в части наличия типовых решений.
Длительность обследования составляет 1-2 недели. По окончании обследования строится и согласуется с заказчиком предварительный вариант функциональной модели предприятия, включающей идентификацию внешних объектов и информационных взаимодействий с ними, а также детализацию до уровня основных деятельностей предприятия и информационных связей между этими деятельностями [1, c.57].
Далее осуществляется обработка результатов обследования и построение моделей деятельности предприятия следующих двух видов:
модели “как есть”, представляющей собой «снимок» положения дел на предприятии (оргштатная структура, взаимодействия подразделений, принятые технологии, автоматизированные и неавтоматизированные бизнес-процессы и т.д.) на момент обследования и позволяющей понять, что делает и как функционирует данное предприятие с позиций системного анализа, а также на основе автоматической верификации выявить ряд ошибок и узких мест и сформулировать ряд предложений по улучшению ситуации;
модели “как должно быть», интегрирующей перспективные предложения руководства и сотрудников предприятия, экспертов и системных аналитиков и позволяющей сформировать видение новых рациональных технологий работы предприятия.
Переход от модели “как есть” к модели ”как должно быть” осуществляется следующими двумя способами.
Совершенствование технологий на основе оценки их эффективности. При этом критериями оценки являются стоимостные и временные затраты выполнения бизнес-процессов, дублирование и противоречивость выполнения отдельных задач бизнес-процесса, степень загруженности сотрудников (“легкий” реинжиниринг).
Радикальное изменение технологий и переосмысление бизнес-процессов (“жесткий» реинжиниринг). Например, вместо попыток улучшения бизнес-процесса проверки кредитоспособности клиента, может быть следует задуматься, а нужна ли вообще такая проверка? Возможно затраты на такие проверки каждого из клиентов во много раз превышают убытки, которые может понести компания в отдельных случаях недобросовестности (в случае, когда клиентов много, а суммы закупок незначительны).
Построенные модели являются не просто реализацией начальных этапов разработки системы и техническим заданием на последующие этапы. Они представляют собой самостоятельный отделяемый результат, имеющий большое практическое значение, в частности:
Модель “как есть” включает в себя существующие неавтоматизированные технологии, работающие на предприятии. Формальный анализ этой модели позволит выявить узкие места в технологиях и предложить рекомендации по ее улучшению (независимо от того, предполагается на данном этапе автоматизация предприятия или нет).
Она позволяет осуществлять автоматизированное и быстрое обучение новых работников конкретному направлению деятельности предприятия (так как ее технология содержится в модели) с использованием диаграмм (известно, что «одна картинка стоит тысячи слов»).
С ее помощью можно осуществлять предварительное моделирование нового направления деятельности с целью выявления новых потоков данных, взаимодействующих подсистем и бизнес-процессов [3, c.14].
Что касается применения данного подхода к конкретному предприятию «АЛЕФ», то можно определить нашу методику как базовое использование модели «как есть», потому как основной АСУ для нашего отдела бухгалтерии предприятия является комплекс 1С Бухгалтерии, а далее мы можем провести на базе выбранной АСУ совершенствование технологии бухгалтерского документооборота, с учетом оценки их эффективности, не изменяя структуру уже разработанных бизнес-процессов.
1.1.2 Функциональная характеристика объекта управления
Директор является первым должностным лицом — руководителем компании. Директор осуществляет общее руководство, управление работой отделов и взаимодействием между ними, решение коммерческих и административных вопросов, выбор стратегии развития, разрешение спорных ситуаций, внутренних и внешних; решает все необходимые вопросы, возникающие в процессе работы.
В непосредственном подчинении директора находятся, начальники отделов закупок, продаж, финансового отдела, главный бухгалтер.
Директор осуществляет:
Представление интересов ООО “Алеф» во всех организациях и учреждениях по делам, возникающим в связи с деятельностью организации.
Подбор и назначение кадров.
Привлечение работников компании к дисциплинарной и материальной ответственности.
Принятие локальных нормативных актов.
Бухгалтерия:
1. Формирование полной и достоверной информации о финансовых результатах и имущественном положении компании, ведение бухгалтерского и налогового учета хозяйственно-финансовой деятельности компании.
2. Обеспечение своевременного и полного отражения на счетах бухгалтерского учета, в учетных регистрах фактов хозяйственной деятельности на основе применения принципов бухгалтерского учета, положений по бухгалтерскому учету и иных нормативных документов.
3. Составление форм бухгалтерской и налоговой отчетности и дополнений к ним с достоверным и полным отражением в них фактов хозяйственной деятельности и имущественного положения компании.
4. Обеспечение соблюдения технологии обработки бухгалтерской информации и порядка документооборота.
5. Контроль соблюдения порядка оформления первичных бухгалтерских документов, графика документооборота; соблюдения установленных правил проведения инвентаризации денежных средств, товарно-материальных ценностей, основных фондов, расчетов и платежных обязательств.
6. Правильное начисление налогов и сборов.
7. Обеспечение сохранности и оформление бухгалтерских документов в соответствии с установленным порядком.
8. Формирование, ведение и хранение БД бухгалтерской информации.
Юридический отдел:
Правовая экспертиза документов, проектов ответов на обращения, заявления и жалобы физических и юридических лиц, органов государственной власти, органов местного самоуправления.
Оказание правовой помощи подразделениям фирмы по вопросам применения законодательства Российской Федерации.
Оформление и предъявление в суды исков по всем основаниям в соответствии с законодательством Российской Федерации.
Защита интересов Учреждения в арбитражных судах и судах общей юрисдикции.
Согласование проектов договоров, подготавливаемых Учреждением.
Производственные отделы (звуковой, световой, сценический):
Обслуживают клиентов.
Прием и выполнение заказов.
Контролирует составление заявок (заказов), обеспечение, реализацию услуг в соответствии с условиями договоров.
Расширение клиентской базы.
Работа с партнерами.
Составление заявок на закупку оборудования.
Финансовый отдел:
Обеспечивает разработку финансовой стратегии предприятия и его финансовую устойчивость.
Осуществляет разработку проектов перспективных и текущих финансовых планов, прогнозных балансов и бюджетов денежных средств.
Определяет источники финансирования финансово-хозяйственной деятельности предприятия, краткосрочное и долгосрочное кредитование, привлечение заемных и использование собственных средств, проводит исследование и анализ финансовых рынков, оценивает возможный финансовый риск применительно к каждому источнику средств и разрабатывает предложения по его уменьшению.
Осуществляет инвестиционную политику и управление активами предприятия, определяет оптимальную их структуру, проводит анализ и оценку эффективности финансовых вложений.
Анализирует финансово-хозяйственную деятельность предприятия, разрабатывает предложения, направленные на обеспечение платежеспособности, предупреждение образования и ликвидацию неиспользуемых товарно-материальных ценностей, увеличение прибыли, снижение издержек на содержание и реализацию услуг, укрепление финансовой дисциплины.
Составляет ежемесячные отчеты руководителю о возникшей задолженности, количестве обслуживаемых клиентов, о количестве и сумме заключенных договоров.
Предоставляет в требуемые сроки по установленным формам отчетность по проделанной работе.
Ежеквартально проводит полный анализ финансово-хозяйственной деятельности (развернутый анализ состава затрат по экономическим элементам в динамике с предшествующим годом).
1.1.3 Экономическая характеристика предметной области
Рассмотрим что представляет из себя анализ финансово-хозяйственной деятельности предприятия.
Экономический анализ финансового состояния предприятия представляет собой аналитическое исследование способности предприятия финансировать свою деятельность.
Финансовое состояние характеризуется обеспеченностью финансовыми ресурсами, необходимыми для нормального функционирования предприятия, целесообразным их размещением и эффективным использованием, финансовыми взаимоотношениями с другими юридическими и физическими лицами, платёжеспособностью и финансовой устойчивостью.
Предметом экономического анализа являются хозяйственно-финансовые процессы, их результаты и факторы их формирования.
Цель анализа состоит в том, чтобы установить и оценить финансовое состояние предприятия и постоянно проводить работу, направленную на его улучшение. Анализ финансового состояния показывает, по каким конкретным направлениям надо вести эту работу. В соответствии с этим результаты анализа дают ответ на вопрос, каковы важнейшие способы улучшения финансового состояния предприятия в конкретный период его деятельности.
Таким образом, главная цель экономического анализа — своевременно выявлять и устранять недостатки в финансовой деятельности и находить резервы улучшения финансового состояния предприятия, его платёжеспособности. Не менее важная перспективная цель анализа — выработка наиболее достоверных предположений и прогнозов будущих финансовых условий функционирования субъекта хозяйствования.
Финансовое состояние — это важнейшая характеристика экономической деятельности предприятия во внешней среде. Оно определяет конкурентоспособность предприятия, его потенциал в деловом сотрудничестве, оценивает, в какой степени гарантированы экономические интересы самого предприятия и его партнёров.
Основными задачами экономического анализа финансового состояния являются:
объективная оценка состава и использования финансовых ресурсов на предприятии;
определение факторов и причин достигнутого состояния;
выявление, измерение и мобилизация резервов улучшения финансового состояния и повышения эффективности всей хозяйственной деятельности;
подготовка и обоснование принимаемых управленческих решений в области финансов.
Ключевым вопросом для понимания сущности и результативности финансового анализа является концепция хозяйственной деятельности как потока решений для развёртывания ресурсов (капиталов) с целью получения прибыли.
Получение прибыли является конечной целью хозяйственной деятельности предприятия не только потому, что в результате этого улучшается экономическое положение предприятия, но главное — получение достаточной прибыли необходимо для сохранения экономической жизнеспособности предприятия, сохранения возможности дальнейших вложений капитала.
Независимо от того, в какой сфере деятельности осуществляется бизнес (производство, торговля, сервис), конечная цель не меняется. Она сводится к тому, что первоначальный капитал в форме денежных средств через определённое время развёртывается в экономически выгодную величину (производственный потенциал) для возмещения этих средств и получения достаточной прибыли.
Все многообразие решений для достижения этой цели может быть сведено к трём основным направлениям:
решения по вложению капиталов (ресурсов);
операции, проводимые с помощью этих ресурсов;
определение структуры финансового бизнеса.
Своевременное и качественное обеспечение этих направлений финансовых решений является сущностью финансового анализа.
К объектам экономического анализа относятся: промышленные предприятия, торговые организации, акционерные общества, фирмы, концерны, банки, инвестиционные фонды и другие хозяйствующие субъекты, а также конкретные финансового — экономические показатели (ликвидность, прибыльность и пр).
В зависимости от пользователей аналитической информации финансовый анализ подразделяется на внутренний и внешний.
Внутренний анализ проводится непосредственно на предприятии для нужд оперативного, краткосрочного и долгосрочного управления производственной, коммерческой и финансовой деятельностью. Его цель — обеспечить планомерное поступление денежных средств и разместить собственные и заёмные средства таким образом, чтобы получить максимальный доход и прибыль. Для проведения внутреннего финансового анализа используется не только информация финансовой отчётности, но также данные управленческого учёта, синтетического и аналитического бухгалтерского учёта (например, оборотные ведомости о поступлении и движении хозяйственных средств), данные о технической подготовке производства, сбыте продукции, организации маркетинговой и коммерческой деятельности, нормативная и плановая информация.
Внешний анализ осуществляется на основании публичной финансовой и статистической отчётности органами хозяйственного управления, банками, финансовыми органами, инвесторами, аудиторами, хозяйственными партнёрами.
Внешний анализ отличает не только множественность субъектов анализа — пользователей финансовой информацией о деятельности предприятия, но и разнообразие целей и задач, которые они перед собой ставят.
Каждый хозяйствующий субъект изучает информацию, исходя из своих интересов. Так, акционерам и другим собственникам необходимо определить долю собственного капитала и динамику его изменения, оценить эффективность использования ресурсов администрацией предприятия, возможность получения дивидендов по результатам хозяйственной деятельности.
Кредиторы изучают финансовое состояние предприятия, его кредитоспособность с целью определения условий кредитования, выбора форм залогового обеспечения, оценки надёжности потенциального заёмщика, гарантий возврата кредита.
Инвесторов интересует не только текущее финансовое состояние, но и деловая активность предприятия, перспективы экономического роста, гарантии окупаемости возможных инвестиций, прибыльность проектов в сочетании с реальным финансовым положением предприятия.
Как показывает практика, финансовая нестабильность предприятия может отразиться на своевременности получения текущих платежей и потребовать изменений в формах расчёта. Поэтому хозяйственных партнёров — поставщиков материально-технических ресурсов, интересует в первую очередь финансовая устойчивость и платёжеспособность предприятия, независимость его от внешних кредиторов. Устойчивое финансовое состояние предприятия является также важным фактором определения дальнейших связей и условий хозяйствования с потребителями продукции, которые заинтересованы в успехах предприятия, так как от этого зависит их благополучие.
Налоговые органы контролируют правильность начислений налогов и своевременную и полную их оплату для поступления средств в бюджет; аудиторские фирмы — правильность отражения финансовой отчётности в соответствующих формах бухгалтерского учёта.
В отделе бухгалтерии предприятия «АЛЕФ» используется стандартная конфигурация АСУ 1С Бухгалтерия — УСН, которая полностью отвечает рабочим бизнес-процессам предприятия.
С 1 января 2003 года в систему налогообложения хозяйствующих субъектов введены специальные налоговые режимы, одним из которых является упрошенная система налогообложения.
Применение организациями упрощенной системы налогообложения предусматривает замену уплаты налога на прибыль организаций, налога на имущество организаций и единого социального налога уплатой единого налога, исчисляемого по результатам хозяйственной деятельности организаций за налоговый период. Организации, применяющие УСН, не признаются также налогоплательщиками налога на добавленную стоимость, за исключением налога, подлежащего уплате в соответствии с главой 21 НК РФ при ввозе товаров на таможенную территорию Российской Федерации.
В то же время за такими организациями сохраняется обязанность по уплате страховых взносов на обязательное страхование в соответствии с Федеральными законами от 15 декабря 2001 г. №167-ФЗ — Об обязательном пенсионном страховании в Российской Федерации — и от 24 июля 1998 г. №125-ФЗ — Об обязательном социальном страховании от несчастных случаев на производстве и профессиональных заболеваний». Иные налоги уплачиваются организациями, применяющими упрощенную систему налогообложения, в соответствии с общим режимом налогообложения.
Что касается экономической эффективности применения УСН, для конкретного предприятия, то необходимо провести следующий анализ.
У каждого из налогов, уплата которых в совокупности заменяется уплатой единого налога, свой объект налогообложения и порядок его определения. Поэтому нельзя простым сложением ставок всех налогов определить, насколько выгодно той или иной организации применять упрощенную систему налогообложения.
Для того чтобы оценить экономическую эффективность перехода на упрощенную систему налогообложения, организациям следует провести расчет и сопоставить общую сумму налогов, которую они в сравнимых условиях хозяйствования и момента признания доходов и расходов уплачивали бы при обычной и упрощенной системах налогообложения.
Переход на применение упрощенной системы при правильно проведенном предварительном расчете может дать серьезную выгоду при налогообложении, в то время как ошибка в выборе объекта налогообложения может ухудшить экономическое положение организации.
В соответствии со статьей 346-4 нк РФ организациям предоставлено право выбора объекта налогообложения. Это могут быть либо доходы, либо доходы, уменьшенные на величину расходов.
В соответствии с пунктом 3 статьи 346.21 НК РФ налогоплательщиками, выбравшими в качестве объекта налогообложения доходы, сумма налога (квартальных авансовых платежей), исчисленная за налоговый (отчетный) период, уменьшается на сумму страховых взносов на обязательное пенсионное страхование, уплачиваемых за этот же период времени, а также на сумму выплаченных работникам пособий по временной нетрудоспособности. При этом сумма страховых взносов на обязательное пенсионное страхование не может уменьшать сумму исчисленного налога (авансовых платежей по налогу) более чем на 50 процентов. Таким образом, минимальная сумма единого налога, уплачиваемая такими налогоплательщиками, без учета пособий по временной нетрудоспособности, не может быть меньше 3 процентов от полученного дохода. Это соответствует ситуации, когда величина расходов составляет 80 процентов от суммы доходов. Однако это не означает, что если расходы составляют 80 процентов и более от полученного дохода, то организации выгоднее выбрать объект налогообложения доходы, уменьшенные на величину расходов. Дело в том, что ограничение, предусмотренное для взносов на обязательное пенсионное страхование, не распространяется на выплаченные работникам пособия по временной нетрудоспособности. Если эти суммы значительны, то сумма налога (авансовых платежей по налогу), подлежащая уплате в бюджет, может оказаться равной нулю.
Если величина фактических расходов окажется меньше этого показателя, то организациям выгоднее выбрать объект налогообложения доходы, в противном случае доходы, уменьшенные на величину расходов.
При оценке экономической целесообразности перехода на упрощенную систему налогообложения следует учитывать еще один важный аспект. В рассмотренном выше примере расчета налоговой нагрузки при общей системе налогообложения и в условиях применения упрощенной системы налогообложения продажные цены сохранены без изменения. Предположим, что они уменьшаются на сумму НДС, оплачиваемых покупателем. Казалось бы, налоговая нагрузка снижается еще больше. Однако при этом торговая деятельность станет убыточной, поскольку общая сумма расходов, понесенных организацией, превысит сумму полученного дохода.
Таким образом, организациям при переходе на упрощенную систему налогообложения следует очень осмотрительно подходить к формированию цен на реализуемые товары, работы, услуги.
Что касается конкретно компании «АЛЕФ», то проведенный анализ показал целесообразность выбора такого налогообложения, а соответственно, выбранная модель налогообложения позволила выбрать и необходимую конфигурацию 1С.
1.2 Экономическая сущность комплекса экономических информационных задач. Реализация экономической модели предприятия с помощью учетной системы 1С УCН
1.2.1 Общие сведения о задачах. Описание имеющейся учетной схемы предприятия в рамках УСН 1С
Система автоматизации для ведения учета организациями, применяющими упрошенную систему налогообложения, построена на компоненте «Бухгалтерский учет» системы 1С: Предприятие в виде специализированной конфигурации «Упрошенная система налогообложения».
Необходимость в специализации конфигурации обусловлена отличиями, присущими упрошенной системе налогообложения.
Во-первых, объектом налогообложения единым налогом являются либо доходы, либо доходы, уменьшенные на величину расходов. При этом доходы и расходы признаются только кассовым методом. В отношении расходов это означает, что при определении налоговой базы учитываются лишь оплаченные расходы.
Во-вторых, перечень видов расходов, на которые могут быть уменьшены доходы при втором варианте объекта налогообложения, не охватывает всех расходов организации. При этом в особом порядке признаются расходы на приобретение основных средств, понесенные организацией до перехода на упрощенную систему налогообложения.
В-третьих, бухгалтерский учет имущества, доходов и расходов, обязательств и т.д. такие организации могут вести по упрошенным правилам, за исключением учета основных средств и нематериальных активов.
Основным учетным регистром при упрощенной системе налогообложения является Книга учета доходов и расходов. Порядком се ведения предусмотрено, что доходы и расходы отражаются в ней по мере их признания в целях налогообложения. Для правильного определения налоговой базы плательщику единого налога необходимо, в частности, обеспечить:
раздельный учет доходов, подлежащих и не подлежащих налогообложению;
обособленный учет расходов, признаваемых для целей налогообложения, от остальных расходов для объекта налогообложения доходы, уменьшенные на величину расходов;
контроль оплаты доходов и расходов, учитываемых для целей налогообложения;
бухгалтерский и налоговый учет основных средств и нематериальных активов, в том числе основных средств, приобретенных до перехода на УСН. Проведя всесторонний и глубокий анализ, специалисты фирмы «1С» сочли целесообразным создание отдельной специализированной конфигурации для ведения учета и отчетности в организациях, применяющих упрощенную систему налогообложения.
Как и любая конфигурация в системе 1С: Предприятие, «Упрощенная система налогообложения» представляет собой совокупность трех взаимосвязанных частей: структуры метаданных, набора пользовательских интерфейсов и набора прав.
Рис.1.4 Пример журнала операций над основными средствами.
Структура метаданных конфигурации «Упрощенная система налогообложения» представляет собой совокупность взаимосвязанных объектов метаданных, настроенных на хранение и обработку информации о хозяйственной деятельности организаций, применяющих этот специальный налоговый режим см. рис.1.4
Для описания модели предметной области используются следующие виды объектов:
константы;
справочники;
документы;
журналы документов;
перечисления;
отчеты;
обработки;
бухгалтерские счета;
виды субконто;
операции и проводки.
В константах хранится постоянная или условно-постоянная информация, т.е. такая информация, которая либо совсем не изменяется в процессе эксплуатации системы, либо изменяется достаточно редко. Например, в конфигурации «Упрощенная система налогообложения» они используются для хранения сведений об организации, применяющей упрощенную систему налогообложения, ее руководителе, главном бухгалтере и кассире, об объекте налогообложения и т.д.
Справочники предназначены для хранения сведений о множестве однородных объектов. Каждый справочник представляет собой список однородных объектов предметной области: сотрудников, контрагентов, номенклатуры материально-производственных запасов и т.д. Отдельные объекты справочника называют элементами справочника. В типовой конфигурации справочники используются, главным образом, для организации аналитического учета (справочники «Сотрудники», «Статьи затрат», «Банковские счета») или в качестве источников информации (справочники «Валюты», «Единицы измерений», «Классификатор ЕНАОФ»).
Для хранения информации о различных фактах хозяйственной деятельности организации предназначены документы. Документы играют центральную роль в системе автоматизации. С их помощью в информационной базе регистрируются операции по движению денежных средств («Приходный кассовый ордер», «Расходный кассовый ордер», «Выписка»), поступлению и отпуску материально-производственных запасов («Поступление МПЗ», «Перемещение МПЗ»), начислению оплаты труда («Начисление зарплаты») и т.д.
Отчеты предназначены для получения результатной информации по некоторому алгоритму, описанному на встроенном языке системы 1С: Предприятие. Различают внутренние и внешние отчеты. Внутренние являются частью конфигурации, внешние хранятся в отдельных файлах. Внутренние отчеты подразделяются на стандартные и специализированные, С помощью стандартных отчетов проводится анализ остатков и оборотов на счетах рабочего плана счетов с различными вариантами группировки данных. Специализированные отчеты предназначены для обобщения определенных учетных данных и их представления в определенном виде, например, «Кассовая книга», «Книга учета доходов и расходов».
Рис.1.5 Пример реестра основных средства предприятия «Алеф».
Стержнем учетной системы конфигурации «Упрощенная система налогообложения» является рабочий план счетов, который базируется на Плане счетов, утвержденном приказом Минфина РФ от 31 октября 2000г №94н.
В конфигурации сохранены номера и наименования большинства синтетических счетов. Это позволяет снизить трудозатраты пользователей как при переходе на УСН с общего режима налогообложения, а также при возможном возврате на общий режим или переходе на него с УСН.
Вместе с тем, в конфигурации не используется ряд субсчетов первого уровня, предусмотренных Планом счетов и открытых к синтетическим счетам в конфигурации «Бухгалтерский учет», предназначенной для ведения учета при общем режиме налогообложения, или открыты новые, необходимость в которых обусловлена особенностями учета доходов и расходов в условиях применения упрощенной системы налогообложения.
Аналитический учет ведется по отдельным инвентарным объектам с помощью справочника «Основные средства» см. рис.1.5 и 1.6
Для обобщения информации о наличии и движении нематериальных активов организации и суммах начисленной по ним амортизации, предназначены соответственно счета 04 «Нематериальные активы» и 05 «Амортизация нематериальных активов». На счете 04 учитываются также принятые к учету расходы на НИОКР. Учет НМЛ ведется на субсчете 04.1 «Нематериальные активы», расходов на научно-исследовательские, опытно-конструкторские и технологические работы — на субсчете 04.2 «Расходы на НИОКР».
Для обобщения информации о затратах организации в объекты, которые впоследствии будут приняты к бухгалтерскому учету в качестве основных средств, нематериальных активов и расходов на НИОКР предназначен счет 08 «Вложения во внеоборотные активы», к которому открыты субсчета:
08.3 «Строительство объектов основных средств»;
08.4 «Приобретение отдельных объектов основных средств»;
08.5 «Приобретение нематериальных активов»; 08.8 «Выполнение НИОКР».
Аналитический учет ведется с использованием справочника «Объекты внеоборотных активов».
Для обобщения информации о наличии и движении материально-производственных запасов в виде сырья, материалов, топлива, запасных частей, инвентаря и хозяйственных принадлежностей, тары и т.д. (далее — материалы) предназначен синтетический счет 10 «Материалы», к которому открыто несколько субсчетов первого уровня. В отличие от «стандартного» Плана счетов, субсчета открыты не по видам материалов, а по видам затрат на их приобретение:
10.1 «Материалы, расходы на приобретение которых не принимаются для целей налогообложения»;
10.2 «Материалы, расходы на приобретение которых принимаются для целей налогообложения»;
10.3 «Материалы, расходы на приобретение которых принимаются для целей налогообложс1П1я (в валюте)»;
10.11 «Транспортно — заготовительные расходы, не принимаемые для целей налогообложения»;
10.12 «Транспортно-заготовительные расходы, принимаемые для целей налогообложения»;
10.13 «Транспортно-заготовительные расходы, принимаемые для целей налогообложения (в валюте)».
На субсчетах 10.1-10.3 отражаются только суммы, уплачиваемые в соответствии с договором поставщику (продавцу) включая суммы налога на добавленную стоимость, а на субсчетах 10.11-10.13 — все остальные затраты, формирующие фактическую себестоимость материалов.
При отражении информации о фактических затратах на приобретение материалов следует учитывать, что на субсчетах 10.2-10.3 и 10.12-10.13 отражаются лишь та их часть, которая признается материальными расходами в целях налогообложения в соответствии с главой 26 2 — Упрощенная система налогообложения — части второй НК РФ.
Организации, выбравшие объектом налогообложения доходы, все расходы на приобретение материалов отражают с использованием субсчетов 10.1 и 10.11.
Организации, выбравшие объектом налогообложения доходы, уменьшенные на величину расходов, используют субсчета 10.1 и 10.11 для материалов, принятие к учету которых не связано с возникновением материальных расходов в целях налогообложения, например внесенных в счет вклада в уставный (складочный) капитал организации.
Система аналитического учета материалов в конфигурации построена таким образом, чтобы обеспечить информацией как пользователя для принятия управленческих решений, так и систему — для автоматического распознавания оплаченных материальных расходов при объекте налогообложения доходы, уменьшенные на величину расходов.
Рис.1.6 Пример справочника основных средства предприятия «Алеф».
Ведение учета в конфигурации «Упрощенная система налогообложения» подразумевает сплошную, непрерывную, документально обоснованную и взаимосвязанную регистрацию всех совершаемых в организации хозяйственных операций.
Под сплошным отражением хозяйственной деятельности понимается обязательный учет всего имущества, всех видов обязательств, всех хозяйственных операций организации.
Непрерывность подразумевает постоянное (во времени) наблюдение и документирование фактов хозяйственной деятельности.
Под документированием понимается оформление первичного учетного документа, фиксирующего факт совершения хозяйственной операции. Например, операции по кассе оформляются приходным и расходным ордерами, отгрузка товара — выпиской накладной.
Первичные документы, в том числе подготовленные средствами конфигурации, должны содержать следующие обязательные реквизиты:
наименование документа (формы);
код формы;
дата составления;
содержание хозяйственной операции;
измерители хозяйственной операции (в натуральном и денежном выражении);
наименование должностей лиц, ответственных за совершение хозяйственной операции и правильность ее оформления;
личные подписи и расшифровки.
Взаимосвязанность отражения обусловлена зависимостью совершаемых фактов между собой. Например, после перечисления налогов уменьшится не только задолженность перед бюджетом, но и остаток денежных средств на расчетном счете.
Взаимосвязанное отражение хозяйственной деятельности организации в типовой конфигурации обеспечивается способом двойной записи на счетах бухгалтерского учета рабочего плана счетов. Двойная запись или проводка подразумевает, что сумма каждой хозяйственной операции записывается на счетах дважды (по дебету одного счета и кредиту другого).
Для регистрации всех совершаемых в организации хозяйственных операций в конфигурации предназначены объекты метаданных «Операция» и «Проводка». Операция является минимальной единицей учетной информации в системе.
Каждая операция может содержать одну или несколько проводок, отражающих хозяйственную операцию в бухгалтерском учете в натуральном и денежном выражении.
Операция включает не только проводки, но и некоторую общую часть, характеризующую ее в целом: дату, номер, сумму, содержание и комментарий.
Проводки операции могут быть сформированы документами, входящими в состав структуры метаданных, введены вручную или с помощью шаблона типовой операции. Принципиально возможно спроектировать документы, которые будут автоматически генерировать проводки всех операций, фиксирующих факты хозяйственной деятельности организации. Но на практике это не всегда экономически выгодно. Возможны случаи, когда хозяйственные операции единичны или лишь изредка повторяются, например выдача работнику займа или увеличение уставного капитала. Затраты на разработку документов с автоматическим формированием проводок в этом случае будут несоизмеримо больше, чем ввод проводок вручную.
При отражении хозяйственных операций вручную в экранной форме самостоятельно заполняют сумму и содержание операции, а также вводят бухгалтерские проводки с заполнением всех необходимых сведений об объектах аналитического учета, если по счету ведется аналитический учет.
Поскольку основанием регистрации операции является первичный учетный документ, в реквизите «Комментарий» указывают наименование и номер первичного документа.
Дата операции должна соответствовать дате составления первичного учетного документа.
Ввод и редактирование операции вручную производится в конфигурации при работе с журналом операций или проводок с помощью соответствующих пунктов меню «Действия» или пиктограмм.
Запись операции в информационную базу производится нажатием на кнопку «Записать» или «ОК».
Наиболее удобным является способ регистрации учетной информации с помощью документов. Режим использования настроенных документов позволяет автоматически генерировать операцию, а при необходимости — и проводки на основании информации, введенной в экранную форму документа.
Набор документов, автоматизирующих учет хозяйственных операций, рассчитан на ведение наиболее важных разделов учета:
учет операций по кассе;
учет операций по банку;
учет основных средств;
учет нематериальных активов;
учет материалов;
учет товаров;
учет затрат на производство;
учет издержек обращения;
учет выпуска продукции;
учет взаиморасчетов с поставщиками и покупателями;
учет оплаты труда;
учет расчетов с подотчетными лицами.
Документы типовой конфигурации позволяют практически полностью автоматизировать большинство участков учета. Они охватывают учет кассовых и банковских операций, материально-производственных запасов, расчетов с поставщиками и подрядчиками, покупателями и заказчиками, продаж товаров, работ, услуг и т.д.
В конфигурации «Упрощенная система налогообложения» использование документов для регистрации хозяйственных операций имеет первостепенное значение, поскольку при их проведении записи формируются на счетах не только бухгалтерского, но и налогового учета.
Документы типовой конфигурации классифицируют по различным основаниям.
По отношению к хозяйственной операции различают документы для отражения совершенных и совершаемых хозяйственных операций.
К первым относятся документы, которые фиксируют уже совершенные хозяйственные операции, например списание денежных средств с расчетного счета, потребление услуг сторонних организаций т.д.
Отличительной особенностью этих документов является отсутствие печатной формы, поскольку первичными являются те документы, на основании которых компьютерный документ собственно и вводится в информационную базу. Примерами документов первой группы являются «Выписка», «Услуги сторонних организаций».
Ко вторым относятся компьютерные документы, предназначенные для отражения совершаемых хозяйственных операций. Такие документы, как правило, имеют печатную форму для вывода на бумажный носитель первичного документа установленного образца. Работают с документом этого вида, как правило, в два этапа. Первый этап совпадает с началом совершения хозяйственной операции. Он включает заполнение экранной формы документа, вывод печатной формы на бумажный носитель и сохранение документа в информационной базе. На втором этапе документ вновь открывают, уточняют значение отдельных реквизитов, вновь сохраняют, но при этом проводят. В качестве примера можно привести документы «Приходный кассовый ордер», «Расходный кассовый ордер».
Учитывая выше описанную схему работы с документами, основанную на готовых шаблонах, в которые вносится ряд изменений при формировании, можно преобразовать эту часть работы в отдельный блок не нарушая общей системы работы, что ускорило бы и оптимизировало процесс.
1.2.2 Обоснование выбора задач, входящих в комплекс. Преимущества основной учетной системы 1С УСН, а также недостающие звенья автоматизированного учета
Как мы уже упоминали ранее, основой учета является АСУ — является 1С Бухгалтерия 7.7, УСН типовая конфигурация. Несомненно, эта система имеет огромное количество преимуществ, из них самые главные:
это открытость системы. Многие привыкли к тому, что компьютерная программа — это черный ящик. Что в нем происходит — никому, кроме разработчика, не понятно, а программа может делать только то, что в нее изначально заложено, и большего от нее не добиться. С системой 1С все с точностью до наоборот. По сути дела компания 1С продает не только готовые программы экономического назначения для ведения тех или иных видов учета, она еще и комплектует их инструментами, с помощью которых (обладая определенной квалификацией программиста, конечно же) можно перенастроить (перепрограммировать), доработать существующие решения индивидуально под нужды конкретного предприятия. Более того, с помощью имеющихся средств пользователю дается возможность создавать свои собственные учетные конфигурации. Такой подход придает системе 1С колоссальную гибкость, что выделяет ее из ряда подобных программ очень и очень сильно.
Вторым важным преимуществом систем 1С является наличие широкой партнерской сети — большого количества компании, способных обслуживать данные программные продукты. И действительно, ведь сама по себе открытость системы обычному пользователю мало что дает. На рынке и помимо 1С присутствуют системы с открытой платформой. Однако часто адаптировать программы под собственный учет можно, а специалистов способных это квалифицированно сделать нет.
Еще одно важнейшее преимущество 1С заключается в высокой оперативности поддержки системы со стороны разработчика. Наиболее значимым это преимущество является для тех, кто пользуется конфигурацией «Бухгалтерский учет». Фирма 1С же, являясь, по сути, очень крупной и мощной компаний, всегда обеспечивает своих пользователей своевременным обновлением. Более того, все обновления распространяются для зарегистрированных пользователей бесплатно.
Тем не менее, несмотря на эти три главных плюса системы, а также несмотря на довольно гибкую настраиваемую систему, встроенный язык (макроязык) программирования, есть весьма трудные комплексные моменты, которые возникают при работе с 1С Предприятием, в частности с 1С Бухгалтерией.
Один из таких минусов — это индивидуальные конфигурации предприятия.
Самой сложной с точки зрения организации учета является ситуация, когда вам необходимо автоматизировать и бухгалтерский учет, и управленческий. Имеется в виду, что два вида учета должны быть связаны между собой определенным образом. Самое простое решение этой задачи — использовать для ведения учета входящую в состав комплексной поставки 1С: Предприятие 7.7 комплексную конфигурацию.
Управленческий учет, в отличие от бухгалтерского, целиком и полностью определяется нами — это обычно наше поле для творчества. Здесь мы решаем, что и как должно быть устроено, чтобы отражать реальную картину на нашем предприятии. А это означает, что рано или поздно, заложенных в типовую конфигурацию механизмов нам не хватит, и мы вынуждены будем воспользоваться созданием в ней «индивидуальных настроек», которые будут описывать наши специфические потребности в учете.
Более скромной проблемой является та задача, которую призван решить данный дипломный проект — быстрая и удобная система заполнения унифицированных форм. Функциональная насыщенность комплекса 1С Бухгалтерия достаточно высока для обеспечения основных необходимостей бухгалтерского учета и документооборота и позволяет охватить максимум необходимых задач. По функциональности, однако, мы дополняем имеющуюся схему отдельным блоком автоматизации документооборота — т.е. автоматическое формирование на основании имеющихся динамических данных 1С заполненных документов — стандартных форм документооборота. Таким образом, так как наш блок АСУ является дополнительным и внешним к основной учетной системе, а не конкурирующим, то его функциональность должна быть очень высока при правильной реализации.
1.2.3 Способы решения задачи. Общая модель подбора решения
В современных условиях динамично развивается рынок комплексных интегрированных систем автоматизации предприятий и учреждений самого различного профиля (финансовых, промышленных, офисных) и самых различных размеров с разнообразными схемами иерархии, начиная от малых предприятий численностью в несколько десятков человек и завершая крупными корпорациями численностью в десятки тысяч сотрудников. Такие системы предназначены для решения задач как предприятия в целом (управление финансовыми ресурсами, управление запасами, планирование и производство, сбыт и снабжение, техническое обслуживание и ремонт оборудования, управление персоналом и т.п.), так и уровня его производственных подразделений, цехов и участков.
Фактически проблема комплексной автоматизации стала актуальной для каждого предприятия. Уже не стоит вопрос “надо или не надо автоматизировать”, предприятия столкнулись с проблемой: каким образом это осуществить. Подобная переориентация предприятий объясняется следующими основными причинами:
повышением степени организационной и финансовой самостоятельности;
выходом на зарубежный рынок;
стремлением ряда западных компаний производить свои товары в России;
возрастающей ориентацией предприятий на бизнес-процессы, т.е. деятельности, имеющие ценность для клиента;
появлением на рынке как зарубежных, так и отечественных систем автоматизации, опыта их внедрения и использования и др.
Главная особенность индустрии систем автоматизации различных предприятий и учреждений, характеризующихся широкой номенклатурой входных данных с различными (и нетривиальными) маршрутами их обработки, состоит в концентрации сложности на начальных этапах анализа требований и проектирования спецификаций системы при относительно невысокой сложности и трудоемкости последующих этапов. Фактически здесь и приходит понимание того, что будет делать будущая система и каким образом она будет работать, чтобы удовлетворить предъявленным к ней требованиям. А именно нечеткость и неполнота системных требований, нерешенные вопросы и ошибки, допущенные на этапах анализа и проектирования, порождают на последующих этапах трудные, часто неразрешимые проблемы и, в конечном счете, приводят к неуспеху всей работы в целом.
С другой стороны, не существует двух одинаковых организаций. Даже в таком учреждении как Сбербанк России на уровне его отделений и филиалов выявляются различия в применяемых технологиях. А следовательно, простое тиражирование даже очень хорошей системы управления предприятием никогда не устроит заказчика полностью, поскольку не может учесть его специфики. Более того, в данном случае возникает проблема выбора именно той системы, которая наиболее подходит для конкретного предприятия. А эта проблема осложняется еще и тем, что ключевые слова, характеризующие различные системы, практически одни и те же:
единая информационная среда предприятия;
режим реального времени;
независимость от законодательства;
интеграция с другими приложениями (в том числе с уже работающими на предприятии системами);
поэтапное внедрение и т.п.
Следует отметить, что для большинства предприятий необходим и предваряющий автоматизацию этап — наведение порядка в их деятельности, создание рациональных технологий и бизнес-процессов. Речь даже не идет о жестком их реинжиниринге, в современных российских условиях происходит массовый бизнес-инжиниринг.
Ниже сформулированы два крайних подхода к автоматизации предприятий, полностью игнорирующие приведенные тезисы.
1. Короткое и “легкое» обследование предприятия и дальнейшее лоббирование одной из интегрированных систем управления предприятием под красивыми лозунгами настройки и адаптации под конкретного заказчика (кстати, стоимость такой настройки может на порядок превышать стоимость модулей системы и требовать серьезных временных затрат, совместимых с затратами на разработку новой системы). При этом, как правило, фирма-исполнитель еще до проведения обследования (да и вообще, до появления заказчика на ее горизонте) знает, какую именно систему она будет внедрять, и осуществляет соответствующую “адаптацию” результатов обследования.
2. Детальное обследование предприятия и разработка на его основе собственной системы управления, дублирующей существующие на предприятии технологии, что только усугубляет ситуацию (автоматизируя хаос и неразбериху, можно получить только “автоматизированный хаос”).
Очевидно, что перечисленные подходы к автоматизации уже не могут устроить заказчика, желающего “увидеть” и скорректировать будущую систему до того, как она будет реализована физически, и в конечном итоге за свои немалые деньги получить реальную выгоду от ее эксплуатации.
С другой стороны, самостоятельно с задачей выбора и тем более разработки собственной системы предприятие справиться не в состоянии. И прежде всего потому, что на предприятии, как правило, отсутствует единая концепция автоматизации. Возникает необходимость в услугах независимых от производителей систем автоматизации консалтинговых фирм.
На основе системного проекта и принятых решений по автоматизации осуществляется проектирование системы. Фактически здесь дается ответ на вопрос: «Как (каким образом) мы будем строить систему, чтобы она удовлетворяла предъявленным к ней требованиям?».
Этот этап разделяется на два подэтапа:
проектирование архитектуры системы, включающее разработку структуры и интерфейсов ее компонент (автоматизированных рабочих мест), согласование функций и технических требований к компонентам, определение информационных потоков между основными компонентами, связей между ними и внешними объектами;
детальное проектирование, включающее разработку спецификаций каждой компоненты, разработку требований к тестам и плана интеграции компонент, а также построение моделей иерархии программных модулей и межмодульных взаимодействий и проектирование внутренней структуры модулей.
При этом происходит расширение системного проекта:
за счет его уточнения;
за счет построения моделей автоматизированных рабочих мест, включающих подсхемы информационной модели и функциональные модели, ориентированные на эти подсхемы вплоть до идентификации конкретных сущностей информационной модели;
за счет построения моделей межмодульных и внутримодульных взаимодействий с использованием техники структурных карт.
Что касается конкретно нашей задачи, то для ее решения удобно использовать какое-то хранилище данных (для формирования документов), а также интерфейсную часть, для того чтобы организовать программное и интерфейсное взаимодействие с самими данными. Для того, чтобы провести разработку такого дополнительного модуля, нам надо было провести работу по выбору инструментария для разработки интерфейсной части, а также СУБД для хранения данных.
1.3 Обоснование проектных решений по автоматизированному решению экономико-информационных задач. Основные моменты автоматизации учета деятельности предприятия. Решение наших задач с точки зрения автоматизации учета на предприятии
Эта работа предваряет собственно систему автоматизации (именно, фазой анализа требований к системе), на которой требования заказчика уточняются, формализуются и документируются. Фактически на этом этапе дается ответ на вопрос: «Что должна делать будущая система?». Именно здесь лежит ключ к успеху всего проекта автоматизации. В практике создания больших программных систем известно немало примеров неудачной реализации именно из-за неполноты и нечеткости определения системных требований.
На этом этапе определяются:
архитектура системы, ее функции, внешние условия ее функционирования, распределение функций между аппаратной и программной частями;
интерфейсы и распределение функций между человеком и системой;
требования к программным и информационным компонентам системы, необходимые аппаратные ресурсы, требования к базе данных, физические характеристики компонент системы, их интерфейсы;
состав людей и работ, имеющих отношение к системе;
ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации).
Системный проект строится на основе модели “как должно быть” и включает функциональную модель будущей системы в соответствии с одним из общеупотребительных стандартов (например, IDEF0 или IDEF3), информационную модель, например, в соответствии со стандартом IDEF1X, а также техническое задание на создание автоматизированной системы (например, в соответствии с ГОСТ 34.602-89).
По завершении данного этапа (после согласования системного проекта с заказчиком) изменяется роль консультанта. Отныне он как бы становится на сторону заказчика, и одной из его основных функций на всех последующих этапах работ будет являться контроль на соответствие требованиям, зафиксированным в системном проекте.
Необходимо отметить следующее достоинство системного проекта. Для традиционной разработки характерно осуществление начальных этапов кустарными неформализованными способами. В результате заказчики и пользователи впервые могут увидеть систему после того, как она уже в большей степени реализована. Естественно, эта система отличается от того, что они ожидали увидеть. Поэтому далее следует еще несколько итераций ее разработки или модификации, что требует дополнительных (и значительных) затрат денег и времени. Ключ к решению этой проблемы и дает системный проект, позволяющий:
описать, «увидеть» и скорректировать будущую систему до того, как она будет реализована физически;
уменьшить затраты на разработку и внедрение системы;
оценить разработку по времени и результатам;
достичь взаимопонимания между всеми участниками работы (заказчиками, пользователями, разработчиками, программистами и т.д.);
улучшить качество разрабатываемой системы, а именно: создать оптимальную структуру интегрированной базы данных, выполнить функциональную декомпозицию типовых модулей.
Системный проект полностью независим и отделяем от конкретных разработчиков, не требует сопровождения его создателями и может быть безболезненно передан другим лицам. Более того, если по каким-либо причинам предприятие не готово к реализации на основе проекта, он может быть положен «на полку» до тех пор, пока в нем не возникнет необходимость. Кроме того, его можно использовать для самостоятельной разработки или корректировки уже реализованных на его основе программных средств силами программистов отдела автоматизации предприятия.
На основании системного проекта осуществляется:
составление перечня автоматизированных рабочих мест предприятия и способов взаимодействия между ними;
анализ применимости существующих систем управления предприятиями для решения требуемых задач и формирование рекомендаций по выбору такой системы;
совместное с заказчиком принятие решения о выборе конкретной системы управления предприятием или разработке собственной системы;
разработка требований к техническим средствам;
разработка требований к программным средствам;
разработка предложений по этапам и срокам автоматизации.
Что касается конкретно нашей задачи, то исключительно практическая необходимость и целесообразность позволяет правильно сформировать постановку задачи и разработать схему интерфейса, а также саму структуру данных.
1.3.1 Обоснование проектных решений по информационному обеспечению комплекса задач. Подбор информационного обеспечения для блока работы с унифицированными формами
Что касается информационного обеспечения комплекса для решения поставленной задачи, то как мы выше уже указывали для этих целей нам необходимо подобрать максимально простую, но эффективную СУБД для работы с данными, а также собственно язык программирования, который сможет обеспечить взаимодействие с данными и пользовательский интерфейс. Начнем с СУБД.
Общая классификация. База данных (БД) — это данные, организованные в виде набора записей определенной структуры и хранящиеся в файлах, где, помимо самих данных, содержится описание их структуры. Система управления базами данных (СУБД) — это система, обеспечивающая ввод данных в БД, их хранение и восстановление в случае сбоев, манипулирование данными, поиск и вывод данных по запросу пользователя. По моделям представления данных базы данных делят на:
иерархические
сетевые
реляционные
объектно-реляционные
Иерархические базы данных — это самая первая модель представления данных, в которой все записи базы данных представлены в виде дерева, с отношениями предок-потомок. Физически данные отношения реализуются в виде указателей на предков и потомков, содержащихся в самой записи. Такая модель представления данных связана с тем, что на ранних этапах базы данных часто использовались для планирования производственного процесса: каждое выпускаемое изделие состоит из узлов, каждый узел из деталей и т.п.
Однако иерархическая модель не является оптимальной. Допустим, что один и тот же тип болтов используется в автомобиле 300 раз в различных узлах. При использовании иерархической модели, данный тип болтов будет фигурировать в базе данных не 1 раз, а 300 раз (в каждом узле — отдельно). Налицо дублирование информации. Чтобы устранить этот недостаток была введена сетевая модель представления данных.
Сетевая база данных — это база данных, в которой одна запись может участвовать в нескольких отношениях предок-потомок. Т.е. фактически, база данных представляет собой не дерево, а граф.
Физически данная модель также реализуется за счет хранящихся внутри самой записи указателей на другие записи, только, в отличие от иерархической модели, число этих указателей может быть произвольным. И иерархическая и сетевая модель достаточно просты, однако они имеют общий недостаток: для того, чтобы получить ответ даже на простой вопрос, программист был должен написать программу, которая просматривала базу данных, двигаясь по указателям от одной записи к другой. Написание программы занимало некоторое время, и часто к тому моменту, когда такая программа была написана, необходимость в получении данных уже отпадала. Поэтому в середине 80-х годов 20 века произошел практически повсеместный переход к реляционным базам данных.
В реляционной базе данных вся информация представляется в виде таблиц и любые операции над данными — это операции над таблицами. Таблицы состоят из строк и столбцов. Строки — это записи, а столбцы представляют структуру записи (каждый столбец имеет определенный тип данных и длину данных). Строки в таблице не упорядочены — не существует первой или десятой строки. Однако поскольку на строки надо как-то ссылаться, то вводится понятие «первичный ключ». Первичный ключ — это столбец, значения которого во всех строках разные. Используя первичный ключ можно однозначно сослаться на какую-либо строку таблицы. Первичный ключ может состоять и из нескольких столбцов (составной первичный ключ).
Некоторые СУБД требуют в явном виде указать первичный ключ таблицы, а некоторые позволяют пользователю не задавать для таблицы первичный ключ — в таком случае СУБД сама добавляет в таблицу столбец — первичный ключ, не отображаемый на экране (так, например, в СУБД Oracle у любой таблицы существует псевдо-столбец ROWID, формируемый Oracle, который содержит уникальный адрес каждой строки).
Отношения предок-потомок в реляционных БД реализуются при помощи внешних ключей. Внешний ключ это столбец таблицы, значения которого совпадают со значениями первичного ключа некоторой другой таблицы.
Объектно-реляционные базы данных появились в последнее время у значительного числа производителей СУБД (Oracle, Informix, PostgreSQL) и сочетают в себе реляционную модель данных с концепциями объектно-ориентированного программирования (полиморфизм, инкапсуляция, наследование).
СУБД Oracle. СУБД ORACLE является на сегодняшний день самой мощной, многофункциональной и легко масштабируемой СУБД, построенной по архитектуре «клиент/сервер», поддерживающей практически все существующие платформы. Это прекрасный выбор для крупной организации: первоначальные затраты на установку (лицензия, приобретение высокопроизводительных серверов) в будущем обернутся значительной экономией средств при необходимости расширения базы данных. Для небольшой организации мощь Oracle может оказаться чрезмерной, в таком случае можно рекомендовать использование Microsoft SQL Server (Windows NT/2000) или PostgreSQL (Linux/Unix). Для фирм малого бизнеса стандартом остается СУБД MS Access. Тем не менее, Oracle продолжает занимать значительную долю рынка, являясь пожалуй самой передовой СУБД.
База данных Oracle содержит различные типы объектов. Эти объекты можно подразделить на две категории: объекты схемы и объекты, не принадлежащие схемам. Схема ( schema) — это набор объектов различной логической структуры данных. Каждая схема принадлежит пользователю базы данных и имеет одинаковое с ним имя. Каждый пользователь владеет одной схемой. Схема может содержать следующие объекты:
таблицы;
индексы;
кластеры;
представления (виды);
снимки — snapshots, журналы репликаций;
линки/связи базы данных (содержат информацию о подключении к удаленной базе данных);
последовательности;
синонимы;
пакеты, хранимые процедуры, функции, триггеры;
библиотеки внешних процедур;
СУБД MS SQL Server, сравнение с MS Access. MS SQL Server — это реляционная СУБД, построенная по архитектуре клиент-сервер. MS SQL Server ориентирован на использование в операционных системах Windows NT/2000 и использует в своей работе системные функции этих ОС, что значительно упрощает архитектуру MS SQL Server, в отличие от других СУБД, вынужденных дублировать некоторые функции ядра операционной системы, для обеспечения межплатформенной переносимости. За счет такой тесной интеграции с Windows NT/2000, СУБД MS SQL Server работает на всех платформах, для которых реализована Windows NT/2000.
SQL Server — это не просто улучшенный Access. В SQL Server реализована система разграничения доступа к объектам базы данных (разные пользователи имеют разные права по работе с различными таблицами, запросами и т.д.). Ограничения доступа можно выставлять не только на таблицу в целом, но даже и на отдельные ее столбцы. Также в SQL Server поддерживается механизм ролей. Роль — это набор прав доступа к объектам базы данных. Роли для каждой базы данных можно определять самостоятельно или пользоваться заранее определенными ролями. Например, роль администраторы безопасности (security admin) — это пользователи которые могут допускать других пользователей к работе с базой данных, роль создатели базы данных (db creators, database creators) — пользователи которые могут создавать и изменять структуру базы данных и т.д. Используя роли можно быстро и удобно разграничить доступ между пользователями, предоставив им только те права, которые действительно необходимы. Причем нарушения прав доступа, также как и сама работа SQL Server будут протоколироваться в специальных log-файлах. SQL Server также позволяет пользователям, правильно указавшим свой пароль при входе в сеть (домен Windows NT/2000), повторно не вводить пароль при доступе к базе данных (Windows authentication mode).
К другим существенным отличиям относится то, что если в Access хранимые процедуры и функции пишутся на VBA (Visual Basic for Applications), то в SQL Server основным языком написания хранимых процедур является Transact SQL (хотя могут использоваться и внешние хранимые процедуры, написанные на других языках). Transact SQL — это диалект SQL, в котором, помимо стандартных инструкций SQL, предусмотрены возможности организации циклов, условного выполнения операторов и т.д.
MS SQL Server может содержать несколько баз данных. На одном компьютере может быть установлено несколько экземпляров MS SQL Server. Каждая база данных содержит следующие объекты:
таблицы
индексы
представления (виды, запросы)
диаграммы (схема данных)
курсоры (окно накладываемое на набор данных, аналог окна в текстовом редакторе, в котором в каждый момент времени отображается только часть документа)
триггеры, хранимые и внешние процедуры, функции пользователя, пользовательские типы данных
правила (ограничения на значения столбцов) и умолчания (значения столбцов по умолчанию) — необходимо для совместимости со старыми версиями, в новых версиях все эти ограничения указываются в инструкции Create языка SQL.
перечень пользователей, допущенных к базе данных и их разрешения, роли пользователей
каталоги полнотекстного поиска (позволяет осуществлять поиск текста по столбцам таблицы, включая столбцы, в которых в качестве значений содержатся файлы. doc,. xls,. txt,. htm)
СУБД Informix Universal Server. Работы над системой управления базами данных Informix были начаты в 1980 г. Согласно начальному замыслу Informix рассматривалась как СУБД, специально ориентированная для работы в среде ОС UNIX и использующая реляционную модель данных. Однако чисто реляционная модель данных не лишена определенных недостатков. За счет использования концепций объектно-ориентированного программирования (инкапсуляция, полиморфизм и наследование) Informix Universal Server позволяет вводить новые базовые типы данных, одновременно с введением для них специальных алгоритмов хранения, доступа и индексирования. При этом можно использовать как встроенные в Informix Universal Server методы доступа и хранения, так и определять новые
СУБД DB2. Одна из первых реляционных СУБД. Разработка фирмы IBM. Построена по архитектуре клиент-сервер и имеет огромный набор возможностей. Первоначально предназначалась для работы на мэйнфреймах, под управлением операционной системы OS/390. Существуют также версии под ОС Windows NT/2000, Linux и др. операционные системы.
СУБД Visual FoxPro, Corel Paradox, MS Access. Общей отличительной особенностью этих реляционных СУБД является то, что они построены по архитектуре файл-сервер и предназначены для баз данных с небольшим числом пользователей и небольшими объемами обрабатываемой информации (офисные СУБД). На территории СНГ наиболее распространенной является СУБД MS Access, о которой и пойдет речь в последующих главах.
Что касается, конкретно нашей задачи, то нам нет необходимости использовать серьезные сетевые ресурсы, обеспечивать высокое быстродействие, высокую степень защиту данных и критически минимальные сроки неработоспособности. У нас не столь серьезные требования к качеству СУБД, чтобы выбирать самое мощное из имеющихся в сегодняшнем арсенале разработчика. Нам нужно обеспечить одно локальное рабочее место, модуль, не имеющий ограничений на доступ, без шифрования данных, без каких-то либо автоматических сервисов. Кроме того. одно из условий выбора — доступность среды, а также нетребовательность к ресурсам системы, отсутствие какого-либо сложного инсталляционного пакета.
1.3.2 Обоснование проектных решений по технологии сбора, передачи, обработки и выдачи информации. Реализация недостающего в УСН блока работы с унифицированными формами
Общая цепочка обработки информации довольно простая. На данном этапе реализована схема, дублирующая аналогичные данные в 1С Бухгалтерии. Так как модуль получился внешним, и соответственно, достаточно гибким в эксплуатации и модификации, то часть связи с 1С может быть обеспечена в любом удобным момент путем добавления еще одного блока в уже существующий.
На текущем этапе разработана схема, позволяющая занести все необходимые для заполнения унифицированных форм данные с помощью отдельного программного интерфейса. Данный интерфейс представлен в виде логически упорядоченных форм. расположенных по разделах. Формы разработаны по подобию аналогичных в 1С Бухгалтерии. Далее, на основании шаблонов 1С Бухгалтерии подключены необходимые шаблоны документов, которые привязаны программным образом к данным из соответствующих форм.
Для того, чтобы вывести в унифицированную форму какой-либо документ, необходимо заполнить информацию по данному документу, т.е. добавить его в базу, выбрать его в перечне соответствующих интерфейсных форм, после чего с помощью соответствующих управляющих элементов запустить печать для необходимой выбранной формы. Вот собственно и весь перечень действий, которые нужно произвести пользователю для того, чтобы получить готовую стандартную документацию.
Для реализации задуманной схемы используется выбранная СУБД MS Access при использовании встроенного языка программирования VBA.
1.3.3 Обоснование проектных решений по программному обеспечению комплекса задач
Таким образом, существует достаточно большое количество популярных СУБД. Что же позволило нам остановиться на MS Access?
Основные достоинства этой СУБД — доступность, простота удобство в конструировании, доработке, администрировании. Вместе с тем Access позволяет надежно хранить данные и эффективно их обрабатывать. Поэтому, начиная с Access 97, этот продукт стабильно держится в рейтинге настольных СУБД на первых местах. Сегодня наиболее популярен Access 2003, который входит в состав пакета MS Office 2003. К отдельным перечням достоинств стоит отнести и полную интеграцию с другими офисными приложениями — Word, Outlook, Excel.
1.3.4 Обоснование необходимости использования вычислительной техники и создания АРМ для решения данного комплекса задач
Программное обеспечение позволяет усовершенствовать организацию работы вычислительной системы с целью максимального использования ее техники.
Необходимость в разработке ПО обусловливается следующим:
обеспечить работоспособность технических средств, так как без программного обеспечения они не могут осуществить никаких вычислительных и логических операций;
обеспечить взаимодействие пользователя с техникой;
сократить цикл от постановки задачи до получения результата ее решения;
повысить эффективность использования ресурсов технических средств.
В настоящее время распространены такие формы ИС в управлении предприятиями:
индивидуальное использование компьютеров;
автоматизированные рабочие места (АРМ);
локальные вычислительные сети (ЛВС).
Эти формы децентрализации ресурсов существенно различаются по концентрации вычислительных средств.
Опыт автоматизации управления в производственно-экономических структурах показал, что степень влияния ИС с развитыми информационно-справочными функциями на эффективность управленческой деятельности очень существенна. К наиболее важным результатам ее работы можно отнести:
расширение информационных возможностей и повышение оперативности принятия решений для ранее действовавших и вновь создаваемых структурных подразделений;
усиление на этой основе координирующих функций звеньев центрального аппарата управления;
значительное повышение информированности и рабочей квалификации работников всех уровней управления.
Применение АРМ не должно нарушать привычный пользователю ритм его работы, должно обеспечивать концентрацию внимания пользователя на логической структуре решаемых задач. Однако если заданное действие не производится или результат искажается, пользователь должен знать причину и информация об этом должна выдаваться на экран.
В составе программного обеспечения АРМ можно выделить два основных вида обеспечения, различающихся по функциям: общее (системное) и специальное (прикладное). К общему программному обеспечению относится комплекс программ, обеспечивающий автоматизацию разработки программ и организацию экономичного вычислительного процесса на ПК безотносительно к решаемым задачам. Специальное (прикладное) программное обеспечение представляет собой совокупность программ решения конкретных задач пользователя.
Режим работы различных технологий, технические особенности вычислительных устройств, разнообразие и массовый характер их применения предъявляют особые требования к программному обеспечению. Такими требованиями являются: надежность, эффективность использования ресурсов ПК, структурность, модульность, эффективность по затратам, дружественность по отношению к пользователю. При разработке и выборе программного обеспечения необходимо ориентироваться в архитектуре и характеристиках ПК, имея в виду минимизацию времени обработки данных, системное обслуживание программ большого количества пользователей, повышение эффективности использования любых конфигураций технологических схем обработки данных.
Классификация программного обеспечения АРМ приведена на рис.1.7.
Рис.1.7 Структура подхода
Главное назначение общего ПО — запуск прикладных программ и управление процессом их выполнения.
Специальное программное обеспечение АРМ обычно состоит из уникальных программ и функциональных пакетов прикладных программ. Именно от функционального ПО зависит конкретная специализация АРМ. Учитывая, что специальное ПО определяет область применения АРМ, состав решаемых пользователем задач, оно должно создаваться на основе инструментальных программных средств диалоговых систем, ориентированных на решение задач со схожими особенностями обработки информации.
Программное обеспечение АРМ должно обладать свойствами адаптивности и настраиваемости на конкретное применение в соответствии с требованиями пользователя.
В качестве операционных систем АРМ, созданных на базе 16-разрядных компьютеров, обычно используется MS DOC, на базе 32-разрядных — OS/2 и UNIX.
Основными приложениями пакетов прикладных программ, входящих в состав специального ПО АРМ, являются обработка текстов, табличная обработка данных, управление базами данных, машинная и деловая графика, организация человеко-машинного диалога, поддержка коммуникаций и работа в сетях.
Эффективными в АРМ являются многофункциональные интегрированные пакеты, реализующие несколько функций переработки информации, например табличную, графическую, управление базами данных, текстовую обработку в рамках одной программной среды.
Интегрированные пакеты удобны для пользователей. Они имеют единый интерфейс, не требуют стыковки входящих в них программных средств, обладают достаточно высокой скоростью решения задач.
Эффективное функционирование ИС управления и АРМ специалиста базируется на комплексном использовании современных программных средств обработки информации в совокупности с современными организационными формами размещения техники.
Выбор организационных форм использования программных средств целесообразно осуществлять с учетом их рассредоточения по уровням иерархии управления в соответствии с организационной структурой автоматизируемого объекта. При этом основным принципом выбора является коллективное обслуживание пользователей, отвечающее структуре экономического объекта.
С учетом современной функциональной структуры территориальных органов управления совокупность программно-технических средств должна образовывать по меньшей мере трехуровневую глобальную систему обработки данных с развитым набором периферийных средств каждого уровня (рис.1.8).
Первый уровень — центральная вычислительная система территориального или корпоративного органа, включающая одну или несколько мощных ЭВМ, или мэйнфреймов. Ее главная функция — общий, экономический и финансовый контроль, информационное обслуживание работников управления.
Второй уровень — вычислительные системы предприятий (объединений), организаций и фирм, которые включают мэйнфреймы, мощные ПК, обеспечивают обработку данных и управление в рамках структурной единицы.
Рис.1.8 Структура подхода
Третий уровень — локально распределенные вычислительные сети на базе ПК, обслуживающие производственные участки нижнего уровня. Каждый участок оснащен собственным ПК, который обеспечивает комплекс работ по первичному учету, учету потребности и распределения ресурсов. В принципе это может быть автоматизированное рабочее место (АРМ), выполняющее функциональные вычислительные процедуры в рамках определенной предметной области.
Пакеты прикладных программ являются наиболее динамично развивающейся частью программного обеспечения: круг решаемых с их помощью задач постоянно расширяется. Внедрение компьютеров во все сферы деятельности стало возможным благодаря появлению новых и совершенствованию существующих ППП.
Структура и принципы построения ППП зависят от класса ЭВМ и операционной системы, с которой этот пакет будет функционировать. Наибольшее количество ППП создано для IBM PC-совместимых компьютеров с операционной системой MS DOS и операционной оболочкой WINDOWS. Классификация этих пакетов программ по функционально-организационному признаку представлена на рис.1.9.
Рис.1.9 Структура подхода.
Проблемно-ориентированные ППП — наиболее функционально развитые и многочисленные ППП. Они включают следующие программные продукты: текстовые процессоры, издательские системы, графические редакторы, демонстрационную графику, системы мультимедиа, ПО САПР, организаторы работ, электронные таблицы (табличные процессоры), системы управления базами данных, программы распознавания символов, финансовые и аналитико-статистические программы.
Обеспечение эффективности информационных технологий и систем в решающей степени определяется программно-техническим оснащением, которое должно отвечать ряду требований. Программно-технические средства организуются на системной основе, что делает их использование более экономичным и надежным.
Широкие возможности компьютеров разных классов и моделей позволяют реализовать любые конфигурации сложных сетевых информационных систем. Аппаратные характеристики ЭВМ влияют на выбор системного и прикладного программного обеспечения. Высокий уровень техники дает возможность использовать и более качественную программную продукцию с большим количеством функций. Развитие программного обеспечения автоматизированного рабочего места (АРМ) экономиста постоянно совершенствует функции пользователя, повышает производительность его труда, одновременно расширяя масштабы деятельности. Совокупный эффект от качества программно-технического оснащения множества АРМ сказывается на процессах управления организацией в целом, на ее доходности и стабильности функционирования.
Что же касается конкретно нашей задачи, то с ней ситуация такова: основная часть АРМ бухгалтера уже готова и продумана в АСУ 1С Бухгалтерия. Наша задача организовать удобный интерфейс для нашего дополнительного блока, который позволит максимально эффективно проводить требуемые операции.
2. Проектная часть
2.1 Информационное обеспечение комплекса задач
2.1.1 Инфологическая (информационная) модель (схема данных) и ее описание
Для построения модели данных удобно воспользоваться языком диаграмм «сущность-связь».
Диаграммы «сущность-связь» (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
СУЩНОСТЬ представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.), обладающих общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована.
ОТНОШЕНИЕ в самом общем виде представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (ИМЕЕТ, ОПРЕДЕЛЯЕТ, МОЖЕТ ВЛАДЕТЬ и т.п.).
Другими словами, сущности представляют собой базовые типы информации, хранимой в базе данных, а отношения показывают, как эти типы данных взаимоувязаны друг с другом. Введение подобных отношений преследует две основополагающие цели:
обеспечение хранения информации в единственном месте (даже если она используется в различных комбинациях);
использование этой информации различными приложениями.
Для идентификации требований, в соответствии с которыми сущности вовлекаются в отношения, используются СВЯЗИ. Каждая связь соединяет сущность и отношение и может быть направлена только от отношения к сущности.
ЗНАЧЕНИЕ связи характеризует ее тип и, как правило, выбирается из следующего множества:
{«O или 1», «0 или более», «1», «1 или более», «p: q» (диапазон) }.
Пара значений связей, принадлежащих одному и тому же отношению, определяет тип этого отношения. Практика показала, что для большинства приложений достаточно использовать следующие типы отношений:
1*1 (один-к-одному). Отношения данного типа используются, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко.
1*n (один-к-многим). Отношения данного типа являются наиболее часто используемыми.
n*m (многие-к-многим). Отношения данного типа обычно используются на ранних этапах проектирования с целью прояснения ситуации. В дальнейшем каждое из таких отношений должно быть преобразовано в комбинацию отношений типов 1 и 2 (возможно, с добавлением вспомогательных сущностей и с введением новых отношений).
Разработка ERD включает следующие основные этапы:
Идентификация сущностей, их атрибутов, а также первичных и альтернативных ключей.
Идентификация отношений между сущностями и указание типов отношений.
Разрешение неспецифических отношений (отношений n*m).
Этап 1 является определяющим при построении модели, его исходной информацией служит содержимое хранилищ данных, определяемое входящими и выходящими в/из него потоками данных. Его единственное хранилище ДАННЫЕ О ПЕРСОНАЛЕ должно содержать информацию о всех сотрудниках: их имена, адреса, должности, оклады и т.п.
Первоначально осуществляется анализ хранилища, включающий сравнение содержимого входных и выходных потоков и создание на основе этого сравнения варианта схемы хранилища.
Следующий шаг — упрощение схемы при помощи нормализации (удаления повторяющихся групп). Единственным способом нормализации является расщепление данной схемы на две, являющиеся более простыми.
Определение отношений включает выявление связей, для этого отношение должно быть проверено в обоих направлениях следующим образом: выбирается экземпляр одной из сущностей и определяется, сколько различных экземпляров второй сущности может быть с ним связано, и наоборот.
Этап 2 предназначен для разрешения неспецифических (многие ко многим) отношений. Для этого каждое неспецифическое отношение преобразуется в два специфических отношения с введением новых (а именно, ассоциативных) сущностей.
По существу информационно-логическая модель представляет собой иллюстрированную, развернутую, подробную функциональную спецификацию будущей системы.
Инфологическая модель должна выражать информацию о предметной области в виде, независимом от используемой СУБД. Эта модель отражает в естественной и удобной для разработчиков и других пользователей форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и их взаимосвязей. Инфологические модели данных используются на ранних стадиях проектирования для описания структур данных в процессе разработки приложения, см. рис 2.1.
Далее на рис.2.2 представлено схематичное изображение потоков данных в системе.
Рисунок 2.1
Рисунок 2.2.
Что касается нашего случая построения схемы данных, то для ее разработки использовалась уже готовая модель, которая имелась в основной АСУ, а также сами шаблоны унифицированных форм, которые позволяли отобрать необходимые для работы данные.
В структуре данной модели присутствуют: две внешних сущности — “Директор”, “Финансовый отдел»; два процесса — “Ведение исходной информации для заполнения форм”, “Заполнение форм ОС”.
Разработанная схема данных представлена на рис.2.3.
2.1.2 Используемые классификаторы и системы кодирования
Что касается системы кодирования данных, а также схемы классификации, то она полностью идентична таковой, которая имеет место в главной АСУ.
Для принятия к бухгалтерскому учету активов в качестве основных средств необходимо единовременное выполнение следующих условий:
а) при выполнении работ или оказании услуг либо для нужд управления организацией;
б) использование в течение длительного времени, т. с. срока полезного использования продолжительностью свыше 12 месяцев или обычного операционного цикла, если он превышает 12 месяцев;
в) организацией не предполагается последующая перепродажа данных активов;
г) способность приносить организации экономические выгоды (доход) в будущем.
Сроком полезного использования является период, в течение которого использование объекта основных средств приносит доход организации.
Для отдельных групп основных средств срок полезного использования определяется исходя из количества продукции (объема работ в натуральном выражении), ожидаемого к получению в результате использования этого объекта.
Рис.2.3 Рабочая схема данных
Не относятся к основным средствам для целей бухгалтерского учета:
машины, оборудование и иные аналогичные предметы, числящиеся как готовые изделия на складах организаций-изготовителей, как товары — на складах организаций, осуществляющих торговую деятельность;
предметы, сданные в монтаж или подлежащие монтажу, находящиеся в пути;
капитальные и финансовые вложения.
Основные средства организации разнообразны по составу и назначению. В составе основных средств обычно выделяют следующие виды:
здания;
сооружения;
рабочие и силовые машины и оборудование;
измерительные и регулирующие приборы и устройства;
вычислительная техника;
транспортные средства;
инструмент.
производственный и хозяйственный инвентарь и принадлежности;
рабочий, продуктивный и племенной скот;
многолетние насаждения;
капитальные вложения на коренное улучшение земель (осушительные, оросительные и другие мелиоративные работы);
капитальные вложения в арендованные объекты основных средств;
земельные участки, объекты природопользования (вода, недра и другие природные ресурсы);
прочие основные средства.
Единицей бухгалтерского учета основных средств является инвентарный объект. Под инвентарным объектом основных средств признается объект со всеми приспособлениями и принадлежностями или отдельный конструктивно обособленный предмет, предназначенный для выполнения определенных самостоятельных функций, или же обособленный комплекс конструктивно сочлененных предметов, представляющих собой единое целое и предназначенных для выполнения определенной работы. В случае наличия у одного объекта нескольких частей, имеющих разный срок полезного использования, каждая такая часть учитывается как самостоятельный инвентарный объект.
Необходимым условием правильного учета основных средств является единый принцип их оценки. Различают несколько видов оценки основных средств: первоначальная, текущая, восстановительная и остаточная.
Что касается конкретной классификации объектов учета (т.е. товаров или изделий), то она полностью зависит от природы объекта и произвольна. В нашем модуле мы разделили на два уровня классификации наших объектов учета — это категории и подкатегории. При этом структура ступенчатая — категории могут иметь несколько привязанных подкатегорий. А каждый объект учета (т.е. собственно товар — уже может относиться к какой-то категории и подкатегории). Что касается системы кодирования объектов. То каждый и них имеет свой код поставщика, который включен в наименование объекта и является определенной комбинацией букв и цифр. Кроме того, в обязательном порядке каждый объект имеет свой инвентарный уникальный номер, благодаря которому всегда можно получить информацию о местонахождении объекта или его движении.
Используемые классификаторы и системы кодирования отражены в табл.2.1
Таблица 2.1
№ пп |
Наименование кодируемого подмножества |
Система кодирования |
Вид классификатора |
1 |
Код статьи формы №1 бухгалтерской отчётности |
Последовательная |
Общероссийский |
2 |
Код статьи формы №2 бухгалтерской отчётности |
Последовательная |
Общероссийский |
3 |
Код показателя |
Последовательная |
Общесистемный |
4 |
Формы ОС-1, ОС-2, ОС-3, ОС-4, ОС-6, ОС-6б, инвентаризационная ведомость |
Последовательная |
Общесистемный |
Все перечисленные коды являются индексированными полями.
2.1.3 Характеристика входной информации
Входная информация состоит из первичных данных. которые по своей структуре полностью идентичны таковой в главной АСУ а также шаблонов унифицированных форм.
Для документального оформления операций поступления и выбытия основных средств используются следующие унифицированные формы.
№ОС-1 «Акт о приеме-передаче объектов основных средств (кроме зданий, сооружении)»
Применяется для зачисления в состав основных средств отдельных объектов (кроме зданий, сооружений), поступивших путем:
приобретения за плату у других организаций;
получения от других организаций и лиц в безвозмездное пользование;
внесения учредителями (участниками) в счет их вкладов в уставный (складочный) капитал;
получения в хозяйственное ведение или оперативное управление;
взятия в аренду с последующим выкупом;
получения по акту дарения;
передачи в совместную деятельность и доверительное управление;
передачи в обмен на другое имущество и другими способами, не противоречащими действующему законодательству. При оформлении приемки основных средств акт составляется в одном экземпляре на каждый отдельный объект основных средств членами приемочной комиссии, назначаемой распоряжением (приказом) руководителя организации.
Акт с приложенной технической документацией, относящейся к данному объекту, передается в бухгалтерию организации, подписывается главным бухгалтером и утверждается руководителем организации или лицом, на это уполномоченным.
№ОС-1а «Акт о приеме-передаче здания (сооружения)»
Применяется для зачисления в состав основных средств отдельных зданий и сооружений.
№ОС-1б «Акт о приеме-передаче групп объектов основных средств»
Применяется для зачисления в состав основных средств однородных объектов, имеющих одинаковую стоимость и принятых к учету в одном календарном месяце.
№ОС-2 «Накладная на внутреннее перемещение объектов основных средств», см. образец формы на рис.2.4
Применяется для оформления внутреннего перемещения объектов основных средств из одного структурного подразделения организации в другое и для оформления передачи основных средств со склада (из запаса) в эксплуатацию.
Выписывается в двух экземплярах работником сгруктурного подразделения организации-сдатчика: первый экземпляр с распиской получателя и сдатчика передается в бухгалтерию; второй структурному подразделению организации-сдатчика.
Рис.2.4 Пример формы ОС-2
№ ОС-3 «Акт о приемке-сдаче отремонтированных, реконструированных и модернизированных объектов основных средств»
Форма № ОС-3 применяется для оформления приемки-сдачи основных средств из ремонта, реконструкции и модернизации.
Акт, подписанный работником структурного подразделения организации, уполномоченным на приемку основных средств, и представителем организации, производившей ремонт, реконструкцию и модернизацию, сдают в бухгалтерию организации, где он подписывается главным бухгалтером (бухгалтером) и утверждается затем руководителем организации или лицом, на это уполномоченным.
Если ремонт, реконструкцию и модернизацию выполняет сторонняя организация, акт составляется в двух экземплярах: первый остается у организации; второй передают организации, проводившей ремонт, реконструкцию, модернизацию.
№ ОС-4 «Акт о списании объекта основных средств (кроме автотранспортных средств)»
Форма № ОС-4 применяется для оформления полного или частичного списания основных средств (кроме автотранспортных средств).
Акт составляется в двух экземплярах, подписывается членами комиссии, утверждается руководителем организации или уполномоченным лицом.
Первый экземпляр акта передается в бухгалтерию, второй остается у лица, ответственного за сохранность основных средств, и является основанием для сдачи на склад и реализации оставшихся в результате списания запчастей, материалов, металлолома.
№ ОС-4а «Акт о списании автотранспортных средств»
Форма № ОС-4а применяется для оформления списания автотранспортных средств.
Акт составляется в двух экземплярах и подписывается членами комиссии, утверждается руководителем или лицом, на это уполномоченным. Первый экземпляр с документом, подтверждающим снятие с учета в ГИБДД, передастся в бухгалтерию, второй остается у лица, ответственного за сохранность автотранспортных средств, и является основанием для сдачи на склад и реализации материальных ценностей и металлолома, оставшихся в результате списания.
№ ОС-46 «Акт о списании групп объектов основных средств (кроме автотранспортных средств)»
Форма № ОС-46 применяется для оформления полного или частичного списания групп объектов основных средств (кроме автотранспортных средств).
Акт составляется в двух экземплярах, подписывается членами комиссии, утверждается руководителем организации или уполномоченным лицом.
Первый экземпляр акта передается в бухгалтерию, второй остается у лица, ответственного за сохранность основных средств, и является основанием для сдачи на склад и реализации оставшихся в результате списания запчастей, материалов, металлолома.
№ ОС-6 «Инвентарная карточка учета объекта основных средств»
Инвентарная карточка ведется в бухгалтерии на каждый объект основных средств. Форма заполняется в одном экземпляре на основании документов о зачислении объекта, его перемещении, дооборудовании, реконструкции, модернизации, капитальном ремонте и списании.
№ ОС-ба «Инвентарная карточка группового учета объектов основных средств»
Инвентарная карточка ведется в бухгалтерии на группу объектов. Форма применяется для группового учета однотипных основных средств, поступивших в эксплуатацию в одном календарном месяце и имеющих одно и то же производственно-хозяйственное назначение, техническую характеристику и стоимость.
Заполняется в одном экземпляре на основании документов о зачислении объекта, его перемещении, дооборудовании, реконструкции, модернизации, капитальном ремонте и списании.
№ ОС-14 «Акт о приемке (поступлении) оборудования»
Акт применяется для оформления поступившего на склад оборудования к установке, составляется в двух экземплярах и подписывается приемной комиссией.
Первый экземпляр вместе с сопроводительными документами передается в бухгалтерию для отражения в учете, второй остается у заведующего складом.
№ ОС-15 «Акт о приемке-передаче оборудования в монтаж»
Форма №ОС-15 применяется для оформления передачи оборудования монтажной организации.
Акт составляется в двух экземплярах и подписывается уполномоченными представителями организации заказчика и монтажной организации. Первый экземпляр передается монтажной организации, второй — в бухгалтерию для отражения в учете.
Следующие из вышеперечисленных форм нашли отображение в программе, см. табл.2.2
Таблица 2.2
№ п/п |
Наименование |
Обозначение |
1 |
ОС №2 — внутреннее перемещение |
ВнутренниеНакл + ВнутренниеНаклТовары |
2 |
ОС №1 — акт приемки — передачи |
АктыПриемки |
3 |
ОС №6 — инвентарная карточка |
ИнвентКарты |
4 |
ОС №5 — акт приемки-передачи отрем. объектов ОС |
АктыРемонта |
5 |
ОС №4 — акт списания ОС |
АктыСписания + АктыСписанияТовары |
6 |
ОС №6б — инвентарная книга ОС |
На основании справочника «ОснСредства» |
7 |
Инвентаризационная опись ОС |
Инвентаризации + ИнвентаризацииТовары |
«ОС №2 — внутреннее перемещение» структура отражена в табл.2.3
Таблица 2.3
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерНакл |
Счетчик |
Длинное целое |
2 |
Код поздразделения-отправителя |
НомерПодразд1 |
Числовой |
Длинное целое |
3 |
Код поздразделения-получателя |
НомерПодразд2 |
Числовой |
Длинное целое |
4 |
Номер документа |
НомерНаклВнутр |
Текстовый |
255 |
5 |
Дата документа |
ДатаНакл |
Дата/время |
|
6 |
Дата подписи при сдаче |
ДатаНаклСдал |
Дата/время |
|
7 |
Дата подписи при принятии |
ДатаНаклПринял |
Дата/время |
|
8 |
Код сотрудника, который сдавал ОС |
НомерСотрСдал |
Числовой |
Длинное целое |
9 |
Код сотрудника, который принял ОС |
НомерСотрПринял |
Числовой |
Длинное целое |
10 |
Примечание |
Примечание |
Текстовый |
255 |
11 |
Код товара в перечне |
НомерНаклТов |
Счетчик |
Длинное целое |
12 |
Номер внутр. накладной для связи |
НомерНакл |
Числовой |
Длинное целое |
13 |
Код товара |
НомерТов |
Числовой |
Длинное целое |
14 |
Количество |
Количество |
Числовой |
Длинное целое |
«ОС №1 — акт приемки — передачи» структура отражена в табл.2.4
Таблица 2.4
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерАкт |
Счетчик |
Длинное целое |
2 |
Код руководителя |
НомерСотрРук |
Числовой |
Длинное целое |
3 |
Дата подписи руководителем |
ДатаПодписи |
Дата/время |
|
4 |
Счет амортизации |
Счет |
Текстовый |
255 |
5 |
Номер документа |
НомерВнутр |
Текстовый |
255 |
6 |
Дата документа |
ДатаАкта |
Дата/время |
|
7 |
Номер амортизационной группы |
НомерАмортГруппы |
Числовой |
Длинное целое |
8 |
Код товара |
НомерТов |
Числовой |
Длинное целое |
9 |
Местонахождение |
Местонахождение |
Текстовый |
255 |
10 |
Количество |
Количество |
Числовой |
Двойное с плавающей точкой |
11 |
Дата испытания |
ДатаИспытания |
Дата/время |
|
12 |
Соотвествует ли? |
Соотвествие |
Логический |
|
13 |
Что конкретно не соотвествует |
ЧтоСоотв |
Текстовый |
255 |
14 |
Нужна ли доработка? |
Доработка |
Логический |
|
15 |
Что конкретно доработать? |
ЧтоДораб |
Текстовый |
255 |
16 |
Заключение |
Заключение |
Поле МЕМО |
|
17 |
Информация о тех. документе ОС |
ТехДок |
Текстовый |
255 |
18 |
Председатель комиссии |
НомерСотрПредс |
Числовой |
Длинное целое |
19 |
1й член комиссии |
НомерСотрЧлен1 |
Числовой |
Длинное целое |
20 |
2й член комиссии |
НомерСотрЧлен2 |
Числовой |
Длинное целое |
21 |
Дата приемки ОС |
ДатаПринятия |
Дата/время |
|
22 |
Доверенность |
ВыданаДов |
Текстовый |
255 |
23 |
Дата доверенности |
ДатаДов |
Дата/время |
|
24 |
Номер доверенности |
НомерДов |
Текстовый |
255 |
25 |
Сотрудник, получивший на хранение |
НомерСотрХран |
Числовой |
Длинное целое |
26 |
Дата выдачи на хранение |
ДатаХранения |
Дата/время |
«ОС №5 — акт приемки-передачи отрем. объектов ОС» структура отражена в табл.2.5
Таблица 2.5
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерАктаРемонта |
Счетчик |
Длинное целое |
2 |
Код исполнителя |
НомерИсп |
Числовой |
Длинное целое |
3 |
Номер договора с исполнителем |
НомерДоговора |
Текстовый |
255 |
4 |
Дата договора |
ДатаДоговора |
Дата/время |
|
5 |
Дата плановая начала рем. работ |
ПериодРемПлан1 |
Дата/время |
|
6 |
Дата плановая конца рем. работ |
ПериодРемПлан2 |
Дата/время |
|
7 |
Дата факт. начала рем. работ |
ПериодРемФакт1 |
Дата/время |
|
8 |
Дата факт. конца рем. работ |
ПериодРемФакт2 |
Дата/время |
|
9 |
Номер акта рем. Работ |
НомерВнутр |
Текстовый |
255 |
10 |
Дата акта |
ДатаАкта |
Дата/время |
|
11 |
Код руководителя |
НомерСотрРук |
Числовой |
Длинное целое |
12 |
Дата подписи руководителем |
ДатаПодписи |
Числовой |
Длинное целое |
13 |
Код товара |
НомерТов |
Числовой |
Длинное целое |
14 |
Вид работы |
ВидРаботы |
Текстовый |
255 |
15 |
Стоимость демонтажных работы |
СтоимДемонт |
Числовой |
Двойное с плавающей точкой |
16 |
Стоимость плановая работ |
СтоимРаботПлан |
Числовой |
Двойное с плавающей точкой |
17 |
Стоимость плановая работ по вводу в эксплуатацию ОС |
СтоимРаботПлан2 |
Числовой |
Двойное с плавающей точкой |
18 |
Стоимость факт. работ |
СтоимРаботФакт |
Числовой |
Двойное с плавающей точкой |
19 |
Стоимость факт. работ по вводу в эксплуатацию ОС |
СтоимРаботФакт2 |
Числовой |
Двойное с плавающей точкой |
20 |
Стоимость трансп. расходов |
СтоимТрансп |
Числовой |
Двойное с плавающей точкой |
21 |
Полностью ли произведены работы? |
Полностью |
Логический |
|
22 |
Что конкретно не выполнено? |
ЧтоНеПолн |
Текстовый |
255 |
23 |
Председатель комиссии |
НомерСотрПредс |
Числовой |
Длинное целое |
24 |
1й член комиссии |
НомерСотрЧлен1 |
Числовой |
Длинное целое |
25 |
2й член комиссии |
НомерСотрЧлен2 |
Числовой |
Длинное целое |
26 |
Сотрудник, сдавший ОС |
НомерСотрСдал |
Числовой |
Длинное целое |
27 |
Дата сдачи ОС |
ДатаСдачи |
Дата/время |
|
28 |
Количество |
Количество |
Числовой |
Двойное с плавающей точкой |
29 |
Сотрудник, принявший ОС после ремонта |
НомерСотрПрин |
Числовой |
Длинное целое |
30 |
Дата приемки |
ДатаПриемки |
Дата/время |
|
31 |
Код главного бухгалтера |
НомерБух |
Числовой |
Длинное целое |
«ОС №6 — инвентарная карточка» структура отражена в табл.2.
Таблица 3
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерИнвентКарты |
Счетчик |
Длинное целое |
2 |
Код товара |
НомерТов |
Числовой |
Длинное целое |
3 |
Номер карточки |
НомерВнутр |
Числовой |
Длинное целое |
4 |
Дата карточки |
ДатаИнвКарты |
Дата/время |
|
5 |
Счет амортизации |
Счет |
Текстовый |
255 |
6 |
Номер амортизационной группы |
НомерАмортГруппы |
Числовой |
Длинное целое |
7 |
Местонахождение |
Местонахождение |
Текстовый |
255 |
8 |
Код поставщика |
НомерПост |
Числовой |
Длинное целое |
9 |
Основание |
ОснованиеПриема |
Текстовый |
255 |
10 |
Вид операции |
ВидОперации |
Текстовый |
255 |
11 |
Количество |
Количество |
Числовой |
Длинное целое |
12 |
Код сотрудника, который отвечает за инв. карточку |
НомерСотрИнв |
Числовой |
Длинное целое |
«ОС №4 — акт списания ОС» структура отражена в табл.2.6
Таблица 2.6
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерАкт |
Счетчик |
Длинное целое |
2 |
Код руководителя |
НомерСотрРук |
Числовой |
Длинное целое |
3 |
Дата подписи руководителем |
ДатаПодписи |
Числовой |
Длинное целое |
4 |
Номер документа основания |
НомерОсн |
Текстовый |
255 |
5 |
Дата документа основания |
ДатаОсн |
Дата/время |
|
6 |
Номер акта списания |
НомерВнутр |
Текстовый |
255 |
7 |
Дата акта |
ДатаАкта |
Дата/время |
|
8 |
Причина списания |
Причина |
Текстовый |
255 |
9 |
Код товара |
НомерТов |
Числовой |
Длинное целое |
10 |
Председатель комиссии |
НомерСотрПредс |
Числовой |
Длинное целое |
11 |
1й член комиссии |
НомерСотрЧлен1 |
Числовой |
Длинное целое |
12 |
2й член комиссии |
НомерСотрЧлен2 |
Числовой |
Длинное целое |
13 |
Код главного бухгалтера |
НомерБух |
Числовой |
Длинное целое |
14 |
Заключение комиссии |
Заключение |
Поле МЕМО |
|
15 |
Номер компоненты |
НомерАктТов |
Счетчик |
Длинное целое |
16 |
Номер акта списания |
НомерАкт |
Числовой |
Длинное целое |
17 |
Название |
НаименованиеКомп |
Текстовый |
255 |
18 |
Количество |
Количество |
Числовой |
Длинное целое |
«Инвентаризационная опись ОС» структура отражена в табл.2.7
Таблица 2.7
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерИнв |
Счетчик |
Длинное целое |
2 |
Номер описи |
НомерВнутр |
Текстовый |
255 |
3 |
Дата описи |
ДатаИнв |
Дата/время |
|
4 |
Основание |
Основание |
Текстовый |
255 |
5 |
Номер документа основания |
НомерОсн |
Текстовый |
255 |
6 |
Дата документа основания |
ДатаОсн |
Дата/время |
|
7 |
Дата начала описи |
ДатаНачала |
Дата/время |
|
8 |
Дата окончания описи |
ДатаКонца |
Дата/время |
|
9 |
Местонахождение ОС |
Местонахождение |
Текстовый |
255 |
10 |
1й мат. отв. сотрудник |
МатОтв1 |
Числовой |
Длинное целое |
11 |
2й мат. отв. сотрудник |
МатОтв2 |
Числовой |
Длинное целое |
12 |
3й мат. отв. сотрудник |
МатОтв3 |
Числовой |
Длинное целое |
13 |
Председатель комиссии |
НомерСотрПредс |
Числовой |
Длинное целое |
14 |
1й член комиссии |
НомерСотрЧлен1 |
Числовой |
Длинное целое |
15 |
2й член комиссии |
НомерСотрЧлен2 |
Числовой |
Длинное целое |
16 |
3й член комиссии |
НомерСотрЧлен3 |
Числовой |
Длинное целое |
17 |
Код сотрудника, проверящего ОС |
НомерСотрПров |
Числовой |
Длинное целое |
18 |
Дата подписи комиссией |
ДатаПодписи |
Дата/время |
|
19 |
Дата подписи проверящим сотрудником |
ДатаПроверки |
Дата/время |
|
20 |
Код подразделения |
СтруктПодр |
Числовой |
Длинное целое |
2.1.4 Нормативно-справочная информация
Справочники предназначены для хранения часто используемой в подсистеме информации.
Перечень нормативно-справочной информации представлен в табл.2.8
Таблица 2.8
№ п/п |
Наименование |
Обозначение |
1 |
Справочник реквизитов предприятия |
Таблица «Параметры» |
2 |
Справочник структурных подразделений предприятия |
Таблица «СтуктурнПодразделения» |
3 |
Справочник сотрудников предприятия |
Таблица «Сотрудники» |
4 |
Справочник должностей сотрудников |
Таблица «Должности» |
5 |
Справочник поставщиков |
Таблица «Поставщики» |
6 |
Справочник основных средств |
Таблица «ОснСредства» |
7 |
Справочник форм ОС |
Таблица «Формы» |
8 |
Справочник исполнителей ремонтных работ |
Таблица «Исполнители» |
«Справочник реквизитов предприятия» служит для хранения основных реквизитов предприятия, его структура показана в табл.2.9
Таблица 2.9
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Наименование фирмы |
НаименованиеФирмы |
Текстовый |
255 |
2 |
Юридический адрес |
ЮрАдрес |
Поле МЕМО |
|
3 |
Вид деятельности |
ВидДеятельности |
Поле МЕМО |
|
4 |
Руководитель |
Руководитель |
Числовой |
Длинное целое |
5 |
Гл. бухгалтер |
ГлБухгалтер |
Числовой |
Длинное целое |
6 |
ОКПО |
ОКПО |
Текстовый |
255 |
7 |
ИНН |
ИНН |
Текстовый |
255 |
8 |
КПП |
КПП |
Текстовый |
255 |
9 |
Банковские реквизиты |
БанкРеквизиты |
Поле МЕМО |
|
10 |
Сотрудник, отвественный за проведение инвентаризации |
ИнвОтвеств |
Числовой |
|
11 |
Последняя дата начала инвентаризации |
ДатаИнв1 |
Дата/время |
|
12 |
Последняя дата конца инвентаризации |
ДатаИнв2 |
Дата/время |
|
13 |
Номер структурного отделения для последней инвентаризации |
НомерСтруктИнв |
Числовой |
Длинное целое |
«Справочник структурных подразделений предприятия» служит для хранения ОКПО и наименований структурных подразделений предприятия, его структура показана в табл.2.10
Таблица 2.10
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерПодразд |
Счетчик |
Длинное целое |
2 |
Название cтруктурного подразделения |
Структурное Подразделение |
Текстовый |
255 |
3 |
ОКПО |
ОКПО |
Текстовый |
255 |
«Справочник сотрудников предприятия» служит для хранения табельных номеров, ФИО сотрудников, кодов их должностей из справочника «Должности», его структура показана в табл.2.11
Таблица 2.11
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерСотр |
Счетчик |
Длинное целое |
2 |
ФИО сотрудника |
Сотрудник |
Текстовый |
255 |
3 |
Код должности |
НомерДолжн |
Числовой |
Длинное целое |
4 |
Табельный номер сотрудника |
ТабельныйНомер |
Числовой |
Длинное целое |
«Справочник должностей сотрудников» служит для хранения кодов должностей и их наименований, его структура показана в табл.2.12.
Таблица 2.12
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерДолжн |
Счетчик |
Длинное целое |
2 |
Должность |
Должность |
Текстовый |
255 |
«Справочник поставщиков» служит для хранения кодов поставщиков, их наименований, порядковых номеров, а также адресов, его структура показана в табл.2.13.
Таблица 2.13
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерПост |
Счетчик |
Длинное целое |
2 |
Порядковый номер |
ПоряНомерПост |
Числовой |
Длинное целое |
3 |
Наименование поставщика |
НаименованиеПост |
Текстовый |
255 |
4 |
Адрес |
Адрес |
Текстовый |
255 |
«Справочник основных средств» служит для хранения кодов товаров, их наименований, инвентарных, паспортных, а также заводских номеров, информации по списанию и введению в эксплуатацию, а также материально ответственного сотрудника, его структура показана в табл.2.14.
Таблица 2.14
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерОснСредства |
Счетчик |
Длинное целое |
2 |
Инвентарный номер |
ИнвНомер |
Текстовый |
15 |
3 |
Наименование |
Наименование |
Текстовый |
255 |
4 |
Дата поступления ОС |
ДатаПоступл |
Дата/время |
|
5 |
Дата ввода в эксплуатацию ОС |
ДатаВводаЭкспл |
Дата/время |
|
6 |
Стоимость |
Стоимость |
Числовой |
Двойное с плавающей точкой |
7 |
Код мат. отв. сотрудника |
МатОтвСотрудник |
Числовой |
Длинное целое |
8 |
Первоначальная стоимость |
ПервСтоимость |
Числовой |
Двойное с плавающей точкой |
9 |
Сроки факт. использования |
СрокИспользования |
Числовой |
Длинное целое |
10 |
Способ расчета амортизации |
СпособАморт |
Текстовый |
255 |
11 |
Номер по паспорту |
НомерПоПаспорту |
Текстовый |
15 |
12 |
Номер заводской |
НомерЗавод |
Текстовый |
15 |
13 |
Остаточная стоииость |
ОстСтоииость |
Числовой |
Двойное с плавающей точкой |
14 |
Амортизация |
Аморт |
Числовой |
Двойное с плавающей точкой |
15 |
Дата принятия на бух. учет предприятия |
ДатаПринятияКУчету |
Дата/время |
|
16 |
Дата списания с бух. Учета предприятия |
ДатаСписанияСУчета |
Дата/время |
|
17 |
Основание ввода в экспл. |
ОснованиеПринятия |
Текстовый |
255 |
18 |
Номер док. акта ввода в эксплуатацию |
ДокНомерПринятия |
Текстовый |
255 |
19 |
Дата акта ввода в экспл. |
ДокДатаПринятия |
Дата/время |
|
20 |
Основание для списания |
ОснованиеСписания |
Текстовый |
255 |
21 |
Номер док. акта списания |
ДокНомерСписания |
Текстовый |
255 |
22 |
Дата акта списания |
ДокДатаСписания |
Дата/время |
|
23 |
Структ. подразделение, на балансе которого числится объект |
СтруктПодр |
Числовой |
Длинное целое |
24 |
Дата выпуска ОС |
ДатаВыпуск |
Дата/время |
«Справочник форм ОС» служит для хранения служебной информаии о коде формы ОС, перечне рабочих форм, файлах их шаблонов, его структура показана в табл.2.15.
Таблица 2.15
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерФорма |
Счетчик |
Длинное целое |
2 |
Наименование формы ОС |
Наименование |
Текстовый |
255 |
3 |
Файл шаблона |
Файл |
Текстовый |
255 |
«Справочник исполнителей ремонтных работ» служит для хранения служебной информации о коде исполнителя работы, его наименовании, его структура показана в табл. 2.16.
Таблица 2.16
№ п/п |
Наименование поля |
Обозначение |
Тип данных |
Размер поля |
1 |
Код |
НомерИсполнителя |
Счетчик |
Длинное целое |
2 |
Наименование исполнителя |
Исполнитель |
Текстовый |
255 |
3 |
ОКПО |
ОКПО |
Текстовый |
255 |
2.1.5 Характеристика результатной информации
В результате проведенных операций мы получаем заполненную необходимыми данными унифицированную форму. Например, на рис.2.5 изображена заполненная форма ОС-2.
Рис.2.5 Результат — заполненная данными форма ОС-2
Перечень заполненных форм совпадает с перечнем форм входящей информации.
2.2 Внутримашинная реализация комплекса задач
2.2.1 Формализация расчетов (алгоритмы расчета и решения задач)
Внутримашинное информационное обеспечение связано с хранением, поиском и обработкой информации и состоит из разнообразных по содержанию, назначению, организации файлов и информационных связей между ними. Оно включает все виды специально организованной на машинных носителях информации для восприятия, передачи и обработки техническими средствами. Внутримашинное ИО может быть создано либо как множество локальных (независимых) файлов, каждый из которых отражает некоторое множество однородных управленческих документов (например, «Ведомость подетальных норм расхода материалов в натуральном и стоимостном выражении», «Применяемость деталей в изделии»), либо как база данных. При создании базы данных файлы не являются независимыми, ибо структура одних файлов (состав полей) зависит от структуры других. Поэтому структура файлов базы данных часто не соответствует структуре управленческих документов, на основе которых эти файлы создаются. Файлы БД разрабатываются с соблюдением определенных принципов и ориентацией на одну из моделей базы данных (иерархическую, сетевую, реляционную). По содержанию внутримашинное ИО должно адекватно отражать реальную действительность организационного объекта и его подразделений, т.е. конкретную предметную область.
Файлы внутримашинной базы делятся на переменные, в которых отражаются факты финансово-хозяйственной деятельности объекта управления, и условно-постоянные, в которых представлены материальные, трудовые, технологические и другие нормы и нормативы, а также справочные данные.
Выходные файлы предназначены для формирования отчетности, использования их информационной системой при решении других задач и при решении задач в последующий период. Кроме того, существуют вспомогательные, корректировочные и рабочие файлы, которые уничтожаются после каждого решения задачи.
Внутримашинное информационное обеспечение предназначено для быстрого и удобного удовлетворения информационных потребностей всех пользователей информационных технологий.
При выборе рационального варианта организации внутримашинного информационного обеспечения, наиболее полно отражающего специфику объекта управления, к нему предъявляют следующие требования: полнота представления данных; минимальность состава данных; минимизация времени выборки данных при решении задач управления; независимость структуры массивов от программных средств их организации; динамичность структуры информационной базы.
Организация, состав, структура внутримашинного информационного обеспечения зависят от информационных характеристик предприятия, состава решаемых задач, методов их решения, возможностей программных средств, организации массивов (файлов), используемых технических средств.
Данные во внутримашинном ИО могут храниться, как известно, двумя способами — непосредственно в виде файлов или в базе данных. Новые информационные технологии требуют интеграции информационных процессов и, в частности, организации информации в виде совокупности баз данных.
Организация информационной базы на основе концепции баз данных позволяет обеспечить многоаспектный доступ к совокупности взаимосвязанных данных, интеграцию и централизацию управления данными, устранение излишней избыточности данных, возможность совмещения эффективных режимов пакетной и диалоговой обработки данных.
Информационная база, организованная на основе локальных файлов, состоит из совокупности массивов, предназначенных для решения отдельных задач. Для каждой задачи необходимая информация складывается из следующих составляющих: множества входных переменных массивов; множества массивов, получаемых в результате решения других задач; множества массивов, получаемых от предыдущего решения данной задачи; множества массивов нормативно-справочной информации; множества процедур обработки данных; множества массивов, хранимых для последующего решения данной задачи; множества массивов, хранимых для решения других задач; множества выходных документов.
При этом основным недостатком информационной базы является не только обилие массивов и их связей, но и то, что она не обеспечивает независимости программ решения задач от структур обрабатываемых данных. Любое изменение структуры входных массивов вызывает необходимость изменения программ, а это в свою очередь приводит к большим затратам на поддержание информационной базы. Кроме того, при такой организации информационная база несет в себе значительную долю избыточности из-за повторения одних и тех же реквизитов в разных массивах, ориентированных на решение локальных задач и практически не связанных между собой.
Что касается нашего конкретного случая, то наши расчеты в основном носят арифметический характер и легко реализуются при помощи встроенных формул СУБД MS Access а также при помощи соответствующего математического аппарата VBA.
2.2.2 Структурная схема использования комплекса программ (дерево диалога ). Взаимодействие УСН с блоком формирования унифицированных форм
Современная система автоматизации должна обеспечивать следующие функции:
Построение сплошной цепи автоматизированного управления закупками
Сведение встречных потоков финансовых и товарных транзакций. Этот механизм позволяет оперативно контролировать состояние взаимных расчетов с поставщиками и потребителями как на уровне договора, или этапа договора, так и на уровне отдельного документа (счета на оплату, товарной накладной).
Настраиваемый документооборот. Документооборот позволяет не только отображать текущее состояние документов, но и формировать алгоритмы, обеспечивающие соблюдение определенных правил обработки документов.
Интеграция с финансовым и производственным менеджментом.
Масштабируемость и гибкая настраиваемость без снижения эффективности работы. Настройка каждого рабочего места выполняется в полном соответствии с выполняемыми бизнес-процессами, причем, может быть дополнена произвольным количеством дополнительных, определяемых пользователем характеристик для каждой обрабатываемой записи, что придает системе гибкость. Отбор и обобщение информации при этом можно проводить на основании характеристик, учитывающих требования каждого пользователя.
Распределенная обработка информации, что позволяет управлять территориально-распределенным предприятием. Для передачи данных могут служить коммутируемые (телефонные) линии, электронная почта, Интернет, мобильные носители (дискеты, ZIP).
Одновременное управление несколькими организациями.
Открытость и интегрируемость с программными продуктами других фирм.
Возможность глубокого и многостороннего анализа. Информация из базы данных может быть выдана в любой момент пользователю в объеме и форме, удобных для анализа.
Все вышеуказанные требования легко применимы к главной АСУ — 1С. Что касается нашего разработанного модуля, то его работа отличается определенной автономностью, которая позволяет отдельно создавать и обрабатывать документы.
Что касается нашего конкретного случая, то схема алгоритма процедур, связанных с объектами меню (дерево диалога), показана в таблице 2.16.
Таблица 2.16
Цифра |
Описание действия |
1 |
В разделе «Справочники» нажатие кнопки «Реквизиты предприятия» вызывает справочник реквизитов предприятия |
2 |
В разделе «Справочники» нажатие кнопки «Структурные подразделения» вызывает справочник структурных подразделений |
3 |
В разделе «Справочники» нажатие кнопки «Сотрудники» вызывает справочник сотрудников |
4 |
В разделе «Справочники» нажатие кнопки «Должности» вызывает справочник должностей сотрудников |
5 |
В разделе «Справочники» нажатие кнопки «Поставщики» вызывает справочник поставщиков предприятия |
6 |
В разделе «Справочники» нажатие кнопки «Основные средства» вызывает справочник основных средств |
7 |
В разделе «Справочники» нажатие кнопки «Перечень форм» вызывает справочник форм ОС |
8 |
В разделе «Формы», подразделе «Поступление ОС» нажатие кнопки «Акты ввода в эксплуатацию» вызывает список актов ввода в эксплуатацию |
9 |
В разделе «Формы», подразделе «Поступление ОС» нажатие кнопки «Инвентарные карточки» вызывает список инвентарных карточек ОС |
10 |
В разделе «Формы», подразделе «Перемещение ОС» нажатие кнопки «Накладные на перемещение» вызывает список внутренних накладных |
11 |
В разделе «Формы», подразделе «Ремонт ОС» нажатие кнопки «Акты о приемке-сдаче отремонтированных объектов ОС» вызывает список актов о приемке-сдаче отремонтированных объектов ОС |
12 |
В разделе «Формы», подразделе «Списание ОС» нажатие кнопки «Акты о списании» вызывает список актов о списании объектов ОС |
13 |
В разделе «Отчеты» кнопка «Инвентарная книга» вызывает одноименный отчет |
14 |
В разделе «Отчеты» кнопка «Инвентаризации» вызывает список описей инвентаризации |
15 |
Кнопка «Выход» производит выход из приложения |
2.2.3 Описание интерфейса приложения.
Интерфейс программы представляет собой многооконную систему, позволяющей работать одновременно только с одной формой. Если свернуть главное окно, то происходит минимизация всего интерфейса и, соответственно, всех открытых окон, а при закрытии главного окна работа с программой прекращается. На главной форме расположено меню, позволяющее перемещаться по различным окнам рис.2.7.
Рис.2.7 Внешний вид главной формы приложения.
При разработке приложения было уделено таким важным моментам, как:
Доступность и комфортность при работе с системой;
Удобство ввода входной информации.
Все простые справочники («Должности», «Сотрудники», «Поставщики», «Исполнители работы») представлены в виде простых табличных форм, см. например, рис.2.8:
Рис.2.8 Пример табличного оформления справочника (сотрудников).
Исключением является форма «Реквизиты предприятия», которая сделана в виде простой формы, см. рис 2.9.
Рис.2.9 Пример простой формы, в данном случае — справочная форма «Реквизиты фирмы».
Форма для перечня форм ОС для удобства представлена в виде ленточной формы, см. рис.2.10.
Рис.2.10 Пример ленточной формы, в данном случае — справочная форма «Формы ОС».
Что касается документов, то каждый вид документов организован в виде формы списка с перечнем соотвествующих документов, а также отдельной простой формы для добавления, редактирования или просмотра конкретного, выбранного из списка документа (это касается «Актов ввода в эксплуатацию», «Актов сдачи-приемки отремонтированных ОС», «Актов списания объектов ОС», «Инвентарных карт», «Внутренних накладных»). Например, на рис.2.11 и 2.12.
Рис.2.11 Пример формы-списка документов, в данном случае — перечень внутренних накладных.
Рис.2.12 Пример формы-карточки документа, в данном случае — внутренней накладной.
Для удобства на каждой форме перечня есть необходимые управляющие кнопки — добавить, удалить, редактировать, печать ОС. Также печать доступна из самой карточки документа. Для каждого поля даты подключен календарик, см. рис.2.13.
Рис.2.13 Форма-календарик для выбора даты.
Для каждого поля даты есть две стрелочки, позволяющие смещаться на один день вперед по времени или назад, для более серьезных изменений предполагается вызов календарика, путем двойного щелчка по полю даты. Все сделано единообразно, чтобы пользователь не задавался лишний раз вопросом от формы к форме, как и что сделать.
Также каждая форма обеспечена необходимым количеством раскрывающихся списков, для того, чтобы пользователю было как можно меньше надо вручную вводить информацию, а в основном вводить из ранее набранных справочников. Большая часть заполняемых полей снабжена проверками, прежде всего это поля даты, чтобы идущие логически позже даты не опережали идущие ранее и т.д. Например, в поле руководителя на новую запись заведомо подставляется руководитель из реквизитов формы.
Также для удобства общей схемы работы в карточке документа допускаются для изменения поля из справочника основных средств, например, остаточная стоимость, фактические сроки использования и т.д.
C целью защиты нашего проекта мы поставим пароль на программный код всех модулей в редакторе VBA, а также поставим пароль на базу во избежание несанкционированного доступа к ней. Защиту можно расширить при помощи встроенных методов Access в том, случае если понадобится разделение прав, например, для главного бухгалтера, бухгалтеров и помощника бухгалтера. Например, помощник получит доступ только для чтения. Такая схема легко реализуется при помощи файла рабочей группы, в котором настраиваются права пользователей. Но нам сейчас нет необходимости в такой серьезной защите, поэтому ограничимся общим паролем на доступ к базе.
Результат формирования формы ОС выводится в файл-шаблон документа в Excel, см. на рис.2.14.
Рис.2.14 Заполненная форма шаблона для внутренней накладной, первый и второй лист
2.14.1 Технологическое обеспечение
2.3.1 Организация технологии сбора, передачи, обработки и выдачи информации
Хранилище данных (data warehouse) — это автоматизированная информационно-технологическая система, которая собирает данные из существующих баз и внешних источников, формирует, хранит и эксплуатирует информацию как единую. Оно обеспечивает инструментарий для преобразования больших объемов детализированных данных в форму, которая удобна для стратегического планирования и реорганизации бизнеса и необходима специалисту, ответственному за принятие решений. При этом происходит слияние из разных источников различных сведений в требуемую предметно-ориентированную форму с использованием различных методов анализа.
Особенность новой технологии в том, что она предлагает среду накопления данных, которая не только надежна, но по сравнению с распределенными СУБД и оптимальна в отношении доступа к данным и манипулирования ими.
Хранилище информации предназначено для хранения, оперативного получения и анализа интегрированной информации по всем видам деятельности организации.
Данные в таком хранилище характеризуются следующими свойствами:
предметная ориентация — данные организованы согласно предмету, а не приложению (в соответствии со способом их применения);
интегрированность — данные согласуются с определенной системой наименований, хотя могут принадлежать различным источникам и их формы представления могут не совпадать;
упорядоченность во времени — данные согласуются во времени для использования в сравнениях, трендах и прогнозах;
неизменяемость и целостность — данные не обновляются и не изменяются, а только перезагружаются и считываются, поддерживая концепцию «одного правдивого источника».
большой объем и сложные взаимосвязи данных.
К основным категориям данных, которые располагаются в хранилище, относятся: метаданные, описывающие способы извлечения информации из различных источников, методы их преобразования из различных структур и форматов и доставки в хранилище; фактические данные (архивы), отражающие состояние предметной области и конкретные моменты времени; суммарные данные, полученные на основе проведенных аналитических расчетов.
Для уменьшения размера информационного хранилища до минимума при сохранении максимального количества информации применяются эффективные методы сжатия данных.
2.3.2 Схема технологического процесса сбора, передачи, обработки и выдачи информации
Для преобразования данных из хранилища в предметно-ориентированную форму требуются языки запросов нового поколения. Руководителям организации данные доступны посредством SQL-запросов, инструментов создания интерактивных отчетов на экране, более развитых систем поддержки принятия решений, многомерного просмотра данных посредством гипертекстовой технологии.
Для хранения данных обычно используются выделенные серверы, или кластеры серверов (группа накопителей, видеоустройств с общим контроллером).
Создание информационного хранилища данных требует решения ряда организационных вопросов, а также удовлетворения следующих требований к аппаратному и программному обеспечению.
Скорость загрузки. В хранилищах необходимо обеспечить периодическую загрузку новых порций данных, укладывающихся в достаточно узкий временной интервал. Требуемая производительность процесса загрузки не должна накладывать ограничения на размер хранилища. — Технология загрузки. Загрузка новых данных в хранилище включает преобразование данных, фильтрацию, переформатирование, проверку целостности, организацию физического хранения, индексирование и обновление метаданных. Это дает возможность объединить разнородную информацию из пакетов, применяемых в структурных подразделениях организации.
Управление качеством данных. В хранилище должна быть обеспечена локальная и глобальная согласованность данных. Мера качества построенного хранилища — объективность исходных данных и степень разнообразия возможных запросов.
Поддержка различных видов данных. В хранилище могут накапливаться данные не только стандартных типов, но и более сложных, таких, как текст, изображения, а также уникальных типов, определяемых разработчиками.
Скорость обработки запросов. Сложные запросы, важные для принятия ответственных решений, должны обрабатываться за секунды или минуты. Скорость обработки запроса должна зависеть от его сложности, а не от объема БД.
Масштабируемость. Хранилище организации может достигнуть нескольких сотен гигабайт. СУБД не должна иметь никаких архитектурных ограничений и должна поддерживать модульную и параллельную обработку, сохранять работоспособность в случае локальных аварий и иметь средства восстановления.
Обслуживание большого числа пользователей. Доступ к хранилищу данных не ограничивается узким кругом специалистов организации. Сервер БД должен поддерживать сотни пользователей без снижения скорости обработки запросов.
Сети хранилищ данных. Сервер должен содержать инструменты, координирующие перемещение данных — между хранилищем организации, информационными системами банков, ГНИ и т.п. Пользователи должны иметь возможность обращаться к нескольким хранилищам с одной клиентской рабочей станции.
Администрирование, СУБД должна обеспечить контроль за приближением к ресурсным ограничениям, сообщать о затратах ресурсов и позволять устанавливать приоритеты для различных категорий пользователей или операций, а кроме того, уметь осуществлять трассировку и настройку системы на максимальную производительность. Качество построенного хранилища определяется удобством доступа к нему для конечного пользователя.
Средства формирования запросов. Пользователь должен иметь возможность проведения аналитических расчетов, последовательного и сравнительного анализа, а также доступ к детальной и агрегированной информации.
Использование информационных хранилищ дает существенный выигрыш по производительности в системах принятия решений, в системах обработки большого числа транзакций с большим объемом обновления данных.
Для выполнения указанных функций разрабатываются соответствующие программные средства. Совокупность этих программных средств и баз знаний принято называть искусственным интеллектом.
Тем не менее в нашем конкретном случае ситуация упрощается — нам нет необходимости работать с такими мощными системами — хранилищами, нам достаточно обычной СУБД.
2.4 Программное обеспечение комплекса задач
2.4.1 Общие положения
Рассмотрим возможности СУБД MS Access необходимые для реализации обозначенных целей.
Microsoft Access предоставляет пользователю следующий набор объектов:
таблицы: содержат данные.
запросы: выборка данных из одной или нескольких таблицы, используя некоторые критерии отбора. (фактически запросы — это представления/виды).
формы: используются для организации интерфейса взаимодействия с пользователем БД
отчеты: выборка данных из таблиц/запросов, отформатированная для выведения на печать
макросы: последовательность команд MS Access, задаваемых с использованием удобного конструктора, и хранящаяся в базе данных. Макросы могут использоваться в формах, когда при наступлении определенного события (например, щелчок по кнопке) вызывается или макрос, или процедура VBA.
модули: содержат программы на Visual Basic for Applications (VBA). Эти программы фактически являются хранимыми процедурами/функциями и позволяют манипулировать базой данных, используя встроенные объекты Access, объекты DAO или ADO. При помощи программ на VBA, хранимых в модулях и формах, можно также реализовать триггеры.
Создание таблицы
1) Режим таблицы — наиболее удобен. Создание таблицы осуществляется просто путем ввода в пустую таблицу данных. После сохранения таблицы остаются только те столбцы, которые были переименованы или в которые были введены данные.
2) Конструктор — для создания таблицы, при помощи графического интерфейса описывается список ее столбцов: указывается имя поля и тип данных, длина поля, является ли поле первичным ключом таблицы, допустимо ли указание в поле пустых значений и т.д.
3) Мастер таблиц — создание таблицы при помощи удобного мастера, на основе шаблонов других таблиц (стандартных наборов столбцов).
При работе с таблицами Access также можно пользоваться возможностями фильтрации и сортировки. Использовав команду меню Записи/Фильтр, можно установить фильтрацию на основании выделенного значения, или воспользоваться командой «Расширенный фильтр» для задания сложных условий фильтрации, с использованием интерфейса, аналогичного интерфейсу при создании запросов. Сортировка данных по одному столбцу возможна при помощи команды меню Записи/Сортировка.
Создание запроса .
Наиболее гибким вариантом является создание запроса в режиме конструктора: задается имя таблицы, имена отбираемых столбцов, условия отбора, сортировки и вывода на экран. Условия, находящиеся в одной строке конструктора объединяются логическим оператором «и», а в разных строках — оператором «или». Можно также создать запрос по одному из следующих вариантов:
простой запрос — позволяет указать таблицы, из которых выбираются данные и имена столбцов.
перекрестный запрос — при создании в рамках одной таблицы, напоминает сводную таблицу Excel (необходимо указать строки, столбцы, данные и функцию обработки данных). Для того, чтобы создать перекрестный запрос на основании нескольких таблиц надо сначала создать простой запрос, содержащий все необходимые столбцы из этих таблиц.
повторяющиеся записи — выводит повторяющиеся записи из таблицы: указывается столбец по которому надо искать повторы и другие столбцы, данные из которых надо выводить для каждой из повторяющихся записей (например, для одинаковой “Зарплаты» вывести “ФИО”). Если дополнительные столбцы не указаны, то выводится “значение» — “количество повторов».
записи без подчиненных — поиск записей, не имеющих связей с записями в другой таблице (например, клиенты, не имеющие заказов).
Помимо создания запроса одним из выше перечисленных способов, можно задать запрос и непосредственно, в виде инструкций SQL. Для этого необходимо перейти из режима конструктора запроса в режим SQL (Меню Вид/Режим SQL).
Создание форм .
Наиболее гибким инструментом является создание форм в режиме конструктора, однако создание форм может осуществляться и при помощи мастера. Мастер форм позволяет автоматически создавать формы на основе указания таблицы, на основании которой строится форма, выбора полей таблицы и внешнего вида формы: в один столбец (слева — название, справа — данные), ленточная (колонки, сверху названия столбцов), табличная (аналогична листу Excel), выровненная. Возможно также быстрое создание формы по всем полям таблицы, с использованием автоформ (автоформа в столбец, автоформа ленточная, автоформа табличная — аналогично описанному выше). Диаграмма — создание формы, содержащей диаграмму. Сводная таблица — создание формы со сводной таблицей Excel.
При создании формы в режиме конструктора, в форме выделяется несколько областей:
заголовок / примечание (ВидЗаголовок, примечание формы)
колонтитулы (ВидКолонтитулы)
область данных.
Можно вручную на линейке перетягивать размеры областей. Используя панель элементов можно создавать в форме следующие элементы:
“Надпись” — любой текст,
“Поле» — поля данных или вычислений,
“Переключатель», “Флажок», “Группа переключателей” — в группу входят переключатели или флажки, в зависимости от их состояния, вся группа в целом принимает некоторое значение,
“Поле со списком», “Список», “Набор вкладок”, “Разрыв страницы”,
“Рисунок” — из файла,
“Выключатели” — кнопка нажата или отжата,
“Кнопка» — если нажата кнопка “Мастера», то выводится мастер создания кнопок: на выбор — поиск записей, сохранение, удаление, печать записей, применение фильтра, открытие формы, печать формы или отчета, запуск приложения, запуск макроса и т.д. Если кнопка “Мастера” не нажата, то рисуешь кнопку, а затем КМ: Свойства вкладка События поля “Нажатие кнопки”, “Двойное нажатие кнопки», “Получение фокуса” и т.д.
Возможно включение вычисляемого поля в форму и создание выражений.
Создание отчетов .
Создание отчетов аналогично созданию форм. В режиме конструктора выделяется те же области: заголовок отчета, верхний колонтитул, область данных, нижний колонтитул, примечание отчета. Аналогичным образом используются вычисляемые поля и надписи. Используя меню Вид/Сортировка и группировка, можно создавать отчеты с группировкой, например, объем продаж товара, сгруппированный по регионам продаж и т.п. Также возможно создание отчетов и диаграмм с использованием мастера отчетов, автоотчета в столбец, автоотчета ленточный, мастера диаграмм.
Создание интерфейса базы данных с использованием кнопочных форм и программ VBA.
Наилучшим решением при проектировании интерфейса базы данных, будет не использовать стандартный интерфейс Access, а использовать для интерактивного взаимодействия с пользователем специальные формы, содержащие такие элементы управления как кнопки, переключатели, флажки, выпадающие списки и т.п.
В свойствах формы и отдельных элементов управления формы можно также указать процедуры VBA или макросы, выполняющиеся при возникновении определенных событий в форме (вставка или удаление записей, открытие формы, щелчок по кнопке и т.д.). Соответствующие процедуры VBA хранятся в самой форме: меню Вид/Программа.
При редактировании программы, в левом верхнем выпадающем списке содержится перечень элементов формы, а в правом верхнем выпадающем списке — перечень событий для выбранного элемента. В программах на VBA используются встроенные объекты Access и объекты доступа к данным DAO/ADO.
2.4.2 Структурная схема пакета (дерево вызова процедур и программ). Описание программных модулей
Для разработки автоматизированной системы анализа финансово-хозяйственной деятельности предприятия использовалась СУБД MS Access, основа которой — язык VBA. Данная среда выполняет две основные функции: позволяет разрабатывать само хранилище данных, а также разработать интерфейс приложения, в том числе и программный код к нему. Таким образом, данная СУБД является:
высокопроизводительным интерпретатором;
СУБД как таковой;
объектно-ориентированная модель компонент;
визуальное построение приложений из программных прототипов;
широкий набор встроенных средств для работы с базами данных.
Примененная технология работы с данными — DAO 3.6, такая как эта модель максимально совместима с прошлыми версиями СУБД MS Access, кроме того менее требовательна к ресурсам, а также проста в употреблении. В соответствии с принципами визуального программирования, разработка приложений состоит из двух этапов:
1. Создания интерфейса приложения, на этом этапе на форме размещаются те объекты, которые необходимы для работы приложения, все существующие объекты принято делить на две группы:
а) информационные объекты, основное назначение которых ввод/вывод данных на экран;
б) управляющие объекты — это объекты при выборе которых выполняются определённые действия, кроме этого существует классификация объектов на визуальные и не визуальные. Вид визуальных объектов не зависит от того, в каком режиме находится форма, редактирования или работы. Не визуальные объекты можно увидеть на форме только в режиме редактирования.
2. Определение функциональности приложения. На этом этапе для управляющих объектов разрабатываются процедуры на языке VBA и связываются с выбранными объектами.
В составе проекта можно выделить следующие элементы: сами данные — таблицы, sql-инструкции в виде запросов, код проекта; описание форм; модули форм; модули; параметры проекта; описание ресурсов, отчеты и макросы (последние два вида объектов в нашем проекте не потребовались). Взаимосвязи между отдельными частями (файлами) проекта показаны на рис.2.16.
Рис.2.16 Взаимосвязи между объектами проекта.
К наиболее часто используемым визуальным элементам интерфейса относятся: для ввода, отображения и редактирования информации — текст (надпись), однострочный редактор, различные списки, таблицы; для запуска команд на выполнение — стандартные кнопки, кнопки с рисунком и кнопки быстрого доступа.
Так же на форме могут располагать невизуальные компоненты, выполняющие вспомогательные, но не менее важные, действия, например, таймер (секундомер), набор данных Table или источник данных DataSource.
Таким образом, форма представляет собой компонент Delphi, служащий контейнером для всех других компонентов.
Перечень объектов в базе таковой:
Рабочие таблицы в базе:
АктыПриемки, АктыРемонта, АктыСписания, АктыСписанияТовары, ВнутренниеНакл, ВнутренниеНаклТовары, Должности, Инвентаризации, ИнвентаризацииТовары, ИнвентКарты, Исполнители, ОснСредства, Параметры, Поставщики, Сотрудники, СтуктурнПодразделения, Формы, ВспомДата
Рабочие запросы в базе:
запрос_АктыПриемки, запрос_АктыРемонта, запрос_АктыСписания, запрос_АктыСписанияТовары, запрос_ВнутренниеНакл, запрос_ВнутренниеНаклТовары, запрос_Инвентаризации, запрос_ИнвентаризацииТовары, запрос_ИнвКарты, запрос_ИнвКнига, запрос_ИнвКнига2
Рабочие формы в базе:
Главная, Календарь, форма_АктПриемки, форма_АктРемонта, форма_АктСписания, форма_АктыСписанияТовары, форма_ВнутренниеНакл, форма_ВнутренниеНаклТовары, форма_ВспомДата, форма_Должности, форма_Инв, форма_ИнвентаризацииТовары, форма_ИнвКарта, форма_ИсполнителиРабот, форма_ОсновныеСредства, форма_Поставщики, форма_РеквизитыФирмы, форма_Сотрудники, форма_СписокАктовПриемки, форма_СписокАктовРемонта, форма_СписокАктовСписания, форма_СписокВнутренниеНакл, форма_СписокИнв, форма_СписокИнвКарт, форма_СписокОснСредств, форма_СтуктурнПодразделения, форма_Формы.
Рабочие модули в базе:
Inv, OS1, OS2, OS3, OS4, OS6, OS6b, Общий, прописью
2.5 Схема взаимосвязи программных модулей и информационных файлов
Схема взаимосвязи довольно проста. Для каждого файла-шаблона есть свой модуль, отвечающий за его заполнение, см. табл.2.17.
Таблица 2.17.
Унифицированная форма для заполнения |
Модуль для заполнения |
Module OS1 |
ОС-1. xls |
Module OS2 |
ОС-2. xls |
Module OS3 |
ОС-3. xls |
Module OS4 |
ОС-4. xls |
Module OS6 |
ОС-6. xls |
Module OS6б |
ОС-6b. xls |
Module Inv |
инв. xls |
Задачи, данным программным продуктом:
Заполнение формы ОС-1;
Заполнение формы ОС-2;
Заполнение формы ОС-3;
Заполнение формы ОС-4;
Заполнение формы ОС-6
Заполнение формы ОС-6б
Заполнение формы инвентаризации описи;
Схема взаимодействия задач системы, рис.2.17.
Рис.2.17 Схема взаимосвязей программных модулей и блоков.
2.6 Выбор и обоснование технических средств
Основные достоинства выбранной СУБД — доступность, простота удобство в конструировании, доработке, администрировании. Вместе с тем Access позволяет надежно хранить данные и эффективно их обрабатывать. Поэтому, начиная с Access 97, этот продукт стабильно держится в рейтинге настольных СУБД на первых местах. Сегодня наиболее популярен Access 2003, который входит в состав пакета MS Office 2003. К отдельным перечням достоинств стоит отнести и полную интеграцию с другими офисными приложениями — Word, Outlook, Excel.
Учитывая основные достоинства СУБД Microsoft Access, надо заметить, что хотя в ее отношении используется термин «настольная СУБД», тем не менее, популярность ее такова, что огромное количество малых и средних, а то и достаточно крупных предприятий ведут учет своей хозяйственной деятельности именно в разработках на основе Microsoft Access. Отдельным плюсом работы с этой СУБД является использования легкого в освоении и наглядного объектного языка программирования Visual Basic for Application (VBA), младшего родственника по функциональности полноценного высокоуровневого языка программирования Microsoft Visual Basic. Такая СУБД незаменима прежде всего для учетных, экономических и бухгалтерских задач.
Пожалуй наличие встроенного мощного инструмента — языка программирования окончательно позволяет сделать выбор в пользу СУБД Access. Так как MS Access является широко распространенным информационным продуктом, входит в семейство MS Office, то как правило дополнительных средств на приобретение этого программного продукта инее требуется.
Что касается взаимосвязи между блоками АСУ 1С Бухгалтерия и модуль на СУБД Access, то при необходимости между ними можно организовать схему импорта данных, например, в формат DBF (db2 и т.д.), а затем добавить блок считывания (импорта) в модуль Access. Однако, плюс разработанного модуля заключается в том, что он обладает полной автономией: при необходимости данные для нового документа можно внести непосредственно через его интерфейс. Таки образом, слишком сложной схемы связи нет.
В конфигурацию, достаточную для бесперебойной и качественной работы системы входят процессор с частотой не менее 800МГЦ, системная плата на основе набора микросхем Intel, поддерживающая все современные стандарты и процессоры.
Нормальная работа с программой возможна при наличии 128 Мбайт оперативной памяти. На емкость жесткого диска особенно сильно влияет не сколько размер самих программ, сколько объем данных, необходимый для работы с ними. Приемлемая емкость жесткого диска 16 Гбайт. Установка диска меньшей емкости может отрицательно сказаться на работе с увеличивающимися базами данных. Операционная система от Windows 2000/XP.
По безопасности системы: при монтаже, наладке, обслуживании, ремонте и эксплуатации технических средств системы в качестве мер безопасности должны соблюдаться требования установленные:
СаНПиН 2.2.4/2.8056-96 «Электромагнитные излучения радиочастотного диапазона»;
ГОСТ Р 50377-92 (МЭК 950-86)«Безопасность оборудования информационной технологии, включая электрическое конторское оборудование»;
ГОСТ 27201-87 «Машины вычислительные электронные персональные. Типы, основные параметры, общие технические требования».
2.7 Экономическое обоснование проекта
Как известно, экономическое обоснование может быть проведено по следующим основным направлениям получения эффекта:
сравнение вариантов организации ЭИС по комплексу задач (например, сравнение ЭИС, предлагаемой в проекте, с существующей);
сравнение вариантов организации информационной базы комплекса задач (файловая организация и база данных);
сравнение вариантов организации технологического процесса сбора, передачи, обработки и выдачи информации;
сравнение вариантов технологии проектирования ЭИС (например, индивидуального проектирования с методами, использующими пакеты программ или модельного проектирования);
сравнение вариантов технологии внутримашинной обработки данных.
Приведем результат сравнения по выше указанным направлениям в табл.2.18.
Таблица 2.18.
Имеющаяся АСУ |
Имеющаяся АСУ + разработанный в дипломном проекте модуль |
Комплекс задач и функций, обеспеченный типовой конфигурацией УСН |
Дополнительная функциональность, связанная с автоматическим заполнением унифицированных форм |
Стандартная организация структуры и хранения данных, которая полностью обеспечена и контролируется комплексом 1С Бухгалтерией |
Дополнительная дублирующая структура данных. Плюс в том, что документ значительно быстрее может быть добавлен в базу модуля для заполнения форм (в том случае, когда необходимо только распечатать его, а не хранить на постоянной основе). |
Технологический процесс, обеспеченный комплексом 1С Бухгалтерией |
Технологический процесс сохраняется примерно таким же |
Дополнительный модуль обеспечен другой СУБД, это некоторое усложнение системы, но из всех вариантов СУБД самое менее затратное |
Расчет затрат на разработку.
Основным критерием целесообразности разработки АИС является повышение экономической эффективности производственной деятельности фирмы посредством совершенствования системы управления. В основе распространенной методики анализа экономичности выбираемого варианта лежит сопоставление показателей обработки экономической информации, рассчитанных по новому варианту, с базовым показателей.
В соответствии с ГОСТ 24.702-85 целесообразны варианты построения экономических информационных систем выбираются путем балансирования показателей приращения эффекта Э, получаемого за счет создания или совершенствования АИС, и затрат Q. Математически эту задачу формулируют в виде
Мах Э при Q = const или min Q при Э = const.
При оценки эффективности используют обобщающие и частные показатели.
К основным обобщающим показателям экономической эффективности относятся:
Годовой экономический эффект;
Расчетный коэффициент эффективности капитальных затрат;
Срок окупаемости системы.
Годовой экономический эффект (Э) определяется по формуле:
Э = П-К*ЕН (2.1)
где П — годовая экономия (годовой прирост прибыли), тыс. руб.;
К — единовременные затраты, тыс. руб.;
ЕН — нормативный коэффициент эффективности капитальных вложений.
Коэффициент экономической эффективности капитальных затрат (ЕP ) определяется по формуле:
ЕP = П/К (2.2)
Срок окупаемости (Т) исчисляется по формуле:
Т = К/П (2.3)
Расчет перечисленных обобщающих показателей предполагает предварительное вычисление частных показателей, характеризующих создаваемую АИС. Опишем и рассчитаем эти показатели.
Затраты на разработку системы (Кп ) определяются по формуле:
Кп = Фз/п [ (1 + βд) (1 + βс) + βн + βпр] + tэвм∙Смч (2.4)
где Фз/п — фонд основной заработной платы разработчиков и других исполнителей работ, руб.;
βд — коэффициент дополнительной зарплаты (составит ОД);
βс — коэффициент отчислений на социальные нужды от основной и дополнительной заработной платы (составит 0,4);
βн — коэффициент накладных расходов организации, разрабатывающей проект (составит 0,6);
βпр — коэффициент прочих расходов (0,1);
tэвм — машинное время, затраченное для отладки программного обеспечения, ч (составляет 240 ч);
Смч — стоимость машино-часа работы компьютера, руб. Расчет фонда основной заработной платы исполнителей работ по разработке рассчитывается как произведение суммарной трудоемкости работ по разработке системы (чел. — дн) и тарифной дневной ставки разработчиков.
Таким образом, исходя из линейного графика работ, продолжительность работ составляет 100 дней. Тарифная дневная ставка бухгалтера составляет 100 руб. Следовательно, Фз/п = 60 * 100 = 6000 руб.
Себестоимость машино-часа работы компьютера определяется по формуле:
См. ч = (Зп + А + Зэ + Зр + Зн+Зм ) /Фд (2.5)
где, Зп — затраты на заработную плату обслуживающего персонала с учетом всех отчислений, руб;
А — годовая сумма амортизации, руб;%
Зэ — затраты на силовую энергию, руб.;
Зр — затраты на ремонт и обслуживание оборудования в год, руб.;
Зм — затраты на материалы в год, руб.;
Зн — накладные расходы, руб.;
Фд — действительный годовой фонд времени работы АИС, ч. По данным бухгалтерии затраты на заработную плату персонала (Зп) составит — 15000 руб.
Годовые амортизационные (А) отчисления считаются по формуле:
А = (Ск*НА ) /100 (2.6)
где Ск — стоимость компьютера и прочего оборудования, используемого при отладке системы и, составляющий 20000 руб.;
НА — норма амортизации принимается равной 12%;
А = (20000 * 12) / 100 = 2400 руб.
Затраты на электроэнергию в год (Зэ ) определяется по формуле:
Зэ = Wу *Сэ *Тb ( 2.7)
где Wу — установленная мощность, равная 0,1 кВт;
Сэ — стоимость силовой электроэнергии, равна 0,70 р/кВт;
Тb — время, в течение года, когда оборудование потребляет электроэнергию, равно 1920 ч.;
Зэ = 0,1 * 0,70 * 1920 = 134,40 руб.
Затраты на текущие ремонты Зр и на материалы Зм в год берутся по данным бухгалтерии и составляет 4,5% от стоимости аппаратных средств.
Зр = 20000 * 4,5 /100 = 900 руб.
Зм = 20000 * 4,5/100 = 900 руб.
В накладные расходы включаются затраты на отопление, освещение и прочие. Они составляют 600 руб.
Годовой фонд времени Фд устанавливается исходя из номинального фонда времени и времени профилактики оборудования и ремонтов:
Фд =S*h*D-Тпр (2.8)
где, S — продолжительность смены, равна 8 ч.
h — количество смен, равно 1;
D — число рабочих дней в году равно 240 дней;
Тпр — время ремонтов и профилактики оборудования в год, равно 32ч.;
Фд = 8* 1 * 240-32 = 1888 ч.
По формуле (21) находим
См. ч = (15000 + 2400 + 134,40 + 900 + 600+900) /1888=10,5 руб.
Таким образом затраты на разработку системы рассчитаем по формуле (32)
Кп = 6000 * [ (1 + 0,1) (1 + 0,4) + 0,6 + 0,1] + 240*10,5 = 15720 руб.
Расчет минимальной цены разработки системы.
Минимальная цена разработки системы Zmin складывается из полных затрат на разработку Кп и минимально необходимой суммы прибыли nmin .
Zmin = Кп + Пmin ( 2.9)
Сумма прибыли рассчитывается исходя из планируемого минимального уровня рентабельности Rmin (составит 15%) по формуле:
Пmin = Kn *Rmin /100 (2.10)
Пmin = 15720 * 15 /100 = 2358 руб.
Таким образом,
Zmin = 15720 +2358 = 18078 руб.
Расчет экономических результатов от внедрения системы.
Для оценки экономических результатов от внедрения системы необходимо выявить ее влияние на конечные результаты деятельности организации. Годовая экономия от внедрения системы П определяется по формуле:
П = — Зтек (2.11)
где m — количество статей затрат, по которым может быть получена экономия = 2;
3i — экономия по i-й статье затрат, т. руб.;
Зтек — затраты на функционирование системы.
Годовая экономия идет по следующим статьям:
На снижение трудоемкости обработки информации 3i:
3! у, 32У — затраты на выполнение работ существующему варианту при ручном способе и в условиях автоматизации, руб.;
Т1 !,, Т2И — трудоемкость обработки информации ручным способом, ч.
α — коэффициент, учитывающий дополнительную трудоемкость по обработке информации на вспомогательные операции (а = 2,0…3,0)
г — часовая тарифная ставка управленческих работников, руб.;
О — коэффициент, определяющий размер дополнительной заработной платы с учетом отчислений на социальные нужды (0,5).
R — коэффициент определяющий характер накладных расходов (0,4);
3i = 31y -32y (2.12)
31y = T1H * α *r (l + O + R); (2.13)
32y = T2H * α *r (l + O + R); (2.14)
31у = 3000 * 2,6 * 6 (1 + 0,5 + 0,4) = 88920 руб.
32У = 2800 * 2 * 6 (1 + 0,5 + 0,4) = 63 840 руб.
Эi = 85 500 — 68 400 = 22800 руб.
Затраты, связанные с работой аппаратных средств могут быть рассчитаны по формуле:
Зтек= Змв= См-ч * tкса ( 2.15)
где См-ч — себестоимость часа работы комплекса технических средств (КСА), руб. /ч
tкса — время использования КСА в год, ч.
Следовательно, 3тек = 10,5 * 240 = 2520 руб.
Таким образом годовая экономия от внедрения системы составляет:
П = 22800 — 2520 = 20280 руб.
Экономическая эффективность капитальных вложений.
В соответствии со стандартами, значение Ен принимается равным 0,15 для всех отраслей народного хозяйства. Коэффициент эффективности капитальных вложений представляет собой минимальную норму эффективности капитальных вложений, ниже которой они нецелесообразны.
На основании рассчитанных показателей по формуле (2.1) годовой экономический эффект составляет:
Э = 20280 — 18078 *0,15= 17568,3 руб.
По формуле (30) определим расчетный коэффициент экономической эффективности капитальных затрат:
Ер=20280/18078 = 1,12
По формуле (31) определим срок окупаемости:
Т = 18078/20280= 0,89 ≈ 10,68 месяца
Срок возврата капитальных вложений составляет около 11 месяцев, что является допустимым. Интегральный эффект положительный. Значит, атраты по внедрению системы на предприятии эффективны.
Отдельно эффективность разработанного блока можно оценить из соображений вложений в приобретение новой версии основного учетного комплекса 1С Бухгалтерии, ее настройки, времени сотрудников на ее освоение, программную поддержку на первом этапе.
Заключение
В данном дипломном проекте были успешно достигнуты следующие цели:
разработана схема автоматизированного учета основных средств предприятия в целом, подобран и настроен готовый комплекс ПО УСН 1С Бухгалтерии под нужды предприятия
разработана схема дополнительного блока, предназначенного для формирования унифицированных форм по учету основных средств, входящих в систему обязательного учета
реализован данный программный блок «с нуля» в среде СУБД MS Access — интерфейсная часть, хранение и обработка данных, разработаны необходимые шаблоны исходящих документов
спланирована удобная работа с разработанным блоком, обеспечение рабочего места бухгалтера данным ПО, обдуман механизм первичной информационной защиты, проанализированы возможности расширения данного продукта и прямой интеграции с основным учетным комплексом 1С Бухгалтерии УСН.
проведено экономическое обоснование разработанной учетной схемы, доказана ее окупаемость.
Основными плюсами разработанного модуля является его относительная автономность, низкая экономическая затратность, легкость с точки зрения технологической установки, а также широкие возможности по дальнейшему усовершенствованию.
Список использованных источников
1. Баркер, Скотт Ф. Профессиональное программирование в Access 2002. — М.: Издательский дом «Вильямс», 2002. — 991 с.: ил.
2. Бекаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2002. — СПб.: BHV — Санкт-Петербург, 2002. — 718 с.
3. Глушаков С.В. Базы данных: Учеб. курс/ Глушаков С.В., Ломотько Д.В. — Харьков; Ростов н/Д; Киев: Фолио: Феникс: Абрис, 2000. — 504 с.
4. Гэпн К., Сарсон Т. Структурный системный анализ: средства и методы: В 2 ч.: Пер. с англ / Под ред. А.В. Козлинского. — М.: Эйтекс, 1993. — 310 с.
5. Дейт К. Дж. Введение в системы баз данных.: Пер. с англ. — 6-е изд. — К.: Диалектика, 1998. — 784 с.: ил.
6. Заикин О.А., Советов Б.Я. Проектирование интегрированных систем обработки информации и управления: Учебное пособие. — М.: МГАП «Мир Книги», 1994. — 190 с.
7. Заикина С.А. Шпаргалка по бухгалтерскому учету: Учебное пособие. — М.: Экзамен, 2006. — 32 с.
8. Калянов Г.Н. Консалтинг при автоматизации предприятий (подходы, методы, средства): Учебное пособие. — М.: СИНТЕГ, 1997. — 316 с.
9. Киммел П. Освой самостоятельно программирование для Microsoft Access 2000 за 24 часа: [Учебное пособие] / Пер.А.С. Варакин. — М.: Издательский дом «Вильямс», 2000. — 447 с.
10. Михеева В.Д., Харитонова И.А. Microsoft Access 2002. — СПб.: BHV — Санкт-Петербург, 2002. — 1021 с.
11. Новалис Сьюзанн. Access 2000. Руководство по VBA. — М., 2001. — 506 с.
12. Титоренко Г.А. Автоматизированные информационные технологии в экономике. — М.: Юнити, 2006. — 400 с.
13. Харитонов C.А. Упрощенная система налогообложения: особенности применения и методика ведения учета в 1С: Бухгалтерии 7.7. — М.: 1С-Паблишинг, 2005. — 319 с.
14. Хомоненко А.Д. Базы данных: Учебник для высш. учеб. заведений/ А.Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев; Под ред.А.Д. Хомоненко. — 2-е изд., доп. и перераб. — СПб.: КОРОНА принт, 2002. — 672 с
Приложения
Код модуля Inv
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 8
Private Const cFirmName As Byte = 1
Private Const rFirmName As Integer = 6
Private Const cFirmOKPO As Byte = 89
Private Const rFirmOKPO As Integer = 6
Private Const cStruct As Byte = 1
Private Const rStruct As Integer = 8
Private Const cNomer As Byte = 69
Private Const rNomer As Integer = 18
Private Const cDat As Byte = 81
Private Const rDat As Integer = 18
Private Const cOsn As Byte = 28
Private Const rOsn As Integer = 11
Private Const cOsnNomer As Byte = 89
Private Const rOsnNomer As Integer = 11
Private Const cOsnDate As Byte = 89
Private Const rOsnDate As Integer = 12
Private Const cDate1 As Byte = 89
Private Const rDate1 As Integer = 13
Private Const cDate2 As Byte = 89
Private Const rDate2 As Integer = 14
Private Const cMest As Byte = 13
Private Const rMest As Integer = 24
Private Const cMatDolzhn1 As Byte = 38
Private Const rMatDolzhn1 As Integer = 32
Private Const cMatDolzhn2 As Byte = 38
Private Const rMatDolzhn2 As Integer = 34
Private Const cMatDolzhn3 As Byte = 38
Private Const rMatDolzhn3 As Integer = 36
Private Const cMatName1 As Byte = 79
Private Const rMatName1 As Integer = 32
Private Const cMatName2 As Byte = 79
Private Const rMatName2 As Integer = 34
Private Const cMatName3 As Byte = 79
Private Const rMatName3 As Integer = 36
Private Const ciKol As Byte = 72
Private Const riKol As Integer = 28
Private Const ciStoim As Byte = 79
Private Const riStoim As Integer = 28
Private Const rSh1_1 As Integer = 10
Private Const rSh1_2 As Integer = 27
Private Const cNom As Byte = 1
Private Const cTovar As Byte = 6
Private Const cInv As Byte = 51
Private Const cDoc As Byte = 26
Private Const cDocDate As Byte = 32
Private Const cDocNomer As Byte = 38
Private Const cYear As Byte = 44
Private Const cZav As Byte = 58
Private Const cPasp As Byte = 65
Private Const cKol As Byte = 72
Private Const cSum As Byte = 79
Private Const ciKolNomProp As Byte = 27
Private Const riKolNomProp As Integer = 30
Private Const ciKolProp As Byte = 30
Private Const riKolProp As Integer = 32
Private Const ciSumProp As Byte = 20
Private Const riSumProp As Integer = 34
Private Const ciSumKopProp As Byte = 91
Private Const riSumKopProp As Integer = 36
Private Const ciKolNomProp2 As Byte = 27
Private Const riKolNomProp2 As Integer = 3
Private Const ciKolProp2 As Byte = 30
Private Const riKolProp2 As Integer = 5
Private Const ciSumProp2 As Byte = 20
Private Const riSumProp2 As Integer = 7
Private Const ciSumKopProp2 As Byte = 91
Private Const riSumKopProp2 As Integer = 9
Private Const cPredsDolzh As Byte = 19
Private Const rPredsDolzh As Integer = 13
Private Const cChl1Dolzh As Byte = 19
Private Const rChl1Dolzh As Integer = 15
Private Const cChl2Dolzh As Byte = 19
Private Const rChl2Dolzh As Integer = 17
Private Const cChl3Dolzh As Byte = 19
Private Const rChl3Dolzh As Integer = 19
Private Const cPredsName As Byte = 60
Private Const rPredsName As Integer = 13
Private Const cChl1Name As Byte = 60
Private Const rChl1Name As Integer = 15
Private Const cChl2Name As Byte = 60
Private Const rChl2Name As Integer = 17
Private Const cChl3Name As Byte = 60
Private Const rChl3Name As Integer = 19
Private Const c2MatDolzhn1 As Byte = 42
Private Const r2MatDolzhn1 As Integer = 26
Private Const c2MatDolzhn2 As Byte = 42
Private Const r2MatDolzhn2 As Integer = 28
Private Const c2MatDolzhn3 As Byte = 42
Private Const r2MatDolzhn3 As Integer = 30
Private Const c2MatName1 As Byte = 79
Private Const r2MatName1 As Integer = 26
Private Const c2MatName2 As Byte = 79
Private Const r2MatName2 As Integer = 28
Private Const c2MatName3 As Byte = 79
Private Const r2MatName3 As Integer = 30
Private Const cDatPodpDay As Byte = 43
Private Const rDatPodpDay As Integer = 33
Private Const cDatPodpMon As Byte = 47
Private Const rDatPodpMon As Integer = 33
Private Const cDatPodpYear As Byte = 63
Private Const rDatPodpYear As Integer = 33
Private Const cDatProvDay As Byte = 41
Private Const rDatProvDay As Integer = 38
Private Const cDatProvMon As Byte = 45
Private Const rDatProvMon As Integer = 38
Private Const cDatProvYear As Byte = 61
Private Const rDatProvYear As Integer = 38
Sub PrintFormInv (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String, StrFirmAddr As String, StrFirmReq As String, StrStruct As String
Dim NomerVnutr As String, StrDate As Date
Dim StrOsn As String, StrDateOsn As Date, StrNomerOsn As String
Dim StrMest As String
Dim StrDate1 As Date, StrDate2 As Date
Dim StrMatDolzhn1 As String, StrMatDolzhn2 As String, StrMatDolzhn3 As String
Dim StrMatName1 As String, StrMatName2 As String, StrMatName3 As String
Dim StrPredsName As String, StrPredsDolzh As String
Dim StrChl1Name As String, StrChl1Dolzh As String
Dim StrChl2Name As String, StrChl2Dolzh As String
Dim StrChl3Name As String, StrChl3Dolzh As String
Dim StrProvName As String, StrProvDolzh As String
Dim StrDatePodp As Date, StrDateProv As Date
Dim StrItog As Double, StrItogKol As Long
Dim s_Sum As Double, s_Kol As Long
Dim i As Long, NRecord As Long, p As Long
Dim StrMonthPodp As String, StrMonthProv As String
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT * FROM Параметры », dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы „). Value, “»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО „). Value, “»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from запрос _Инвентаризации where НомерИнв = » & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
NomerVnutr = Nz (Rec. Fields («НомерВнутр „). Value, nomer)
StrDate = Nz (Rec. Fields (“ДатаИнв „). Value, Date)
StrOsn = Nz (Rec. Fields (“Основание „). Value, “»)
StrDateOsn = Nz (Rec. Fields («ДатаОсн „). Value, Date)
StrNomerOsn = Nz (Rec. Fields (“НомерОсн „). Value, “»)
StrMest = Nz (Rec. Fields («Местонахождение „). Value, “»)
StrStruct = Nz (Rec. Fields («СтруктурноеПодразделение „). Value, “»)
StrDate1 = Nz (Rec. Fields («ДатаНачала „). Value, Date)
StrDate2 = Nz (Rec. Fields (“ДатаКонца „). Value, Date)
StrMatDolzhn1 = Nz (Rec. Fields (“mat_dolzhn1»). Value, «»)
StrMatDolzhn2 = Nz (Rec. Fields («mat_dolzhn2»). Value, «»)
StrMatDolzhn3 = Nz (Rec. Fields («mat_dolzhn3»). Value, «»)
StrMatName1 = Nz (Rec. Fields («mat_Name1»). Value, «»)
StrMatName2 = Nz (Rec. Fields («mat_Name2»). Value, «»)
StrMatName3 = Nz (Rec. Fields («mat_Name3»). Value, «»)
StrPredsName = Nz (Rec. Fields («preds_name»). Value, «»)
StrPredsDolzh = Nz (Rec. Fields («preds_dolzhn»). Value, «»)
StrChl1Name = Nz (Rec. Fields («chl1_name»). Value, «»)
StrChl1Dolzh = Nz (Rec. Fields («chl1_dolzhn»). Value, «»)
StrChl2Name = Nz (Rec. Fields («chl2_name»). Value, «»)
StrChl2Dolzh = Nz (Rec. Fields («chl2_dolzhn»). Value, «»)
StrChl3Name = Nz (Rec. Fields («chl3_name»). Value, «»)
StrChl3Dolzh = Nz (Rec. Fields («chl3_dolzhn»). Value, «»)
StrProvName = Nz (Rec. Fields («prov_name»). Value, «»)
StrProvDolzh = Nz (Rec. Fields («prov_dolzhn»). Value, «»)
StrDatePodp = Nz (Rec. Fields («ДатаПодписи „). Value, Date)
StrDateProv = Nz (Rec. Fields (“ДатаПроверки „). Value, Date)
Else
MsgBox “Инв. опись ОС №» & nomer & » не найдена!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDatePodp), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPodp = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthPodp = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDateProv), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthProv = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthProv = «нет названия»
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rStruct, cStruct). Value = StrStruct
oApp. Cells (rOsn, cOsn). Value = StrOsn
oApp. Cells (rOsnDate, cOsnDate). Value = StrDateOsn
oApp. Cells (rOsnNomer, cOsnNomer). Value = StrNomerOsn
oApp. Cells (rDate1, cDate1). Value = Format$ (StrDate1, «dd. mm. yyyy»)
oApp. Cells (rDate2, cDate2). Value = Format$ (StrDate2, «dd. mm. yyyy»)
oApp. Cells (rMest, cMest). Value = StrMest
oApp. Cells (rMatDolzhn1, cMatDolzhn1). Value = StrMatDolzhn1
oApp. Cells (rMatDolzhn2, cMatDolzhn2). Value = StrMatDolzhn2
oApp. Cells (rMatDolzhn3, cMatDolzhn3). Value = StrMatDolzhn3
oApp. Cells (rMatName1, cMatName1). Value = StrMatName1
oApp. Cells (rMatName2, cMatName2). Value = StrMatName2
oApp. Cells (rMatName3, cMatName3). Value = StrMatName3
oApp. ActiveWorkbook. Sheets (2). Select
Application. SysCmd acSysCmdInitMeter, «Вывод информации о товарах», 100
StrItog = 0
StrItogKol = 0
Set RecList = db. OpenRecordset («select * from запрос _ИнвентаризацииТовары where НомерИнв = » & nomer, dbOpenSnapshot)
NRecord = RecList. RecordCount
If NRecord > 0 Then
RecList. MoveLast
NRecord = RecList. RecordCount
RecList. MoveFirst
i = 0
p = rSh1_1 — 1
While Not RecList. EOF
i = i + 1
p = p + 1
Application. SysCmd acSysCmdUpdateMeter, i / NRecord * 100
If p > rSh1_2 Then GoTo lbl_ex
s_Sum = Nz (RecList. Fields («Сумма „). Value, 0)
s_Kol = Nz (RecList. Fields (“Количество „). Value, 0)
oApp. Cells (p, cNom). Value = i
oApp. Cells (p, cTovar). Value = Nz (RecList. Fields (“Товар „). Value, “»)
oApp. Cells (p, cDoc). Value = Nz (RecList. Fields («ОснованиеПринятия „). Value, “»)
oApp. Cells (p, cDocDate). Value = Format$ (Nz (RecList. Fields («ДокДатаПринятия „). Value, Date), “dd. mm. yyyy»)
oApp. Cells (p, cDocNomer). Value = Nz (RecList. Fields («ДокНомерПринятия „). Value, “»)
oApp. Cells (p, cYear). Value = Nz (RecList. Fields («ГодВыпуска „). Value, Year (Date))
oApp. Cells (p, cInv). Value = Nz (RecList. Fields (“ИнвКод „). Value, “»)
oApp. Cells (p, cPasp). Value = Nz (RecList. Fields («НомерПоПаспорту „). Value, “»)
oApp. Cells (p, cZav). Value = Nz (RecList. Fields («НомерЗавод „). Value, “»)
oApp. Cells (p, cKol). Value = s_Kol
oApp. Cells (p, cSum). Value = Format$ (s_Sum, «0.00»)
StrItogKol = StrItogKol + s_Kol
StrItog = StrItog + s_Sum
RecList. MoveNext
Wend
Else
MsgBox «Для описи №» & nomer & » нет перечня товаров!», vbCritical + vbOKOnly
Exit Sub
End If
lbl_ex:
Set RecList = Nothing
oApp. Cells (riKol, ciKol). Value = StrItogKol
oApp. Cells (riStoim, ciStoim). Value = StrItog
oApp. Cells (riKolNomProp, ciKolNomProp). Value = translateNumber (i)
oApp. Cells (riKolProp, ciKolProp). Value = translateNumber (StrItogKol)
oApp. Cells (riSumProp, ciSumProp). Value = translateNumber (Int (StrItog))
oApp. Cells (riSumKopProp, ciSumKopProp). Value = Format$ (Int ( (StrItog — Int (StrItog)) * 100 + 0.5), «00»)
oApp. ActiveWorkbook. Sheets (3). Select
oApp. Cells (riKolNomProp2, ciKolNomProp2). Value = translateNumber (i)
oApp. Cells (riKolProp2, ciKolProp2). Value = translateNumber (StrItogKol)
oApp. Cells (riSumProp2, ciSumProp2). Value = translateNumber (Int (StrItog))
oApp. Cells (riSumKopProp2, ciSumKopProp2). Value = Format$ (Int ( (StrItog — Int (StrItog)) * 100 + 0.5), «00»)
oApp. Cells (rPredsName, cPredsName). Value = StrPredsName
oApp. Cells (rPredsDolzh, cPredsDolzh). Value = StrPredsDolzh
oApp. Cells (rChl1Name, cChl1Name). Value = StrChl1Name
oApp. Cells (rChl1Dolzh, cChl1Dolzh). Value = StrChl1Dolzh
oApp. Cells (rChl2Name, cChl2Name). Value = StrChl2Name
oApp. Cells (rChl2Dolzh, cChl2Dolzh). Value = StrChl2Dolzh
oApp. Cells (rChl3Name, cChl3Name). Value = StrChl3Name
oApp. Cells (rChl3Dolzh, cChl3Dolzh). Value = StrChl3Dolzh
oApp. Cells (r2MatDolzhn1, c2MatDolzhn1). Value = StrMatDolzhn1
oApp. Cells (r2MatDolzhn2, c2MatDolzhn2). Value = StrMatDolzhn2
oApp. Cells (r2MatDolzhn3, c2MatDolzhn3). Value = StrMatDolzhn3
oApp. Cells (r2MatName1, c2MatName1). Value = StrMatName1
oApp. Cells (r2MatName2, c2MatName2). Value = StrMatName2
oApp. Cells (r2MatName3, c2MatName3). Value = StrMatName3
oApp. Cells (rDatPodpDay, cDatPodpDay). Value = Format$ (StrDatePodp, «dd»)
oApp. Cells (rDatPodpMon, cDatPodpMon). Value = StrMonthPodp
oApp. Cells (rDatPodpYear, cDatPodpYear). Value = Format$ (StrDatePodp, «yyyy»)
oApp. Cells (rDatProvDay, cDatProvDay). Value = Format$ (StrDateProv, «dd»)
oApp. Cells (rDatProvMon, cDatProvMon). Value = StrMonthProv
oApp. Cells (rDatProvYear, cDatProvYear). Value = Format$ (StrDateProv, «yyyy»)
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля OS1
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 3
Private Const cRukDolzh As Byte = 56
Private Const rRukDolzh As Integer = 4
Private Const cRukName As Byte = 85
Private Const rRukName As Integer = 4
Private Const cDatRukDay As Byte = 62
Private Const rDatRukDay As Integer = 6
Private Const cDatRukMon As Byte = 66
Private Const rDatRukMon As Integer = 6
Private Const cDatRukYear As Byte = 79
Private Const rDatRukYear As Integer = 6
Private Const cFirmName As Byte = 16
Private Const rFirmName As Integer = 9
Private Const cFirmOKPO As Byte = 88
Private Const rFirmOKPO As Integer = 9
Private Const cFirmAddr As Byte = 1
Private Const rFirmAddr As Integer = 11
Private Const cFirmReq As Byte = 1
Private Const rFirmReq As Integer = 13
Private Const cOsn As Byte = 18
Private Const rOsn As Integer = 25
Private Const cDatPriem As Byte = 88
Private Const rDatPriem As Integer = 28
Private Const cSchet As Byte = 88
Private Const rSchet As Integer = 30
Private Const cAmort As Byte = 88
Private Const rAmort As Integer = 32
Private Const cInv As Byte = 88
Private Const rInv As Integer = 33
Private Const cNomer As Byte = 36
Private Const rNomer As Integer = 32
Private Const cDat As Byte = 49
Private Const rDat As Integer = 32
Private Const cTovar As Byte = 15
Private Const rTovar As Integer = 36
Private Const cMest As Byte = 29
Private Const rMest As Integer = 39
Private Const cPerv As Byte = 65
Private Const rPerv As Integer = 13
Private Const cSrok As Byte = 73
Private Const rSrok As Integer = 13
Private Const cType As Byte = 81
Private Const rType As Integer = 13
Private Const cName2 As Byte = 1
Private Const rName2 As Integer = 24
Private Const cKol As Byte = 37
Private Const rKol As Integer = 24
Private Const cDatIspDay As Byte = 20
Private Const rDatIspDay As Integer = 3
Private Const cDatIspMon As Byte = 24
Private Const rDatIspMon As Integer = 3
Private Const cDatIspYear As Byte = 37
Private Const rDatIspYear As Integer = 3
Private Const cSootv1 As Byte = 31
Private Const rSootv1 As Integer = 5
Private Const cSootv2 As Byte = 31
Private Const rSootv2 As Integer = 6
Private Const cDorab1 As Byte = 57
Private Const rDorab1 As Integer = 5
Private Const cDorab2 As Byte = 57
Private Const rDorab2 As Integer = 6
Private Const cSootvInf As Byte = 1
Private Const rSootvInf As Integer = 7
Private Const cDorabInf As Byte = 51
Private Const rDorabInf As Integer = 7
Private Const cResult As Byte = 13
Private Const rResult As Integer = 11
Private Const cTDoc As Byte = 22
Private Const rTDoc As Integer = 13
Private Const cPredsDolzh As Byte = 15
Private Const rPredsDolzh As Integer = 14
Private Const cChl1Dolzh As Byte = 15
Private Const rChl1Dolzh As Integer = 16
Private Const cChl2Dolzh As Byte = 15
Private Const rChl2Dolzh As Integer = 18
Private Const cPredsName As Byte = 49
Private Const rPredsName As Integer = 14
Private Const cChl1Name As Byte = 49
Private Const rChl1Name As Integer = 16
Private Const cChl2Name As Byte = 49
Private Const rChl2Name As Integer = 18
Private Const cPrinDolzh As Byte = 56
Private Const rPrinDolzh As Integer = 24
Private Const cPrinName As Byte = 85
Private Const rPrinName As Integer = 24
Private Const cDatPrinDay As Byte = 52
Private Const rDatPrinDay As Integer = 27
Private Const cDatPrinMon As Byte = 56
Private Const rDatPrinMon As Integer = 27
Private Const cDatPrinYear As Byte = 69
Private Const rDatPrinYear As Integer = 27
Private Const cDatDovDay As Byte = 63
Private Const rDatDovDay As Integer = 28
Private Const cDatDovMon As Byte = 67
Private Const rDatDovMon As Integer = 28
Private Const cDatDovYear As Byte = 80
Private Const rDatDovYear As Integer = 28
Private Const cDatDovNomer As Byte = 85
Private Const rDatDovNomer As Integer = 28
Private Const cDatDovOsn As Byte = 57
Private Const rDatDovOsn As Integer = 29
Private Const cXranDolzh As Byte = 51
Private Const rXranDolzh As Integer = 32
Private Const cXranName As Byte = 80
Private Const rXranName As Integer = 32
Private Const cDatXranDay As Byte = 52
Private Const rDatXranDay As Integer = 35
Private Const cDatXranMon As Byte = 56
Private Const rDatXranMon As Integer = 35
Private Const cDatXranYear As Byte = 69
Private Const rDatXranYear As Integer = 35
Private Const cXranNomer As Byte = 85
Private Const rXranNomer As Integer = 34
Private Const cNomer2 As Byte = 80
Private Const rNomer2 As Integer = 39
Private Const cDatSost As Byte = 90
Private Const rDatSost As Integer = 39
Private Const cBuchName As Byte = 75
Private Const rBuchName As Integer = 41
Sub PrintFormOS1 (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String, StrFirmAddr As String, StrFirmReq As String
Dim StrRukName As String, StrRukDolzh As String
Dim StrDatePodp As Date, StrDatePriem As Date, StrDate As Date, StrDateIsp As Date, StrPrinDate As Date, StrDovDate As Date, StrXranDate As Date
Dim StrOsn As String, StrSchet As String, StrAmort As String
Dim NomerVnutr As String, StrTovar As String
Dim StrInv As String
Dim StrStoim As Double, StrSroki As Long
Dim StrMethod As String, StrMest As String
Dim StrKol As Long
Dim vbSootv As Boolean, vbDorab As Boolean
Dim StrSootv As String, StrDorab As String
Dim StrZakl As String, StrTechDoc As String
Dim StrPredsName As String, StrPredsDolzh As String
Dim StrChl1Name As String, StrChl1Dolzh As String
Dim StrChl2Name As String, StrChl2Dolzh As String
Dim StrPrinName As String, StrPrinDolzh As String
Dim StrDovFor As String, StrDovNom As String
Dim StrXranName As String, StrXranDolzh As String, StrXranNomer As String
Dim StrMonthPodp As String, StrMonthIsp As String, StrMonthPrin As String, StrMonthDov As String, StrMonthXran As String
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT Параметры. *, Сотрудники. Сотрудник FROM Сотрудники INNER JOIN Параметры ON Сотрудники. НомерСотр = Параметры. ГлБухгалтер», dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы»). Value, «»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО»). Value, «»)
StrGlBuch = Nz (Rec. Fields («Сотрудник»). Value, «»)
StrFirmAddr = Nz (Rec. Fields («ЮрАдрес»). Value, «»)
StrFirmReq = Nz (Rec. Fields («БанкРеквизиты»). Value, «»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from запрос _АктыПриемки where НомерАкт = » & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrRukName = Nz (Rec. Fields («s_ruk»). Value, «»)
StrRukDolzh = Nz (Rec. Fields («d_ruk»). Value, «»)
StrDatePodp = Nz (Rec. Fields («ДатаПодписи»). Value, Date)
StrOsn = Nz (Rec. Fields («Основание»). Value, «»)
StrDatePriem = Nz (Rec. Fields («ДатаПриемки»). Value, Date)
StrSchet = Nz (Rec. Fields («Счет»). Value, «»)
StrAmort = Nz (Rec. Fields («НомерАмортГруппы»). Value, «»)
NomerVnutr = Nz (Rec. Fields («НомерВнутр»). Value, nomer)
StrDate = Nz (Rec. Fields («ДатаАкта „). Value, Date)
StrTovar = Nz (Rec. Fields (“Товар»). Value, «»)
StrInv = Nz (Rec. Fields («ИнвКод „). Value, “»)
StrStoim = Nz (Rec. Fields («ПервСтоииость „). Value, 0)
StrSroki = Nz (Rec. Fields (“СрокИспользования „). Value, 0)
StrMethod = Nz (Rec. Fields (“СпособАморт „). Value, “»)
StrMest = Nz (Rec. Fields («Местонахождение „). Value, “»)
StrKol = Nz (Rec. Fields («Количество „). Value,
1)
StrDateIsp = Nz (Rec. Fields (“ДатаИспытания»). Value, Date)
vbSootv = Nz (Rec. Fields («Соотвествие»). Value, True)
vbDorab = Nz (Rec. Fields («Доработка»). Value, False)
StrSootv = Nz (Rec. Fields («ЧтоСоотв»). Value, «»)
StrDorab = Nz (Rec. Fields («ЧтоДораб»). Value, «»)
StrZakl = Nz (Rec. Fields («Заключение»). Value, «»)
StrTechDoc = Nz (Rec. Fields («ТехДок»). Value, «»)
StrPredsName = Nz (Rec. Fields («s_preds»). Value, «»)
StrPredsDolzh = Nz (Rec. Fields («d_preds»). Value, «»)
StrChl1Name = Nz (Rec. Fields («s_4l1»). Value, «»)
StrChl1Dolzh = Nz (Rec. Fields («d_4l1»). Value, «»)
StrChl2Name = Nz (Rec. Fields («s_4l2»). Value, «»)
StrChl2Dolzh = Nz (Rec. Fields («d_4l2»). Value, «»)
StrPrinName = Nz (Rec. Fields («s_prin»). Value, «»)
StrPrinDolzh = Nz (Rec. Fields («d_prin»). Value, «»)
StrPrinDate = Nz (Rec. Fields («ДатаПринятия „). Value, Date)
StrDovFor = Nz (Rec. Fields (“ВыданаДов „). Value, “»)
StrDovDate = Nz (Rec. Fields («ДатаДов „). Value, Date)
StrDovNom = Nz (Rec. Fields (“НомерДов „). Value, “1»)
StrXranName = Nz (Rec. Fields («s_xran»). Value, «»)
StrXranDolzh = Nz (Rec. Fields («d_xran»). Value, «»)
StrXranNomer = Nz (Rec. Fields («s_nomer»). Value, «»)
StrXranDate = Nz (Rec. Fields («ДатаХранения „). Value, Date)
Else
MsgBox “Акт приемки №» & nomer & » не найден!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDatePodp), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPodp = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthPodp = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDateIsp), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthIsp = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthIsp = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrPrinDate), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPrin = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthPrin = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDovDate), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthDov = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthDov = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrXranDate), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthXran = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthXran = «нет названия»
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rRukName, cRukName). Value = StrRukName
oApp. Cells (rRukDolzh, cRukDolzh). Value = StrRukDolzh
oApp. Cells (rDatRukDay, cDatRukDay). Value = Format$ (StrDatePodp, «dd»)
oApp. Cells (rDatRukMon, cDatRukMon). Value = StrMonthPodp
oApp. Cells (rDatRukYear, cDatRukYear). Value = Right$ (Format$ (StrDatePodp, «yyyy»),
1)
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rFirmAddr, cFirmAddr). Value = StrFirmAddr
oApp. Cells (rFirmReq, cFirmReq). Value = StrFirmReq
oApp. Cells (rOsn, cOsn). Value = StrOsn
oApp. Cells (rDatPriem, cDatPriem). Value = Format$ (StrDatePriem, «dd. mm. yyyy»)
oApp. Cells (rSchet, cSchet). Value = StrSchet
oApp. Cells (rAmort, cAmort). Value = StrAmort
oApp. Cells (rInv, cInv). Value = StrInv
oApp. Cells (rNomer, cNomer). Value = NomerVnutr
oApp. Cells (rDat, cDat). Value = Format$ (StrDate, «dd. mm. yyyy»)
oApp. Cells (rTovar, cTovar). Value = StrTovar
oApp. Cells (rMest, cMest). Value = StrMest
oApp. ActiveWorkbook. Sheets (2). Select
oApp. Cells (rPerv, cPerv). Value = StrStoim
oApp. Cells (rSrok, cSrok). Value = StrSroki
oApp. Cells (rType, cType). Value = StrMethod
oApp. Cells (rName2, cName2). Value = StrTovar
oApp. Cells (rKol, cKol). Value = StrKol & » шт .»
oApp. ActiveWorkbook. Sheets (3). Select
oApp. Cells (rDatIspDay, cDatIspDay). Value = Format$ (StrDateIsp, «dd»)
oApp. Cells (rDatIspMon, cDatIspMon). Value = StrMonthIsp
oApp. Cells (rDatIspYear, cDatIspYear). Value = Right$ (Format$ (StrDateIsp, «yyyy»),
1)
If vbSootv = True Then
oApp. Cells (rSootv1, cSootv1). Font. Bold = True
oApp. Cells (rSootv2, cSootv2). Font. Bold = False
oApp. Cells (rSootvInf, cSootvInf). Value = » «
Else
oApp. Cells (rSootv1, cSootv1). Font. Bold = False
oApp. Cells (rSootv2, cSootv2). Font. Bold = True
oApp. Cells (rSootvInf, cSootvInf). Value = StrSootv
End If
If vbDorab = True Then
oApp. Cells (rDorab1, cDorab1). Font. Bold = True
oApp. Cells (rDorab2, cDorab2). Font. Bold = False
oApp. Cells (rDorabInf, cDorabInf). Value = StrDorab
Else
oApp. Cells (rDorab1, cDorab1). Font. Bold = False
oApp. Cells (rDorab2, cDorab2). Font. Bold = True
oApp. Cells (rDorabInf, cDorabInf). Value = » «
End If
oApp. Cells (rResult, cResult). Value = StrZakl
oApp. Cells (rTDoc, cTDoc). Value = StrTechDoc
oApp. Cells (rPredsName, cPredsName). Value = StrPredsName
oApp. Cells (rPredsDolzh, cPredsDolzh). Value = StrPredsDolzh
oApp. Cells (rChl1Name, cChl1Name). Value = StrChl1Name
oApp. Cells (rChl1Dolzh, cChl1Dolzh). Value = StrChl1Dolzh
oApp. Cells (rChl2Name, cChl2Name). Value = StrChl2Name
oApp. Cells (rChl2Dolzh, cChl2Dolzh). Value = StrChl2Dolzh
oApp. Cells (rPrinName, cPrinName). Value = StrPrinName
oApp. Cells (rPrinDolzh, cPrinDolzh). Value = StrPrinDolzh
oApp. Cells (rDatPrinDay, cDatPrinDay). Value = Format$ (StrPrinDate, «dd»)
oApp. Cells (rDatPrinMon, cDatPrinMon). Value = StrMonthPrin
oApp. Cells (rDatPrinYear, cDatPrinYear). Value = Right$ (Format$ (StrPrinDate, «yyyy»),
1)
oApp. Cells (rDatDovDay, cDatDovDay). Value = Format$ (StrDovDate, «dd»)
oApp. Cells (rDatDovMon, cDatDovMon). Value = StrMonthDov
oApp. Cells (rDatDovYear, cDatDovYear). Value = Right$ (Format$ (StrDovDate, «yyyy»),
1)
oApp. Cells (rDatDovOsn, cDatDovOsn). Value = StrDovFor
oApp. Cells (rDatDovNomer, cDatDovNomer). Value = StrDovNom
oApp. Cells (rXranName, cXranName). Value = StrXranName
oApp. Cells (rXranDolzh, cXranDolzh). Value = StrXranDolzh
oApp. Cells (rXranNomer, cXranNomer). Value = StrXranNomer
oApp. Cells (rDatXranDay, cDatXranDay). Value = Format$ (StrXranDate, «dd»)
oApp. Cells (rDatXranMon, cDatXranMon). Value = StrMonthXran
oApp. Cells (rDatXranYear, cDatXranYear). Value = Right$ (Format$ (StrXranDate, «yyyy»),
1)
oApp. Cells (rNomer2, cNomer2). Value = NomerVnutr
oApp. Cells (rDatSost, cDatSost). Value = Format$ (StrDate, «dd. mm. yyyy»)
oApp. Cells (rBuchName, cBuchName). Value = StrGlBuch
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set Rec = Nothing
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля OS2
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 2
Private Const cFirmName As Byte = 1
Private Const rFirmName As Integer = 7
Private Const cFirmOKPO As Byte = 88
Private Const rFirmOKPO As Integer = 7
Private Const cPodrazdName1 As Byte = 7
Private Const rPodrazdName1 As Integer = 9
Private Const cPodrazdOKPO1 As Byte = 88
Private Const rPodrazdOKPO1 As Integer = 8
Private Const cPodrazdName2 As Byte = 9
Private Const rPodrazdName2 As Integer = 11
Private Const cPodrazdOKPO2 As Byte = 88
Private Const rPodrazdOKPO2 As Integer = 10
Private Const cDateNakl As Byte = 69
Private Const rDateNakl As Integer = 16
Private Const cNomerNakl As Byte = 57
Private Const rNomerNakl As Integer = 16
Private Const cNomer As Byte = 1
Private Const cTovar As Byte = 5
Private Const cYear As Byte = 48
Private Const cInv As Byte = 58
Private Const cKol As Byte = 70
Private Const cCena As Byte = 80
Private Const cSum As Byte = 90
Private Const rSh1_1 As Integer = 24
Private Const rSh1_2 As Integer = 39
Private Const rSh2_1 As Integer = 8
Private Const rSh2_2 As Integer = 19
Private Const cSumItog As Byte = 90
Private Const rSumItog As Integer = 20
Private Const cSotrName1 As Byte = 42
Private Const rSotrName1 As Byte = 31
Private Const cSotrDolzh1 As Byte = 7
Private Const rSotrDolzh1 As Byte = 31
Private Const cSotrNomer1 As Byte = 64
Private Const rSotrNomer1 As Byte = 31
Private Const cDatDay1 As Byte = 79
Private Const rDatDay1 As Byte = 31
Private Const cDatMonth1 As Byte = 83
Private Const rDatMonth1 As Byte = 31
Private Const cDatYear1 As Byte = 96
Private Const rDatYear1 As Byte = 31
Private Const cSotrName2 As Byte = 42
Private Const rSotrName2 As Byte = 34
Private Const cSotrDolzh2 As Byte = 7
Private Const rSotrDolzh2 As Byte = 34
Private Const cSotrNomer2 As Byte = 64
Private Const rSotrNomer2 As Byte = 34
Private Const cDatDay2 As Byte = 79
Private Const rDatDay2 As Byte = 34
Private Const cDatMonth2 As Byte = 83
Private Const rDatMonth2 As Byte = 34
Private Const cDatYear2 As Byte = 96
Private Const rDatYear2 As Byte = 34
Private Const cGlBuch As Byte = 33
Private Const rGlBuch As Byte = 39
Private Const nSymbPrim As Byte = 60
Private Const nSymbPrim2 As Byte = 130
Private Const cPrim As Integer = 51
Private Const rPrim1 As Integer = 22
Private Const cPrim2 As Integer = 1
Private Const rPrim2_1 As Integer = 23
Private Const rPrim2_2 As Integer = 27
Sub PrintFormOS2 (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String
Dim StrPodrazdName1 As String, StrPodrazdOKPO1 As String
Dim StrPodrazdName2 As String, StrPodrazdOKPO2 As String
Dim StrDate As Date, StrDate_s As Date, StrDate_p As Date
Dim StrNomer As String
Dim StrSotrName1 As String, StrSotrNomer1 As String, StrSotrDolzh1 As String
Dim StrSotrName2 As String, StrSotrNomer2 As String, StrSotrDolzh2 As String
Dim StrItog As Double, s_Sum As Double
Dim StrMonth1 As String, StrMonth2 As String
Dim p As Integer, p2 As Integer, i As Long, NRecord As Long
Dim StrPrim As String
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT Параметры. *, Сотрудники. Сотрудник FROM Сотрудники INNER JOIN Параметры ON Сотрудники. НомерСотр = Параметры. ГлБухгалтер», dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы „). Value, “»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО „). Value, “»)
StrGlBuch = Nz (Rec. Fields («Сотрудник „). Value, “»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from запрос _ВнутренниеНакл where НомерНакл = » & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrPodrazdName1 = Nz (Rec. Fields («p1»). Value, «»)
StrPodrazdOKPO1 = Nz (Rec. Fields («p1_okpo»). Value, «»)
StrPodrazdName2 = Nz (Rec. Fields («p2»). Value, «»)
StrPodrazdOKPO2 = Nz (Rec. Fields («p2_okpo»). Value, «»)
StrDate = Nz (Rec. Fields («ДатаНакл „). Value, Date)
StrDate_s = Nz (Rec. Fields (“ДатаНаклСдал „). Value, Date)
StrDate_p = Nz (Rec. Fields (“ДатаНаклПринял „). Value, Date)
StrNomer = Nz (Rec. Fields (“НомерНаклВнутр „). Value, nomer)
StrSotrName1 = Nz (Rec. Fields (“s1»). Value, «»)
StrSotrNomer1 = Nz (Rec. Fields («s1_nomer»). Value, «»)
StrSotrDolzh1 = Nz (Rec. Fields («s1_dolzh»). Value, «»)
StrSotrName2 = Nz (Rec. Fields («s2»). Value, «»)
StrSotrNomer2 = Nz (Rec. Fields («s2_nomer»). Value, «»)
StrSotrDolzh2 = Nz (Rec. Fields («s2_dolzh»). Value, «»)
StrPrim = Nz (Rec. Fields («Примечание „). Value, “»)
Else
MsgBox «Накладная №» & nomer & » не найдена!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDate_s), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonth1 = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonth1 = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDate_p), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonth2 = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonth2 = «нет названия»
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
Application. SysCmd acSysCmdInitMeter, «Вывод информации о товарах», 100
oApp. ActiveWorkbook. Sheets (1). Select
StrItog = 0
Set RecList = db. OpenRecordset («select * from запрос _ВнутренниеНаклТовары where НомерНакл = » & nomer, dbOpenSnapshot)
NRecord = RecList. RecordCount
If NRecord > 0 Then
RecList. MoveLast
NRecord = RecList. RecordCount
RecList. MoveFirst
i = 0
oApp. ActiveWorkbook. Sheets (1). Select
p = rSh1_1 — 1: p2 = rSh1_2
While Not RecList. EOF
i = i + 1
p = p + 1
Application. SysCmd acSysCmdUpdateMeter, i / NRecord * 100
If p > p2 Then
oApp. ActiveWorkbook. Sheets (2). Select
p = rSh2_1: p2 = rSh2_2
End If
s_Sum = Nz (RecList. Fields («Сумма „). Value, 0)
oApp. Cells (p, cNomer). Value = i
oApp. Cells (p, cTovar). Value = Nz (RecList. Fields (“Товар „). Value, “»)
oApp. Cells (p, cYear). Value = Nz (RecList. Fields («ГодВыпуска „). Value, Year (Date))
oApp. Cells (p, cInv). Value = Nz (RecList. Fields (“ИнвКод „). Value, Year (Date))
oApp. Cells (p, cKol). Value = Nz (RecList. Fields (“Количество „). Value, 0)
oApp. Cells (p, cCena). Value = Format$ (Nz (RecList. Fields (“ЦенаРозн „). Value, 0), “0.00»)
oApp. Cells (p, cSum). Value = Format$ (s_Sum, «0.00»)
StrItog = StrItog + s_Sum
RecList. MoveNext
Wend
Else
MsgBox «Для накладной №» & nomer & » нет перечня товаров!», vbCritical + vbOKOnly
Exit Sub
End If
Set RecList = Nothing
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rPodrazdName1, cPodrazdName1). Value = StrPodrazdName1
oApp. Cells (rPodrazdOKPO1, cPodrazdOKPO1). Value = StrPodrazdOKPO1
oApp. Cells (rPodrazdName2, cPodrazdName2). Value = StrPodrazdName2
oApp. Cells (rPodrazdOKPO2, cPodrazdOKPO2). Value = StrPodrazdOKPO2
oApp. Cells (rNomerNakl, cNomerNakl). Value = StrNomer
oApp. Cells (rDateNakl, cDateNakl). Value = Format$ (StrDate, «dd. mm. yyyy»)
oApp. ActiveWorkbook. Sheets (2). Select
oApp. Cells (rSumItog, cSumItog). Value = » » & Format$ (StrItog, «0.00»)
oApp. Cells (rSotrDolzh1, cSotrDolzh1). Value = StrSotrDolzh1
oApp. Cells (rSotrName1, cSotrName1). Value = StrSotrName1
oApp. Cells (rSotrNomer1, cSotrNomer1). Value = StrSotrNomer1
oApp. Cells (rDatDay1, cDatDay1). Value = Format$ (StrDate_s, «dd»)
oApp. Cells (rDatMonth1, cDatMonth1). Value = StrMonth1
oApp. Cells (rDatYear1, cDatYear1). Value = Right$ (Format$ (StrDate_s, «yyyy»),
1)
oApp. Cells (rSotrDolzh2, cSotrDolzh2). Value = StrSotrDolzh2
oApp. Cells (rSotrName2, cSotrName2). Value = StrSotrName2
oApp. Cells (rSotrNomer2, cSotrNomer2). Value = StrSotrNomer2
oApp. Cells (rDatDay2, cDatDay2). Value = Format$ (StrDate_p, «dd»)
oApp. Cells (rDatMonth2, cDatMonth2). Value = StrMonth2
oApp. Cells (rDatYear2, cDatYear2). Value = Right$ (Format$ (StrDate_p, «yyyy»),
1)
oApp. Cells (rPrim1, cPrim). Value = Left$ (StrPrim, nSymbPrim)
StrPrim = Mid$ (StrPrim, nSymbPrim + 1)
i = rPrim2_1
While Len (StrPrim) > 0
oApp. Cells (i, cPrim2). Value = Left$ (StrPrim, nSymbPrim2)
StrPrim = Mid$ (StrPrim, nSymbPrim2 + 1)
i = i + 1
If i > rPrim2_2 Then GoTo lb_ex
Wend
lb_ex:
oApp. Cells (rGlBuch, cGlBuch). Value = StrGlBuch
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set Rec = Nothing
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля OS3
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 5
Private Const cFirmName As Byte = 7
Private Const rFirmName As Integer = 7
Private Const cFirmOKPO As Byte = 88
Private Const rFirmOKPO As Integer = 7
Private Const cNomer As Byte = 36
Private Const rNomer As Integer = 15
Private Const cDat As Byte = 48
Private Const rDat As Integer = 15
Private Const cIsp As Integer = 13
Private Const rIsp As Integer = 11
Private Const cIspOKPO As Integer = 88
Private Const rIspOKPO As Integer = 11
Private Const cdNomer As Integer = 88
Private Const rdNomer As Integer = 12
Private Const cdDate As Integer = 88
Private Const rdDate As Integer = 13
Private Const cPDate1 As Integer = 88
Private Const rPDate1 As Integer = 14
Private Const cPDate2 As Integer = 88
Private Const rPDate2 As Integer = 15
Private Const cFDate1 As Integer = 88
Private Const rFDate1 As Integer = 16
Private Const cFDate2 As Integer = 88
Private Const rFDate2 As Integer = 17
Private Const cRukDolzh As Byte = 61
Private Const rRukDolzh As Integer = 20
Private Const cRukName As Byte = 85
Private Const rRukName As Integer = 20
Private Const cDatRukDay As Byte = 54
Private Const rDatRukDay As Integer = 22
Private Const cDatRukMon As Byte = 58
Private Const rDatRukMon As Integer = 22
Private Const cDatRukYear As Byte = 71
Private Const rDatRukYear As Integer = 22
Private Const cTovar As Byte = 6
Private Const rTovar As Integer = 29
Private Const cInv As Byte = 30
Private Const rInv As Integer = 29
Private Const cPasp As Byte = 45
Private Const rPasp As Integer = 29
Private Const cZav As Byte = 60
Private Const rZav As Integer = 29
Private Const cOstStoim As Byte = 75
Private Const rOstStoim As Integer = 29
Private Const cFaktSrok As Byte = 90
Private Const rFaktSrok As Integer = 29
Private Const cTovar2 As Byte = 6
Private Const rTovar2 As Integer = 39
Private Const cOper As Byte = 20
Private Const rOper As Integer = 39
Private Const cDemStoim As Byte = 30
Private Const rDemStoim As Integer = 39
Private Const cPlRab As Byte = 40
Private Const rPlRab As Integer = 39
Private Const cPlRab2 As Byte = 50
Private Const rPlRab2 As Integer = 39
Private Const cFtRab As Byte = 60
Private Const rFtRab As Integer = 39
Private Const cFtRab2 As Byte = 70
Private Const rFtRab2 As Integer = 39
Private Const cTransp As Byte = 80
Private Const rTransp As Integer = 39
Private Const ciDemStoim As Byte = 30
Private Const riDemStoim As Integer = 41
Private Const ciPlRab As Byte = 40
Private Const riPlRab As Integer = 41
Private Const ciPlRab2 As Byte = 50
Private Const riPlRab2 As Integer = 41
Private Const ciFtRab As Byte = 60
Private Const riFtRab As Integer = 41
Private Const ciFtRab2 As Byte = 70
Private Const riFtRab2 As Integer = 41
Private Const ciTransp As Byte = 80
Private Const riTransp As Integer = 41
Private Const cVip1 As Byte = 34
Private Const rVip1 As Integer = 3
Private Const cVip2 As Byte = 34
Private Const rVip2 As Integer = 4
Private Const cVipInf As Byte = 44
Private Const rVipInf As Integer = 3
Private Const cPredsDolzh As Byte = 17
Private Const rPredsDolzh As Integer = 13
Private Const cChl1Dolzh As Byte = 17
Private Const rChl1Dolzh As Integer = 15
Private Const cChl2Dolzh As Byte = 17
Private Const rChl2Dolzh As Integer = 17
Private Const cPredsName As Byte = 51
Private Const rPredsName As Integer = 13
Private Const cChl1Name As Byte = 51
Private Const rChl1Name As Integer = 15
Private Const cChl2Name As Byte = 51
Private Const rChl2Name As Integer = 17
Private Const cPrinDolzh As Byte = 17
Private Const rPrinDolzh As Integer = 30
Private Const cPrinName As Byte = 51
Private Const rPrinName As Integer = 30
Private Const cDatPrinDay As Byte = 79
Private Const rDatPrinDay As Integer = 30
Private Const cDatPrinMon As Byte = 83
Private Const rDatPrinMon As Integer = 30
Private Const cDatPrinYear As Byte = 96
Private Const rDatPrinYear As Integer = 30
Private Const cSdalDolzh As Byte = 17
Private Const rSdalDolzh As Integer = 22
Private Const cSdalName As Byte = 51
Private Const rSdalName As Integer = 22
Private Const cDatSdalDay As Byte = 79
Private Const rDatSdalDay As Integer = 22
Private Const cDatSdalMon As Byte = 83
Private Const rDatSdalMon As Integer = 22
Private Const cDatSdalYear As Byte = 96
Private Const rDatSdalYear As Integer = 22
Private Const с GlBuch As Byte = 30
Private Const rGlBuch As Integer = 38
Sub PrintFormOS3 (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String, StrFirmAddr As String, StrFirmReq As String
Dim NomerVnutr As String, StrDate As Date
Dim StrTovar As String, StrInv As String
Dim StrPasp As String, StrZav As String
Dim StrIsp As String, StrIspOKPO As String
Dim StrOper As String, StrdNomer As String, StrdDate As Date
Dim StrPDate1 As Date, StrPDate2 As Date
Dim StrFDate1 As Date, StrFDate2 As Date
Dim StrRukName As String, StrRukDolzh As String
Dim StrDatePodp As Date
Dim StrOstStoim As Double, StrFaktSrok As Long
Dim StrDemStoim As Double, StrPlRab As Double, StrPlRab2 As Double
Dim StrFtRab As Double, StrFtRab2 As Double, StrTransp As Double
Dim vbVip As Boolean, StrNoVip As String
Dim StrPredsName As String, StrPredsDolzh As String
Dim StrChl1Name As String, StrChl1Dolzh As String
Dim StrChl2Name As String, StrChl2Dolzh As String
Dim StrPrinName As String, StrPrinDolzh As String
Dim StrSdalName As String, StrSdalDolzh As String
Dim StrPrinDate As Date, StrSdalDate As Date
Dim StrMonthPodp As String, StrMonthPrin As String, StrMonthSdal As String
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT Параметры. *, Сотрудники. Сотрудник FROM Сотрудники INNER JOIN Параметры ON Сотрудники. НомерСотр = Параметры. ГлБухгалтер», dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы „). Value, “»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО „). Value, “»)
StrGlBuch = Nz (Rec. Fields («Сотрудник „). Value, “»)
StrFirmAddr = Nz (Rec. Fields («ЮрАдрес „). Value, “»)
StrFirmReq = Nz (Rec. Fields («БанкРеквизиты „). Value, “»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from запрос _АктыРемонта where НомерАктаРемонта = » & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
NomerVnutr = Nz (Rec. Fields («НомерВнутр „). Value, nomer)
StrDate = Nz (Rec. Fields (“ДатаАкта „). Value, Date)
StrTovar = Nz (Rec. Fields (“Товар „). Value, “»)
StrInv = Nz (Rec. Fields («ИнвКод „). Value, “»)
StrPasp = Nz (Rec. Fields («НомерПоПаспорту „). Value, “»)
StrZav = Nz (Rec. Fields («НомерЗавод „). Value, “»)
StrIsp = Nz (Rec. Fields («Исполнитель „). Value, “»)
StrIspOKPO = Nz (Rec. Fields («isp_okpo»). Value, «»)
StrOper = Nz (Rec. Fields («ВидРаботы „). Value, “»)
StrdNomer = Nz (Rec. Fields («НомерДоговора „). Value, “»)
StrdDate = Nz (Rec. Fields («ДатаДоговора „). Value, Date)
StrPDate1 = Nz (Rec. Fields (“ПериодРемПлан 1»). Value, Date)
StrPDate2 = Nz (Rec. Fields («ПериодРемПлан 2»). Value, Date)
StrFDate1 = Nz (Rec. Fields («ПериодРемФакт 1»). Value, Date)
StrFDate2 = Nz (Rec. Fields («ПериодРемФакт 2»). Value, Date)
StrRukName = Nz (Rec. Fields («ruk_name»). Value, «»)
StrRukDolzh = Nz (Rec. Fields («ruk_dolzhn»). Value, «»)
StrDatePodp = Nz (Rec. Fields («ДатаПодписи „). Value, Date)
StrOstStoim = Nz (Rec. Fields (“ОстСтоииость „). Value, 0)
StrFaktSrok = Nz (Rec. Fields (“ФактСрокЭкспл „). Value, 0)
StrOper = Nz (Rec. Fields (“ВидРаботы „). Value, “»)
StrDemStoim = Nz (Rec. Fields («СтоимДемонт „). Value, 0)
StrPlRab = Nz (Rec. Fields (“СтоимРаботПлан „). Value, 0)
StrPlRab2 = Nz (Rec. Fields (“СтоимРаботПлан 2»). Value, 0)
StrFtRab = Nz (Rec. Fields («СтоимРаботФакт „). Value, 0)
StrFtRab2 = Nz (Rec. Fields (“СтоимРаботФакт 2»). Value, 0)
StrTransp = Nz (Rec. Fields («СтоимТрансп „). Value, 0)
vbVip = Nz (Rec. Fields (“Полностью „). Value, True)
StrNoVip = Nz (Rec. Fields (“ЧтоНеПолн „). Value, “»)
StrPredsName = Nz (Rec. Fields («preds_name»). Value, «»)
StrPredsDolzh = Nz (Rec. Fields («preds_dolzhn»). Value, «»)
StrChl1Name = Nz (Rec. Fields («chlen1_name»). Value, «»)
StrChl1Dolzh = Nz (Rec. Fields («chlen1_dolzhn»). Value, «»)
StrChl2Name = Nz (Rec. Fields («chlen2_name»). Value, «»)
StrChl2Dolzh = Nz (Rec. Fields («chlen2_dolzhn»). Value, «»)
StrPrinName = Nz (Rec. Fields («prin_name»). Value, «»)
StrPrinDolzh = Nz (Rec. Fields («prin_dolzhn»). Value, «»)
StrPrinDate = Nz (Rec. Fields («ДатаПриемки „). Value, Date)
StrSdalName = Nz (Rec. Fields (“sdal_name»). Value, «»)
StrSdalDolzh = Nz (Rec. Fields («sdal_dolzhn»). Value, «»)
StrSdalDate = Nz (Rec. Fields («ДатаСдачи „). Value, Date)
StrGlBuch = Nz (Rec. Fields (“glbuch_name»). Value, «»)
Else
MsgBox «Акт сдачи-приемки отремонт. ОС №» & nomer & » не найден!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDatePodp), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPodp = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthPodp = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrPrinDate), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPrin = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthPrin = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrSdalDate), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthSdal = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthSdal = «нет названия»
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rNomer, cNomer). Value = NomerVnutr
oApp. Cells (rDat, cDat). Value = Format$ (StrDate, «dd. mm. yyyy»)
oApp. Cells (rIsp, cIsp). Value = StrIsp
oApp. Cells (rIspOKPO, cIspOKPO). Value = StrIspOKPO
oApp. Cells (rdNomer, cdNomer). Value = StrdNomer
oApp. Cells (rdDate, cdDate). Value = Format$ (StrdDate, «dd. mm. yyyy»)
oApp. Cells (rPDate1, cPDate1). Value = Format$ (StrPDate1, «dd. mm. yyyy»)
oApp. Cells (rPDate2, cPDate2). Value = Format$ (StrPDate2, «dd. mm. yyyy»)
oApp. Cells (rFDate1, cFDate1). Value = Format$ (StrFDate1, «dd. mm. yyyy»)
oApp. Cells (rFDate2, cFDate2). Value = Format$ (StrFDate2, «dd. mm. yyyy»)
oApp. Cells (rRukName, cRukName). Value = StrRukName
oApp. Cells (rRukDolzh, cRukDolzh). Value = StrRukDolzh
oApp. Cells (rDatRukDay, cDatRukDay). Value = Format$ (StrDatePodp, «dd»)
oApp. Cells (rDatRukMon, cDatRukMon). Value = StrMonthPodp
oApp. Cells (rDatRukYear, cDatRukYear). Value = Right$ (Format$ (StrDatePodp, «yyyy»),
1)
oApp. Cells (rInv, cInv). Value = StrInv
oApp. Cells (rPasp, cPasp). Value = StrPasp
oApp. Cells (rZav, cZav). Value = StrZav
oApp. Cells (rTovar, cTovar). Value = StrTovar
oApp. Cells (rTovar2, cTovar2). Value = StrTovar
oApp. Cells (rOstStoim, cOstStoim). Value = Format$ (StrOstStoim, «0.00»)
oApp. Cells (rFaktSrok, cFaktSrok). Value = StrFaktSrok & «мес .»
oApp. Cells (rOper, cOper). Value = StrOper
oApp. Cells (rDemStoim, cDemStoim). Value = Format$ (StrDemStoim, «0.00»)
oApp. Cells (rPlRab, cPlRab). Value = Format$ (StrPlRab, «0.00»)
oApp. Cells (rPlRab2, cPlRab2). Value = Format$ (StrPlRab2, «0.00»)
oApp. Cells (rFtRab, cFtRab). Value = Format$ (StrFtRab, «0.00»)
oApp. Cells (rFtRab2, cFtRab2). Value = Format$ (StrFtRab2, «0.00»)
oApp. Cells (rTransp, cTransp). Value = Format$ (StrTransp, «0.00»)
oApp. Cells (riDemStoim, ciDemStoim). Value = Format$ (StrDemStoim, «0.00»)
oApp. Cells (riPlRab, ciPlRab). Value = Format$ (StrPlRab, «0.00»)
oApp. Cells (riPlRab2, ciPlRab2). Value = Format$ (StrPlRab2, «0.00»)
oApp. Cells (riFtRab, ciFtRab). Value = Format$ (StrFtRab, «0.00»)
oApp. Cells (riFtRab2, ciFtRab2). Value = Format$ (StrFtRab2, «0.00»)
oApp. Cells (riTransp, ciTransp). Value = Format$ (StrTransp, «0.00»)
oApp. ActiveWorkbook. Sheets (2). Select
If vbVip = True Then
oApp. Cells (rVip1, cVip1). Font. Bold = True
oApp. Cells (rVip2, cVip2). Font. Bold = False
oApp. Cells (rVipInf, cVipInf). Value = » «
Else
oApp. Cells (rVip1, cVip1). Font. Bold = False
oApp. Cells (rVip2, cVip2). Font. Bold = True
oApp. Cells (rVipInf, cVipInf). Value = StrNoVip
End If
oApp. Cells (rPredsName, cPredsName). Value = StrPredsName
oApp. Cells (rPredsDolzh, cPredsDolzh). Value = StrPredsDolzh
oApp. Cells (rChl1Name, cChl1Name). Value = StrChl1Name
oApp. Cells (rChl1Dolzh, cChl1Dolzh). Value = StrChl1Dolzh
oApp. Cells (rChl2Name, cChl2Name). Value = StrChl2Name
oApp. Cells (rChl2Dolzh, cChl2Dolzh). Value = StrChl2Dolzh
oApp. Cells (rPrinName, cPrinName). Value = StrPrinName
oApp. Cells (rPrinDolzh, cPrinDolzh). Value = StrPrinDolzh
oApp. Cells (rDatPrinDay, cDatPrinDay). Value = Format$ (StrPrinDate, «dd»)
oApp. Cells (rDatPrinMon, cDatPrinMon). Value = StrMonthPrin
oApp. Cells (rDatPrinYear, cDatPrinYear). Value = Right$ (Format$ (StrPrinDate, «yyyy»),
1)
oApp. Cells (rSdalName, cSdalName). Value = StrSdalName
oApp. Cells (rSdalDolzh, cSdalDolzh). Value = StrSdalDolzh
oApp. Cells (rDatSdalDay, cDatSdalDay). Value = Format$ (StrSdalDate, «dd»)
oApp. Cells (rDatSdalMon, cDatSdalMon). Value = StrMonthSdal
oApp. Cells (rDatSdalYear, cDatSdalYear). Value = Right$ (Format$ (StrSdalDate, «yyyy»),
1)
oApp. Cells (rGlBuch, с GlBuch). Value = StrGlBuch
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set Rec = Nothing
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля OS4
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 6
Private Const cFirmName As Byte = 1
Private Const rFirmName As Integer = 7
Private Const cFirmOKPO As Byte = 88
Private Const rFirmOKPO As Integer = 7
Private Const cNomer As Byte = 53
Private Const rNomer As Integer = 23
Private Const cDat As Byte = 65
Private Const rDat As Integer = 23
Private Const cRukDolzh As Byte = 61
Private Const rRukDolzh As Integer = 19
Private Const cRukName As Byte = 85
Private Const rRukName As Integer = 19
Private Const cDatRukDay As Byte = 78
Private Const rDatRukDay As Integer = 23
Private Const cDatRukMon As Byte = 83
Private Const rDatRukMon As Integer = 23
Private Const cDatRukYear As Byte = 96
Private Const rDatRukYear As Integer = 23
Private Const cStruct As Byte = 1
Private Const rStruct As Integer = 9
Private Const cOsn As Byte = 19
Private Const rOsn As Integer = 12
Private Const cDateOsn As Byte = 88
Private Const rDateOsn As Integer = 13
Private Const cNomerOsn As Byte = 88
Private Const rNomerOsn As Integer = 12
Private Const cDateSpis As Byte = 88
Private Const rDateSpis As Integer = 10
Private Const cMatSotr As Byte = 20
Private Const rMatSotr As Integer = 15
Private Const cMatNomer As Byte = 88
Private Const rMatNomer As Integer = 15
Private Const cPri4ina As Byte = 12
Private Const rPri4ina As Integer = 27
Private Const cTovar As Byte = 1
Private Const rTovar As Integer = 38
Private Const cInv As Byte = 20
Private Const rInv As Integer = 38
Private Const cZav As Byte = 30
Private Const rZav As Integer = 38
Private Const cDateVip As Byte = 40
Private Const rDateVip As Integer = 38
Private Const cDatePriem As Byte = 53
Private Const rDatePriem As Integer = 38
Private Const cFaktSrok As Byte = 60
Private Const rFaktSrok As Integer = 38
Private Const cPerv As Byte = 70
Private Const rPerv As Integer = 38
Private Const cAmort As Byte = 80
Private Const rAmort As Integer = 38
Private Const cOstStoim As Byte = 90
Private Const rOstStoim As Integer = 38
Private Const cZakl As Integer = 61
Private Const rZakl1 As Integer = 13
Private Const cZakl2 As Integer = 1
Private Const rZakl2_1 As Integer = 14
Private Const rZakl2_2 As Integer = 15
Private Const nSymbZakl As Byte = 40
Private Const nSymbZakl2 As Byte = 110
Private Const cPredsDolzh As Byte = 17
Private Const rPredsDolzh As Integer = 17
Private Const cChl1Dolzh As Byte = 17
Private Const rChl1Dolzh As Integer = 19
Private Const cChl2Dolzh As Byte = 17
Private Const rChl2Dolzh As Integer = 21
Private Const cPredsName As Byte = 51
Private Const rPredsName As Integer = 17
Private Const cChl1Name As Byte = 51
Private Const rChl1Name As Integer = 19
Private Const cChl2Name As Byte = 51
Private Const rChl2Name As Integer = 21
Private Const с GlBuch As Byte = 30
Private Const rGlBuch As Integer = 40
Private Const rSh1_1 As Integer = 7
Private Const rSh1_2 As Integer = 10
Private Const cKompl As Byte = 1
Private Const cKol As Byte = 30
Sub PrintFormOS4 (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String, StrFirmAddr As String, StrFirmReq As String
Dim NomerVnutr As String, StrDate As Date
Dim StrPredsName As String, StrPredsDolzh As String
Dim StrChl1Name As String, StrChl1Dolzh As String
Dim StrChl2Name As String, StrChl2Dolzh As String
Dim StrDatePodp As Date, StrDateSpis As Date
Dim StrOstStoim As Double, StrFaktSrok As Long
Dim StrTovar As String, StrInv As String, StrZav As String
Dim StrRukName As String, StrRukDolzh As String
Dim StrStruct As String
Dim StrOsn As String, StrDateOsn As Date, StrNomerOsn As String
Dim StrMatSotr As String, StrMatNomer As String
Dim StrPri4ina As String
Dim StrDateVip As Date, StrDatePriem As Date
Dim StrPervStoim As Double, StrAmort As Double
Dim StrZakl As String, StrMonthPodp As String
Dim i As Long, NRecord As Long, p As Long
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT Параметры. *, Сотрудники. Сотрудник FROM Сотрудники INNER JOIN Параметры ON Сотрудники. НомерСотр = Параметры. ГлБухгалтер», dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы „). Value, “»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО „). Value, “»)
StrGlBuch = Nz (Rec. Fields («Сотрудник „). Value, “»)
StrFirmAddr = Nz (Rec. Fields («ЮрАдрес „). Value, “»)
StrFirmReq = Nz (Rec. Fields («БанкРеквизиты „). Value, “»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from запрос _АктыСписания where НомерАкт = » & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
NomerVnutr = Nz (Rec. Fields («НомерВнутр „). Value, nomer)
StrDate = Nz (Rec. Fields (“ДатаАкта „). Value, Date)
StrTovar = Nz (Rec. Fields (“Товар „). Value, “»)
StrInv = Nz (Rec. Fields («ИнвКод „). Value, “»)
StrZav = Nz (Rec. Fields («НомерЗавод „). Value, “»)
StrRukName = Nz (Rec. Fields («ruk_name»). Value, «»)
StrRukDolzh = Nz (Rec. Fields («ruk_dolzhn»). Value, «»)
StrDatePodp = Nz (Rec. Fields («ДатаПодписи „). Value, Date)
StrDateSpis = Nz (Rec. Fields (“ДатаСписания „). Value, Date)
StrStruct = Nz (Rec. Fields (“СтруктурноеПодразделение „). Value, “»)
StrOsn = Nz (Rec. Fields («Основание „). Value, “»)
StrDateOsn = Nz (Rec. Fields («ДатаОсн „). Value, Date)
StrNomerOsn = Nz (Rec. Fields (“НомерОсн „). Value, “»)
StrMatSotr = Nz (Rec. Fields («mat_name»). Value, «»)
StrMatNomer = Nz (Rec. Fields («mat_nomer»). Value, «»)
StrPri4ina = Nz (Rec. Fields («Причина „). Value, “»)
StrDateVip = Nz (Rec. Fields («ДатаВыпуск „). Value, Date)
StrDatePriem = Nz (Rec. Fields (“ДатаПринятия „). Value, Date)
StrPervStoim = Nz (Rec. Fields (“ПервСтоииость „). Value, 0)
StrAmort = Nz (Rec. Fields (“Аморт „). Value, 0)
StrOstStoim = Nz (Rec. Fields (“ОстСтоииость „). Value, 0)
StrFaktSrok = Nz (Rec. Fields (“ФактСрокЭкспл „). Value, 0)
StrZakl = Nz (Rec. Fields (“Заключение „). Value, “»)
StrPredsName = Nz (Rec. Fields («preds_name»). Value, «»)
StrPredsDolzh = Nz (Rec. Fields («preds_dolzhn»). Value, «»)
StrChl1Name = Nz (Rec. Fields («chlen1_name»). Value, «»)
StrChl1Dolzh = Nz (Rec. Fields («chlen1_dolzhn»). Value, «»)
StrChl2Name = Nz (Rec. Fields («chlen2_name»). Value, «»)
StrChl2Dolzh = Nz (Rec. Fields («chlen2_dolzhn»). Value, «»)
StrGlBuch = Nz (Rec. Fields («glbuch_name»). Value, «»)
Else
MsgBox «Акт списания ОС №» & nomer & » не найден!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (StrDatePodp), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPodp = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonthPodp = «нет названия»
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rNomer, cNomer). Value = NomerVnutr
oApp. Cells (rDat, cDat). Value = Format$ (StrDate, «dd. mm. yyyy»)
oApp. Cells (rRukName, cRukName). Value = StrRukName
oApp. Cells (rRukDolzh, cRukDolzh). Value = StrRukDolzh
oApp. Cells (rDatRukDay, cDatRukDay). Value = Format$ (StrDatePodp, «dd»)
oApp. Cells (rDatRukMon, cDatRukMon). Value = StrMonthPodp
oApp. Cells (rDatRukYear, cDatRukYear). Value = Right$ (Format$ (StrDatePodp, «yyyy»),
1)
oApp. Cells (rStruct, cStruct). Value = StrStruct
oApp. Cells (rOsn, cOsn). Value = StrOsn
oApp. Cells (rDateOsn, cDateOsn). Value = StrDateOsn
oApp. Cells (rNomerOsn, cNomerOsn). Value = StrNomerOsn
oApp. Cells (rDateSpis, cDateSpis). Value = Format$ (StrDateSpis, «dd. mm. yyyy»)
oApp. Cells (rMatSotr, cMatSotr). Value = StrMatSotr
oApp. Cells (rMatNomer, cMatNomer). Value = StrMatNomer
oApp. Cells (rPri4ina, cPri4ina). Value = StrOsn
oApp. Cells (rTovar, cTovar). Value = StrTovar
oApp. Cells (rInv, cInv). Value = StrInv
oApp. Cells (rZav, cZav). Value = StrZav
oApp. Cells (rDateVip, cDateVip). Value = Format$ (StrDateVip, «yyyy»)
oApp. Cells (rDatePriem, cDatePriem). Value = Format$ (StrDatePriem, «dd. mm. yyyy»)
oApp. Cells (rFaktSrok, cFaktSrok). Value = StrFaktSrok & «мес .»
oApp. Cells (rPerv, cPerv). Value = Format$ (StrPervStoim, «0.00»)
oApp. Cells (rAmort, cAmort). Value = Format$ (StrAmort, «0.00»)
oApp. Cells (rOstStoim, cOstStoim). Value = Format$ (StrOstStoim, «0.00»)
oApp. ActiveWorkbook. Sheets (2). Select
oApp. Cells (rZakl1, cZakl). Value = Left$ (StrZakl, nSymbZakl)
StrZakl = Mid$ (StrZakl, nSymbZakl + 1)
i = rZakl2_1
While Len (StrZakl) > 0
oApp. Cells (i, cZakl2). Value = Left$ (StrZakl, nSymbZakl2)
StrZakl = Mid$ (StrZakl, nSymbZakl2 + 1)
i = i + 1
If i > rZakl2_2 Then GoTo lb_ex
Wend
lb_ex:
oApp. Cells (rPredsName, cPredsName). Value = StrPredsName
oApp. Cells (rPredsDolzh, cPredsDolzh). Value = StrPredsDolzh
oApp. Cells (rChl1Name, cChl1Name). Value = StrChl1Name
oApp. Cells (rChl1Dolzh, cChl1Dolzh). Value = StrChl1Dolzh
oApp. Cells (rChl2Name, cChl2Name). Value = StrChl2Name
oApp. Cells (rChl2Dolzh, cChl2Dolzh). Value = StrChl2Dolzh
oApp. Cells (rGlBuch, с GlBuch). Value = StrGlBuch
Application. SysCmd acSysCmdInitMeter, «Вывод информации о товарах», 100
Set RecList = db. OpenRecordset («select * from запрос _АктыСписанияТовары where НомерАкт = » & nomer, dbOpenSnapshot)
NRecord = RecList. RecordCount
If NRecord > 0 Then
RecList. MoveLast
NRecord = RecList. RecordCount
RecList. MoveFirst
i = 0
p = rSh1_1 — 1
While Not RecList. EOF
i = i + 1
p = p + 1
If p > rSh1_2 Then GoTo ex
Application. SysCmd acSysCmdUpdateMeter, i / NRecord * 100
oApp. Cells (p, cKompl). Value = Nz (RecList. Fields («НаименованиеКомп „). Value, “»)
oApp. Cells (p, cKol). Value = Nz (RecList. Fields («Количество „). Value, 0) & “шт.»
RecList. MoveNext
Wend
End If
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set Rec = Nothing
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля OS6
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 4
Private Const cFirmName As Byte = 1
Private Const rFirmName As Integer = 7
Private Const cFirmOKPO As Byte = 53
Private Const rFirmOKPO As Integer = 7
Private Const cNomer As Byte = 20
Private Const rNomer As Integer = 14
Private Const cDat As Byte = 26
Private Const rDat As Integer = 14
Private Const cTovar As Byte = 6
Private Const rTovar As Integer = 15
Private Const cMest As Byte = 27
Private Const rMest As Integer = 20
Private Const cSchet As Byte = 53
Private Const rSchet As Integer = 18
Private Const cAmort As Byte = 53
Private Const rAmort As Integer = 12
Private Const cInv As Byte = 53
Private Const rInv As Integer = 14
Private Const cDatePriem As Byte = 53
Private Const rDatePriem As Integer = 16
Private Const cDateSpis As Byte = 53
Private Const rDateSpis As Integer = 17
Private Const cPost As Byte = 17
Private Const rPost As Integer = 21
Private Const cPerv As Byte = 53
Private Const rPerv As Integer = 35
Private Const cSrok As Byte = 59
Private Const rSrok As Integer = 35
Private Const cOsn As Byte = 1
Private Const rOsn As Integer = 59
Private Const cOper As Byte = 10
Private Const rOper As Integer = 59
Private Const cStruct As Byte = 19
Private Const rStruct As Integer = 59
Private Const cOstStoim As Byte = 39
Private Const rOstStoim As Integer = 59
Private Const cOtvSotr As Byte = 49
Private Const rOtvSotr As Integer = 59
Private Const cTovar2 As Byte = 1
Private Const rTovar2 As Integer = 19
Private Const cKol As Byte = 32
Private Const rKol As Integer = 19
Private Const cInvDolzh As Byte = 33
Private Const rInvDolzh As Integer = 36
Private Const cInvName As Byte = 67
Private Const rInvName As Integer = 36
Sub PrintFormOS6 (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String, StrFirmAddr As String, StrFirmReq As String
Dim StrSchet As String, StrAmot As String
Dim NomerVnutr As String, StrDate As Date
Dim StrTovar As String, StrInv As String
Dim StrStoim As Double, StrOstStoim As Double, StrSroki As Long
Dim StrMest As String, StrKol As Long
Dim StrDatePriem As Date, StrDateSpis As Date
Dim StrPost As String, StrOsn As String, StrOper As String, StrStruct As String
Dim StrOtvSotr As String, StrInvSotr As String, StrInvSotrDolzhn As String
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT Параметры. *, Сотрудники. Сотрудник FROM Сотрудники INNER JOIN Параметры ON Сотрудники. НомерСотр = Параметры. ГлБухгалтер», dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы „). Value, “»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО „). Value, “»)
StrGlBuch = Nz (Rec. Fields («Сотрудник „). Value, “»)
StrFirmAddr = Nz (Rec. Fields («ЮрАдрес „). Value, “»)
StrFirmReq = Nz (Rec. Fields («БанкРеквизиты „). Value, “»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from запрос _ИнвКарты where НомерИнвентКарты = » & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrSchet = Nz (Rec. Fields («Счет „). Value, “»)
StrAmot = Nz (Rec. Fields («НомерАмортГруппы „). Value, “»)
NomerVnutr = Nz (Rec. Fields («НомерВнутр „). Value, nomer)
StrDate = Nz (Rec. Fields (“ДатаИнвКарты „). Value, Date)
StrTovar = Nz (Rec. Fields (“Товар „). Value, “»)
StrInv = Nz (Rec. Fields («ИнвКод „). Value, “»)
StrStoim = Nz (Rec. Fields («ПервСтоииость „). Value, 0)
StrSroki = Nz (Rec. Fields (“СрокИспользования „). Value, 0)
StrMest = Nz (Rec. Fields (“Местонахождение „). Value, “»)
StrKol = Nz (Rec. Fields («Количество „). Value,
1)
StrDatePriem = Nz (Rec. Fields (“ДатаПринятия „). Value, Date)
StrDateSpis = Nz (Rec. Fields (“ДатаСписания „). Value, Date)
StrPost = Nz (Rec. Fields (“НаименованиеПост „). Value, “»)
StrOsn = Nz (Rec. Fields («ОснованиеПриема „). Value, “»)
StrOper = Nz (Rec. Fields («ВидОперации „). Value, “»)
StrStruct = Nz (Rec. Fields («СтруктурноеПодразделение „). Value, “»)
StrOstStoim = Nz (Rec. Fields («ОстСтоииость „). Value, 0)
StrOtvSotr = Nz (Rec. Fields (“ОтвСотр „). Value, “»)
StrInvSotr = Nz (Rec. Fields («ИнвСотр „). Value, “»)
StrInvSotrDolzhn = Nz (Rec. Fields («Должность „). Value, “»)
Else
MsgBox «Инвентарная карточка №» & nomer & » не найдена!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rNomer, cNomer). Value = NomerVnutr
oApp. Cells (rDat, cDat). Value = Format$ (StrDate, «dd. mm. yyyy»)
oApp. Cells (rTovar, cTovar). Value = StrTovar
oApp. Cells (rMest, cMest). Value = StrMest
oApp. Cells (rSchet, cSchet). Value = StrSchet
oApp. Cells (rAmort, cAmort). Value = StrAmot
oApp. Cells (rInv, cInv). Value = StrInv
oApp. Cells (rDatePriem, cDatePriem). Value = Format$ (StrDatePriem, «dd. mm. yyyy»)
oApp. Cells (rDateSpis, cDateSpis). Value = Format$ (StrDateSpis, «dd. mm. yyyy»)
oApp. Cells (rPost, cPost). Value = StrPost
oApp. Cells (rPerv, cPerv). Value = Format$ (StrStoim, «0.00»)
oApp. Cells (rSrok, cSrok). Value = StrSroki & » мес .»
oApp. Cells (rOsn, cOsn). Value = StrOsn
oApp. Cells (rOper, cOper). Value = StrOper
oApp. Cells (rStruct, cStruct). Value = StrStruct
oApp. Cells (rOstStoim, cOstStoim). Value = Format$ (StrOstStoim, «0.00»)
oApp. Cells (rOtvSotr, cOtvSotr). Value = StrOtvSotr
oApp. ActiveWorkbook. Sheets (2). Select
oApp. Cells (rTovar2, cTovar2). Value = StrTovar
oApp. Cells (rKol, cKol). Value = StrKol & » шт .»
oApp. Cells (rInvDolzh, cInvDolzh). Value = StrInvSotrDolzhn
oApp. Cells (rInvName, cInvName). Value = StrInvSotr
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set Rec = Nothing
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля OS6b
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 7
Private Const cFirmName As Byte = 1
Private Const rFirmName As Integer = 7
Private Const cFirmOKPO As Byte = 88
Private Const rFirmOKPO As Integer = 7
Private Const cStruct As Byte = 1
Private Const rStruct As Integer = 9
Private Const cDat1Day As Byte = 30
Private Const rDat1Day As Integer = 23
Private Const cDat1Mon As Byte = 34
Private Const rDat1Mon As Integer = 23
Private Const cDat1Year As Byte = 49
Private Const rDat1Year As Integer = 23
Private Const cDat2Day As Byte = 57
Private Const rDat2Day As Integer = 23
Private Const cDat2Mon As Byte = 61
Private Const rDat2Mon As Integer = 23
Private Const cDat2Year As Byte = 76
Private Const rDat2Year As Integer = 23
Private Const cInvName As Byte = 48
Private Const rInvName As Integer = 33
Private Const cInvDolzhn As Byte = 24
Private Const rInvDolzhn As Integer = 33
Private Const cInvNomer As Byte = 88
Private Const rInvNomer As Integer = 33
Private Const rSh1_1 As Integer = 8
Private Const rSh1_2 As Integer = 35
Private Const cNomer As Byte = 1
Private Const cTovar As Byte = 5
Private Const cInv As Byte = 20
Private Const cOsn As Byte = 30
Private Const cDatePrin As Byte = 43
Private Const cStructTov As Byte = 52
Private Const cOtv As Byte = 61
Private Const cPervStoim As Byte = 70
Private Const cSrok As Byte = 80
Private Const cAmort As Byte = 90
Private Const cOstStoim As Byte = 1
Sub PrintFormOS6b (ByVal v_dat1 As Date, _
ByVal v_dat2 As Date, _
ByVal nomer_struct As Long, ByVal StrStruct As String)
Dim db As Database, qry As DAO. QueryDef, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrFirmName As String, StrFirmOKPO As String
Dim StrInvOtvName As String, StrInvOtvDolzhn As String, StrInvOtvNomer As String
Dim StrMonth1 As String, StrMonth2 As String
Dim i As Long, NRecord As Long, p As Long
On Error GoTo LblErr
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> «» Then s_folder = s_folder + «»
s_folder = s_folder + «blanks „
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox “Путь к папке с бланками » & s_folder & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset («select * from Формы where НомерФорма = » & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields («Наименование „). Value
StrFile = Rec. Fields (“Файл „). Value
Else
Set Rec = Nothing
MsgBox “Нет информации о форме №» & NomerForm & «!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox «Файл бланка формы ‘» & StrFormName & «‘ » & StrPath & » не обнаружен!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset («SELECT Параметры. *, Сотрудники. Сотрудник, Сотрудники. ТабельныйНомер, Должности. Должность FROM ( (Должности RIGHT JOIN Сотрудники ON Должности. НомерДолжн = Сотрудники. НомерДолжн) RIGHT JOIN Параметры ON Сотрудники. НомерСотр = Параметры. ИнвОтвеств)», dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields («НаименованиеФирмы „). Value, “»)
StrFirmOKPO = Nz (Rec. Fields («ОКПО „). Value, “»)
StrInvOtvName = Nz (Rec. Fields («Сотрудник „). Value, “»)
StrInvOtvDolzhn = Nz (Rec. Fields («Должность „). Value, “»)
StrInvOtvNomer = Nz (Rec. Fields («ТабельныйНомер „). Value, “»)
Else
MsgBox «Общие параметры фирмы не занесены!», vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (v_dat1), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonth1 = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonth1 = «нет названия»
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset («select * from ВспомДата where НомерМес = » & Month (v_dat2), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonth2 = Nz (Rec. Fields («НазвМес „). Value, “»)
Else
StrMonth2 = «нет названия»
End If
Set Rec = Nothing
Set oApp = CreateObject («Excel. Application»)
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rStruct, cStruct). Value = StrStruct
oApp. Cells (rDat1Day, cDat1Day). Value = Format$ (v_dat1, «dd»)
oApp. Cells (rDat1Mon, cDat1Mon). Value = StrMonth1
oApp. Cells (rDat1Year, cDat1Year). Value = Right$ (Format$ (v_dat1, «yyyy»),
1)
oApp. Cells (rDat2Day, cDat2Day). Value = Format$ (v_dat2, «dd»)
oApp. Cells (rDat2Mon, cDat2Mon). Value = StrMonth2
oApp. Cells (rDat2Year, cDat2Year). Value = Right$ (Format$ (v_dat2, «yyyy»),
1)
oApp. Cells (rInvName, cInvName). Value = StrInvOtvName
oApp. Cells (rInvDolzhn, cInvDolzhn). Value = StrInvOtvDolzhn
oApp. Cells (rInvNomer, cInvNomer). Value = StrInvOtvNomer
Application. SysCmd acSysCmdInitMeter, «Вывод информации о товарах», 100
If nomer_struct = 0 Then
Set qry = db. QueryDefs («запрос _ИнвКнига2»)
qry. Parameters (0) = v_dat1
qry. Parameters (1) = v_dat2
Else
Set qry = db. QueryDefs («запрос _ИнвКнига»)
qry. Parameters (0) = v_dat1
qry. Parameters (1) = nomer_struct
qry. Parameters (2) = v_dat2
End If
Set RecList = qry. OpenRecordset (dbOpenSnapshot)
NRecord = RecList. RecordCount
If NRecord > 0 Then
RecList. MoveLast
NRecord = RecList. RecordCount
RecList. MoveFirst
i = 0
p = rSh1_1 — 1
While Not RecList. EOF
i = i + 1
p = p + 1
If p > rSh1_2 Then GoTo ex
Application. SysCmd acSysCmdUpdateMeter, i / NRecord * 100
With oApp. ActiveWorkbook. Sheets (2)
. Cells (p, cNomer). Value = i
. Cells (p, cTovar). Value = Nz (RecList. Fields (» Наименование»). Value, «»)
. Cells (p, cInv). Value = Nz (RecList. Fields (» ИнвНомер»). Value, «»)
. Cells (p, cOsn). Value = Nz (RecList. Fields (» ОснованиеПринятия»). Value, «»)
. Cells (p, cDatePrin). Value = Format$ (Nz (RecList. Fields (» ДатаПринятияКУчету»). Value, Date), «dd. mm. yyyy»)
. Cells (p, cStructTov). Value = Nz (RecList. Fields (» СтруктурноеПодразделение»). Value, «»)
. Cells (p, cOtv). Value = Nz (RecList. Fields (» Сотрудник»). Value, «»)
. Cells (p, cPervStoim). Value = Nz (RecList. Fields (» ПервСтоииость»). Value, 0)
. Cells (p, cSrok). Value = Nz (RecList. Fields (» СрокИспользования»). Value, 0) & «мес.»
. Cells (p, cAmort). Value = Nz (RecList. Fields (» Аморт»). Value, 0)
End With
oApp. ActiveWorkbook. Sheets (3). Cells (p, cOstStoim). Value = _
Nz (RecList. Fields («ОстСтоииость „). Value, 0)
RecList. MoveNext
Wend
End If
ex:
Application. SysCmd acSysCmdRemoveMeter
If Not (oApp Is Nothing) Then oApp. Visible = True
Set qry = Nothing
Set RecList = Nothing
Set oApp = Nothing
Set db = Nothing
Exit Sub
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
GoTo ex
End Sub
Код модуля общий
Option Compare Database
Option Explicit
Function translateNumber (ByVal Num As Long) As String
On Error GoTo LblErr
Dim num_str As String
Dim razr_count As Long
Dim razr_all As Long
Dim tri_count As Long
Dim tri_all As Long
Dim cur_dig As Byte
Dim point_pos As Long
Dim mg As Boolean
Dim mgl As Boolean
Dim kstr1 As Long
translateNumber = “ „
num_str = Trim (Str (Num))
tri_count = 1
razr_all = Len (num_str)
If razr_all = 0 Then
translateNumber = “ноль „
Exit Function
End If
If Num = 0 Then
translateNumber = “ноль „
Exit Function
End If
For razr_count = 1 To razr_all Step 3
kstr1 = Mid (num_str, razr_all — razr_count + 1,1)
If razr_count = 1 Then mgl = True
If razr_count = 4 Then
mgl = True
If razr_count >= razr_all Then GoTo m1
If Mid (num_str, razr_all — razr_count,
1) = “1» Then
translateNumber = » тысяч » & translateNumber
Else
m1: If kstr1 = «1» Then translateNumber = » тысяча » & translateNumber
If kstr1 = «2» Then translateNumber = » тысячи » & translateNumber
If kstr1 = «3» Then translateNumber = » тысячи » & translateNumber
If kstr1 = «4» Then translateNumber = » тысячи » & translateNumber
If (Val (kstr1) >= 5) Or (kstr1 = «0») Then translateNumber = » тысяч » & translateNumber
End If
End If
If razr_count = 7 Then
mgl = False
If kstr1 = «1» Then translateNumber = » миллион » & translateNumber
If kstr1 = «2» Then translateNumber = » миллиона » & translateNumber
If kstr1 = «3» Then translateNumber = » миллиона » & translateNumber
If kstr1 = «4» Then translateNumber = » миллиона » & translateNumber
If (Val (kstr1) >= 5) Or (kstr1 = «0») Then translateNumber = » миллионов » & translateNumber
End If
If razr_count = 10 Then
mgl = False
If kstr1 = «1» Then translateNumber = » миллиард » & translateNumber
If kstr1 = «2» Then translateNumber = » миллиарда » & translateNumber
If kstr1 = «3» Then translateNumber = » миллиарда » & translateNumber
If kstr1 = «4» Then translateNumber = » миллиарда » & translateNumber
If (Val (kstr1) >= 5) Or (kstr1 = «0») Then translateNumber = » миллиардов » & translateNumber
End If
If razr_count = 13 Then
mgl = False
If kstr1 = «1» Then translateNumber = » триллион » & translateNumber
If kstr1 = «2» Then translateNumber = » триллиона » & translateNumber
If kstr1 = «3» Then translateNumber = » триллиона » & translateNumber
If kstr1 = «4» Then translateNumber = » триллиона » & translateNumber
If (Val (kstr1) >= 5) Or (kstr1 = «0») Then translateNumber = » триллионов » & translateNumber
End If
If razr_all — razr_count — 1 < 1 Then
translateNumber = triade (Mid (num_str, 1, razr_all — razr_count + 1), mgl) & translateNumber
Else
translateNumber = triade (Mid (num_str, razr_all — razr_count — 1,3), mgl) & translateNumber
End If
Next razr_count
translateNumber = ucasefirst (translateNumber)
Exit Function
LblErr:
MsgBox Err. Description
End Function
Function triade (ByVal in_str As String, mg As Boolean) As String
On Error GoTo LblErr
Dim out_tri2 As String
Dim out_tri1 As String
Dim out_tri3 As String
Dim di As String, kstr1 As String
triade = » «
If Len (in_str) < 3 Then in_str = «0» & in_str
If Len (in_str) < 3 Then in_str = «0» & in_str
kstr1 = Mid (in_str, 1,1)
If kstr1 = «0» Then out_tri3 = » «
If kstr1 = «1» Then out_tri3 = » сто «
If kstr1 = «2» Then out_tri3 = » двести «
If kstr1 = «3» Then out_tri3 = » триста «
If kstr1 = «4» Then out_tri3 = » четыреста «
If kstr1 = «5» Then out_tri3 = » пятьсот «
If kstr1 = «6» Then out_tri3 = » шестьсот «
If kstr1 = «7» Then out_tri3 = » семьсот «
If kstr1 = «8» Then out_tri3 = » восемьсот «
If kstr1 = «9» Then out_tri3 = » девятьсот «
‘оцениваем на 11
di = Right (in_str,
2): kstr1 = Mid (in_str, 2,1)
If kstr1 = «1» Then
If di = «10» Then out_tri2 = » десять «
If di = «11» Then out_tri2 = » одиннадцать «
If di = «12» Then out_tri2 = » двенадцать «
If di = «13» Then out_tri2 = » тринадцать «
If di = «14» Then out_tri2 = » четырнадцать «
If di = «15» Then out_tri2 = » пятнадцать «
If di = «16» Then out_tri2 = » шестнадцать «
If di = «17» Then out_tri2 = » семнадцать «
If di = «18» Then out_tri2 = » восемнадцать «
If di = «19» Then out_tri2 = » девятнадцать «
triade = out_tri3 & out_tri2
Exit Function
End If
If kstr1 = «0» Then out_tri2 = » «
If kstr1 = «2» Then out_tri2 = » двадцать «
If kstr1 = «3» Then out_tri2 = » тридцать «
If kstr1 = «4» Then out_tri2 = » сорок «
If kstr1 = «5» Then out_tri2 = » пятьдесят «
If kstr1 = «6» Then out_tri2 = » шестьдесят «
If kstr1 = «7» Then out_tri2 = » семдесят «
If kstr1 = «8» Then out_tri2 = » восемдесят «
If kstr1 = «9» Then out_tri2 = » девяносто «
kstr1 = Mid (in_str, 3,1)
If kstr1 = «0» Then out_tri1 = » «
If mg = False Then
If kstr1 = «1» Then out_tri1 = » один «
If kstr1 = «2» Then out_tri1 = » два «
Else
If kstr1 = «1» Then out_tri1 = » одна «
If kstr1 = «2» Then out_tri1 = » две «
End If
If kstr1 = «3» Then out_tri1 = » три «
If kstr1 = «4» Then out_tri1 = » четыре «
If kstr1 = «5» Then out_tri1 = » пять «
If kstr1 = «6» Then out_tri1 = » шесть «
If kstr1 = «7» Then out_tri1 = » семь «
If kstr1 = «8» Then out_tri1 = » восемь «
If kstr1 = «9» Then out_tri1 = » девять «
triade = out_tri3 & out_tri2 & out_tri1
Exit Function
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
End Function
Function ucasefirst (in_str As String) As String
On Error GoTo LblErr
Dim fs As String
Dim ns As String
If Nz (in_str, «») = «» Then ucasefirst = » «
in_str = Trim (in_str)
fs = Left (in_str,
1)
ns = Right (in_str, Len (in_str) — 1)
ucasefirst = UCase (fs) & ns
Exit Function
LblErr:
MsgBox Err. Description, vbCritical + vbOKOnly
End Function
Содержание:
ВВЕДЕНИЕ
Внедрение компьютерных технологий, доступность информации, объем и скорость ее обработки являются решающими факторами развития производительных сил государства, науки, культуры, государственных учреждений и всех сфер человеческой деятельности. Информация и данные все чаще рассматриваются как жизненно важные ресурсы, которые необходимо организовать таким образом, чтобы их можно было легко использовать.
Основные идеи современных информационных технологий основаны на концепции, согласно которой данные должны быть организованы в базы данных, чтобы адекватно отражать изменяющийся реальный мир и удовлетворять информационные потребности пользователей.
Любая информационная система — это программный пакет, функции которого состоят в том, чтобы поддерживать надежное хранение информации в памяти компьютера, выполнять специфичные для информации преобразования и вычисления для конкретного приложения, а также предоставлять пользователям удобный и простой в освоении интерфейс.
В настоящее время наиболее популярными являются клиент-серверные технологии, сочетающие преимущества централизованной обработки данных унитарных систем с преимуществами распределенных вычислений файлово-серверных систем. Основное различие между архитектурой клиент-сервер и архитектурой файлового сервера заключается в абстрагировании от внутреннего представления данных (физической схемы данных). Все рутинные функции хранения, обработки и защиты данных на так называемом физическом уровне выполняет система управления базами данных (СУБД).
Еще одним преимуществом использования СУБД и архитектуры клиент-сервер по сравнению с подходом файловый сервер была возможность использовать транзакционный механизм для манипулирования данными. Этот сервис, предоставляемый сервером данных, позволяет объединить несколько действий для преобразования данных в одну неделимую операцию (транзакцию). Использование транзакций обеспечивает надежную защиту информации от сбоев программного и аппаратного обеспечения как на клиентской, так и на серверной стороне ИС.
Помимо повышения производительности готовых программ, архитектура клиент-сервер значительно упрощает процесс создания информационной системы. Использование логического уровня представления данных в прикладных программах и использование стандартизированных механизмов запросов к СУБД позволило писать независимые от платформы программы клиентской части информационной системы.
Цель данной работы – разработка создание информационной системы учета основных средств автошколы.
Достижение цели работы осуществляется посредствам решения следующих задач: изучение учета предметной области; формирование общего представления о информационной системах; формирование технического задания на проектирование информационной системы.
Объектом исследования является информационная система учета основных средств автошколы.
Предметом исследования является автоматизация работ с использованием информационной системы.
1. ТЕХНИКО-ЭКОНОМИЧЕСКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ И ПРЕДПРИЯТИЯ
1.1 ХАРАКТЕРИСТИКА ПРЕДПРИЯТИЯ И ЕГО ДЕЯТЕЛЬНОСТИ
Это самая первая и старейшая автошкола ДОСААФ (Добровольного Общества Содействия Армии, Авиации, Флоту) Раменского района, основана в 1962 г., по окончанию которой, курсанты получали профессию шофёр-профессионал 3 класса, или шофёр-любитель. Так же были организованы курсы мотоциклистов и на их базе, первый в истории мотоклуб, из стен которого вышло множество спортсменов разрядников, мастеров спорта, чемпионов и призёров первенств СССР и международных соревнований. ООО «РамДОСААФ» зарегистрирована 1 марта 2018 г. регистратором Межрайонная инспекция Федеральной налоговой службы №17 по Московской области. Руководитель организации: генеральный директор Скрипкович Светлана Михайловна. Юридический адрес: 140100 Московская область, Раменский район, д. Дергаево, Центральная улица, д.165А. Основным видом деятельности является 85.42.1 _ Деятельность школ подготовки водителей автотранспортных средств, зарегистрировано 3 дополнительных вида деятельности. Организации ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «РАМДОСААФ» присвоены ИНН 5040154221, ОГРН 1185027004469, ОКПО 25999699.
Деятельность ООО «РамДОСААФ» лицензирована соответствующими разрешениями.
Основная задача ООО «РамДОСААФ» — подготовка специалистов высокого уровня вождения. Поэтому каждый обучаемый получает:
— возможность обучения по низкой цене;
— скидку по подарочному сертификату;
— теоретические знания по новым правилам дорожного движения;
— практический навык вождения на современных автомобилях с механической и автоматической трансмиссией;
— индивидуальный график практических занятий с опытным инструктором.
Рассмотрение и анализ результатов финансовой деятельности исследуемого предприятия (таблица далее).
Таблица 1. Технико-экономические показатели ООО «РамДОСААФ», тыс. руб.
Показатели |
2016 |
2017 |
Абсолютное отклонение |
Темп роста, % |
Выручка от реализации |
42 091 |
56 216 |
14 125 |
25,12 |
Себестоимость реализованных товаров |
34 243 |
46 258 |
12 015 |
25,97 |
Прибыль от реализации |
7 848 |
9 958 |
2 110 |
21,19 |
Коммерческие расходы |
1 741 |
1 588 |
-153 |
-8,9 |
Управленческие расходы |
654 |
855 |
201 |
23,5 |
Средняя заработная плата |
14,2 |
15,4 |
1,2 |
7,8 |
Чистая прибыль отчётного периода |
4 805 |
6 780 |
1 975 |
29,13 |
Сумма выручки ООО «РамДОСААФ» в 2016 г. 42091 тыс. руб. В исследуемый период значение показателя увеличилось до 56216 тыс.руб. (повышение на 25,12%). Повысился объем сбыта, это свидетельствует о конкурентоспособности предприятия в рыночной экономике.
Общая сумма валовой прибыли ООО «РамДОСААФ» составляет 6780 тыс. руб. в 2017 году против 4805 тыс. руб. в 2016 г. Значение показателя положительное, это означает, что остаются средства для осуществления прочих расходов, таких, как расходы на управление, сбыт и обслуживание привлеченных средств займа. Прибыль от реализации увеличилась на 21,19%, значит менеджмент предприятия на хорошем уровне, есть эффективность подготовки.
1.2. ОРГАНИЗАЦИОННАЯ СТРУКТУРА УПРАВЛЕНИЯ ПРЕДПРИЯТИЕМ
Далее на рисунке представлена организационная структура управления предприятием.
Администратор
Генеральный директор (высшее руководство)
Зам. директора
по
тех. обеспечению
Бухгалтер
Инструктор по теории
Автомеханик
Инструктор по вождению
Рисунок 1. Организационная структура ООО «РамДОСААФ»
Как видно из представленной блок-схемы структура линейно-функциональная, возглавляемая единоличным управляющим – генеральным директором.
1.3 ВЫБОР КОМПЛЕКСА АВТОМАТИЗАЦИИ И ХАРАКТЕРИСТИКА СУЩЕСТВУЮЩИХ БИЗНЕС-ПРОЦЕССОВ
Автоматизация учета основных средств на предприятии.
Организационно-экономическая сущность учета основных средств на предприятии.
Задачи бухгалтерского учета ОС на предприятии.
Основными задачами бухгалтерского учета основных средств являются:
— контроль за сохранностью и наличием основных средств по местам их пользования;
— правильное документальное оформление и своевременное отражение в учете их поступления, выбытие и перемещения;
— контроль за правильным расходованием средств на реконструкцию и модернизацию основных средств;
— начисление доли стоимости основных средств в связи с использованием и износам для включения в затраты предприятия;
— контроль за правильностью и эффективностью использования рабочих машин, оборудования, производственных площадей, транспортных средств и других основных средств;
— точное определение результатов от списания, выбытия объектов основных средств.
Эти задачи решают с помощью подлежащей документации учета наличия и движения основных средств, результатов по их амортизации и учета затрат по их ремонту.
Порядок ведения учета ОС на предприятии.
Процесс движения основных средств на предприятии состоит из трех основных стадий: поступление ОС, эксплуатации ОС, выбытия ОС.
1. Поступление и ввод в эксплуатацию основных средств
Основные средства поступают в организацию:
1. от учредителей в счет вклада в уставный капитал
2. в результате строительства
3. путем приобретения за плату
4. путем безвозмездной передачи
5. по договору мены
При получении в собственность основных средств в бухгалтерском учете на счете 08 отражаются вложения во внеоборотные активы. При вводе основных средств в эксплуатацию формируется первоначальная стоимость объектов основных средств, учитываемая на счете 01 «Основные средства».
Ввод в эксплуатацию основных средств осуществляется на основании письменного приказа (распоряжения) руководителя организации.
Далее в бухгалтерии составляют Акт приема-передачи основных средств по формам: № ОС-1, № ОС-1а (для ввода в эксплуатацию зданий и сооружений), № ОС-1б (при одновременном вводе в эксплуатацию нескольких объектов основных средств).
Принятые объекты основных средств учитывают в инвентарных карточках по формам: № ОС-6, № ОС-6а (для группы объектов). Инвентарная книга по форме № ОС-6б предназначена для учета на малых предприятиях.
РИСУНОК 2. КОНТЕКСТНАЯ ДИАГРАММА УЧЕТА ОСНОВНЫХ СРЕДСТВ
2. ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ
2.1 ИНФОРМАЦИОННАЯ МОДЕЛЬ И ЕЕ ОПИСАНИЕ
Для построения модели данных удобно воспользоваться языком диаграмм «сущность-связь».
Диаграммы «сущность-связь» (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
СУЩНОСТЬ представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.), обладающих общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована.
ОТНОШЕНИЕ в самом общем виде представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (ИМЕЕТ , ОПРЕДЕЛЯЕТ, МОЖЕТ ВЛАДЕТЬ и т.п.).
Бухгалтер
Рисунок 3. Информационная модель системы
2.2. ИСПОЛЬЗУЕМЫЕ КЛАССИФИКАТОРЫ И СИСТЕМА КОДИРОВАНИЯ
Для принятия к бухгалтерскому учету активов в качестве основных средств необходимо единовременное выполнение следующих условий:
а) при выполнении работ или оказании услуг либо для нужд управления организацией;
б) использование в течение длительного времени, т. с. срока полезного использования продолжительностью свыше 12 месяцев или обычного операционного цикла, если он превышает 12 месяцев;
в) организацией не предполагается последующая перепродажа данных активов;
г) способность приносить организации экономические выгоды (доход) в будущем.
Сроком полезного использования является период, в течение которого использование объекта основных средств приносит доход организации.
Для отдельных групп основных средств срок полезного использования определяется исходя из количества продукции (объема работ в натуральном выражении), ожидаемого к получению в результате использования этого объекта.
Таблица 2. Сводные характеристики классификаторов
№ пп |
Наименование кодируемого подмножества |
Система кодирования |
Вид классификатора |
1 |
Код статьи формы №1 бухгалтерской отчётности |
Последовательная |
Общероссийский |
2 |
Код статьи формы №2 бухгалтерской отчётности |
Последовательная |
Общероссийский |
3 |
Код показателя |
Последовательная |
Общесистемный |
4 |
Формы ОС-1, ОС-2, ОС-3, ОС-4, ОС-6, ОС-6б, инвентаризационная ведомость |
Последовательная |
Общесистемный |
2.3 ХАРАКТЕРИСТИКА НОРМАТИВНО-СПРАВОЧНОЙ, ВХОДНОЙ И ОПЕРАТИВНОЙ ИНФОРМАЦИИ
Для создания базы данных необходимо установить, какую информацию она будет хранить: выделить сущности и их атрибуты. Исходя из анализа предметной области можно выделить следующие сущности [7]:
- Данные постановки на учет основных средств (id данных,Дата и время, Текст данных, Файл вложения, Приоритет, Согласующий, Дата и время согласования, Статус согласования, Постановка на учет)
- Приоритеты (№, Срок рассмотрения)
- Статусы (id статуса, Название, Описание)
- Сотрудники (Фамилия, Имя, Отчество, Должность, Телефон №)
Частота актуализации информации:
- При изменении подходов к производственному процессу и стандартам качества: Приоритеты, Статусы.
- По мере необходимости: Постановка на учет.
Теперь перечислен перечень вводимой информации:
- Данные об основных средствах (id данных, Дата и время, Текстовое обозначение, Файл вложения, Приоритет, Согласующий, Дата и время согласования, Статус согласования, Постановка на учет, Дата и время постановки, Текущий статус).
- Сотрудники (Фамилия, Имя, Отчество, Должность, Телефон №).
2.4. ХАРАКТЕРИСТИКА РЕЗУЛЬТАТИВНОЙ ИНФОРМАЦИИ
Перечислим перечень выводимой информации:
- Обращения (id данных, Дата и время, Текст данных, Файл вложения, Приоритет, Согласующий, Дата и время согласования, Статус согласования, Исполнитель, Дата и время исполнения, Текущий статус)
- Приоритеты (№, Срок рассмотрения)
- Статусы (id статуса, Название, Описание)
- Сотрудники (Фамилия, Имя, Отчество, Должность, Телефон №)
Перечень печатаемых отчетов:
- На учет поставлено основное средство.
- Необходимость дополнении информации.
- Перечень поставленных на учет основных средств.
Отчеты могут формироваться как за текущий день или за определенный период.
3. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ
3.1 ОБЩИЕ ПОЛОЖЕНИЯ (ДЕРЕВО ФУНКЦИЙ И СЦЕНАРИЙ ДИАЛОГА)
Рассмотрим дерево функций:
Рисунок 4 – Дерево функций
Данный перечень функций будет реализован при кодировании системы.
После этого перейдем к сценариям диалога [12]:
Рисунок 5. Сценарий диалога для постановки на учет основных средств
3.2 ХАРАКТЕРИСТИКА БАЗЫ ДАННЫХ
Для того, чтобы расписать размерность всех сущностей наше базы данных, необходимо вспомнить размерности основных типов данных [2, 11]:
- Число – 8 байт.
- Датавремя – 8 байт.
- Объект – 1024 байта или больше.
- Текст – в зависимости о количества символов и используемой кодировки. Если кодировка ЮНИКОД, то выделяется по 2 байта на каждый символ. В остальных случаях по 1 байту.
3.3 СТРУКТУРНАЯ СХЕМА ПАКЕТА (ДЕРЕВО ВЫЗОВА ПРОГРАММНЫХ МОДУЛЕЙ)
Построим дерево вызова программных модулей:
Форма«Данные»
Редактирование
Добавление
Рисунок 6 – ER модель базы данных
3.4 ОПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ
Распишем выполняемые функции модулей системы:
Таблица 3 – Описание функций модулей
№ п/п |
Наименование модуля |
Функции модуля |
1. |
Авторизация согласно доменной учетной записи |
Получение данных учетной записи: логин, домен, имя ПК, ФИО |
2. |
Главная форма |
Основная форма, содержит переходы на другие модули |
3. |
Форма «Данные» |
Форма предназначена для работы с данными: создание, редактирование, удаление |
4. |
Форма «Отчеты» |
Форма предназначена для создания новых отчетов (только администратор) или формирования имеющихся (остальные пользователи) |
5. |
Форма «Справочники» |
Форма предназначена для создания новых справочников, их редактирования или удаления (только администратор) |
ОПИСАНИЕ ИНТЕРФЕЙСА ПРИЛОЖЕНИЯ.
Интерфейс программы представляет собой многооконную систему, позволяющей работать одновременно только с одной формой. Если свернуть главное окно, то происходит минимизация всего интерфейса и, соответственно, всех открытых окон, а при закрытии главного окна работа с программой прекращается. На главной форме расположено меню, позволяющее перемещаться по различным окнам, рисунок 7.
Рисунок 7 Внешний вид главной формы приложения.
При разработке приложения было уделено таким важным моментам, как:
Доступность и комфортность при работе с системой;
Удобство ввода входной информации.
Все простые справочники («Должности», «Сотрудники», «Поставщики», «Исполнители работы») представлены в виде простых табличных форм, например, рисунок 8:
Рисунок 8 Пример табличного оформления справочника (сотрудников).
Исключением является форма «Реквизиты предприятия», которая сделана в виде простой формы, рисунок 9.
Рисунок 9 Пример простой формы, в данном случае — справочная форма «Реквизиты фирмы».
Форма для перечня форм ОС для удобства представлена в виде ленточной формы, рисунок 10.
Рисунок 10 Пример ленточной формы, в данном случае — справочная форма «Формы ОС(основных средств)».
Что касается документов, то каждый вид документов организован в виде формы списка с перечнем соотвествующих документов, а также отдельной простой формы для добавления, редактирования или просмотра конкретного, выбранного из списка документа. Например, на рисунках 11 и 12.
Рисунок 11 Пример формы-списка документов, в данном случае — перечень внутренних накладных.
Рисунок 12 Пример формы-карточки документа, в данном случае — внутренней накладной.
Для удобства на каждой форме перечня есть необходимые управляющие кнопки — добавить, удалить, редактировать, печать ОС. Также печать доступна из самой карточки документа. Для каждого поля даты подключен календарик, рисунок 13.
Рисунок 13 Форма-календарик для выбора даты.
Для каждого поля даты есть две стрелочки, позволяющие смещаться на один день вперед по времени или назад, для более серьезных изменений предполагается вызов календарика, путем двойного щелчка по полю даты. Все сделано единообразно, чтобы пользователь не задавался лишний раз вопросом от формы к форме, как и что сделать.
Также каждая форма обеспечена необходимым количеством раскрывающихся списков, для того, чтобы пользователю было как можно меньше надо вручную вводить информацию, а в основном вводить из ранее набранных справочников. Большая часть заполняемых полей снабжена проверками, прежде всего это поля даты, чтобы идущие логически позже даты не опережали идущие ранее и т.д. Например, в поле руководителя на новую запись заведомо подставляется руководитель из реквизитов формы.
Также для удобства общей схемы работы в карточке документа допускаются для изменения поля из справочника основных средств, например, остаточная стоимость, фактические сроки использования и т.д.
C целью защиты нашего проекта мы поставим пароль на программный код всех модулей в редакторе VBA, а также поставим пароль на базу во избежание несанкционированного доступа к ней. Защиту можно расширить при помощи встроенных методов Access в том, случае если понадобится разделение прав, например, для главного бухгалтера, бухгалтеров и помощника бухгалтера. Например, помощник получит доступ только для чтения. Такая схема легко реализуется при помощи файла рабочей группы, в котором настраиваются права пользователей. Но нам сейчас нет необходимости в такой серьезной защите, поэтому ограничимся общим паролем на доступ к базе.
Результат формирования формы ОС выводится в файл-шаблон документа в Excel, рисунок 14.
Рисунок 14 Заполненная форма шаблона для внутренней накладной, первый и второй лист.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Агальцов, В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник / В.П. Агальцов. — М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2016. — 272 c.
- Бабенко, М. А. Введение в теорию алгоритмов и структур данных. / М.А. Бабенко, М.В. Левин. — М.: МЦНМО, 2017. — 144 c.
- Бекаревич Ю. Б. MicrosoftAccess 2013: самоучитель/Юрий Бекаревич, Нина Пушкина. — Санкт-Петербург: БХВ-Петербург, 2017. — 464 с.: ил.
- Вирт Алгоритмы и структуры данных / Вирт, Никлаус. — М.: СПб: Невский Диалект; Издание 2-е, испр., 2016. — 352 c.
- Гаврилов М. В. Информатика, а также информационные технологии: учебник для бакалавров/М. В. Гаврилов, В. А. Климов.- 3-е изд., перераб., а также доп.- Москва: Юрайт, 2016.- 377, с.: ил.
- Гвоздева В. А. Базовые и прикладные информационные технологии: [учебник по техническим специальностям]/В. А. Гвоздева. — Москва: Форум: ИНФРА-М, 2016. — 382 с.: ил.
- Голицына, О.Л. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. — М.: Форум, 2016. — 400 c.
- Дмитриева И. С. Проектирование экономических информационных систем: учебное пособие/И. С. Дмитриева, Е. В. Музюкова, Н. Е. Шевелева. — 2-е изд., перераб. и доп. — Волгоград: Волгоградское научное издательство, 2017. — 96 с.: ил.
- Дрогобыцкая К. С. Архитектурные модели экономических систем/К. С. Дрогобыцкая, И. Н. Дрогобыцкий; Финансовый ун-т при Правительстве Рос. Федерации. — Москва: Вузовский учебник: ИНФРА-М, 2017. — 299, с.: ил.
- Информационные технологии в экономике и управлении: учебник для бакалавров/[В. В. Трофимов, О. П. Ильина, М. И. Барабанова и др.]; под ред. В. В. Трофимова; С.-Петерб. гос. экон. ун-т. — 2-е изд., перераб. и доп. — Москва: Юрайт, 2017. — 482 с.: ил.
- Микляев И. А. Универсальные объектно-ориентированные базы данных на реляционной платформе/И. А. Микляев; М-во образования и науки Рос. Федерации, Сев. (Аркт.) федер. ун-т им. М. В. Ломоносова. — Архангельск: Издательский дом САФУ, 2017. — 223, с.: ил.
- Нестеров С. А. Корпоративные системы баз данных: [учеб. пособие по направлению подготовки магистров «Системный анализ и управление»]/С. А. Нестеров; С.-Петерб. гос. политехн. ун-т. — Санкт-Петербург: Издательство Политехнического университета, 2017. — 120 с.
- Спольски Джоэл о программировании / Спольски, Джоэл. — М.: СПб: Символ-Плюс, 2016. — 352 c.
- Федорова Г. Н. Информационные системы: учебник/Г. Н. Федорова.- 3-е изд., стер.- Москва: Академия, 2016.- 202 с.: ил.; 22 см.- (Среднее профессиональное образование. Информатика, а также вычислительная техника).-Библиогр.: 199 с.
- Экономическая информатика: [учебное пособие по направлению «Экономика»/Еремин Л. В., а также др.]; под ред. Д. В. Чистова.- 2-е изд., стер.- Москва: КноРус, 2016.- 512 с.: ил.
- Экономическая информатика: учебник и практикум для бакалавриата и магистратуры: [для вузов по экономическим специальностям/Дьяконова Л. П., Герасимова В. Г., Милорадов К. А. и др.]; под ред. Ю. Д. Романовой; Рос. экон. ун-т им. Г. В. Плеханова. — Москва: Юрайт, 2017. — 494, с.: ил.
17. http://ramdosaaf.ru/
18.https://studfiles.net
ЗАКЛЮЧЕНИЕ
В работе был проведен анализ деятельности предприятия и создана информационная система учета основных средств предприятия.
Основные результаты работы, следующие:
- Проведен анализ литературы, и сделан выбор средств и методов реализации задачи.
- Создана модель база данных для информационной системы.
- Создано модель приложение для информационной системы.
Для реализации поставленных задач использовались следующие методы:
- моделирование бизнес-процессов с использованием методологии IDEF0;
- использование принципов процедурного подхода к моделированию бизнес-процессов;
- использование метода построения диаграмм сущности-отношения при проектировании базы данных;
- использование экспертных систем при создании таблиц базы данных по ER-модели.
В результате исследования была получена модель бизнес-процесса, которая отвечает требованиям к системе автоматизации бизнес-процессов в компаниях с учетом специфики деятельности организации. Также, согласно существующей модели бизнес-процессов, была построена структура информационной системы, что позволило разработать программный продукт.
Последовательно решив ряд задач, указанных в начале исследования, нам удалось достичь цели самого исследования и разработать ее на основе разработки комплексного теоретически обоснованного подхода к автоматизации учета основных средств , а также к разработке и внедрению программный продукт, позволяющий решить ряд проблемных задач, выявленных в процессе исследования.
Разработанную модель можно применить созданию и реализации на языке программирования высокого уровня информационной системы для учета основных средств.
Поставленная цель исследования выполнена, все задачи решены.
СПИСОК СОКРАЩЕНИЙ.
РамДОСААФ – Раменское Добровольное Общество Содействия Армии, Авиации, Флоту.
- Сравнительный анализ компетенций менеджеров и предпринимателей в российских компаниях (Личная профессиональная компетентность предпринимателя)
- Сущность и роль нотариата
- Органы, осуществляющие оперативно-розыскную деятельность: задачи, права, обязанности (Понятие и задачи оперативно-розыскной деятельности)
- Организация коммерческой деятельности в сфере биржевой торговли (Правила биржевой торговли иностранными валютами)
- Управление поведением в конфликтных ситуациях (Определение и характеристика конфликта)
- Федеральное казначейство РФ и его роль в управлении движением.
- Роль семьи в процессе обучения младших школьников (Описание и особенности детей младшего школьного возраста)
- Психология рекламы (Основные сведения о психосемантики)
- Понятие и сущность процессного подхода
- Проектирование ИС по учету поставок топлива потребителям в ООО «Импульс»
- Управление поведением в конфликтных ситуациях (Понятие конфликта, его типология и причины возникновения)
- Особенности политики психологической поддержки персонала организаций бюджетной сферы (Понятие и значение управления персоналом в организации)
Курсовая работа — Организация автоматизированного учёта основных средств — файл n1.doc
Курсовая работа — Организация автоматизированного учёта основных средств
скачать (768.5 kb.)
Доступные файлы (1):
- Смотрите также:
- Организационная структура предприятия и основные цели бухгалтерского учета основных средств (Документ)
- «Бухгалтерский учет основных средств» (Документ)
- Курсовая работа — невербальные средства общения (Курсовая)
- Агабекян О.В., Макарова К.С. Учет и налогообложение основных средств (Документ)
- Курсовая работа — Учет затрат производства продукции растениводства в ГУСП совхозе Алексеевский (Курсовая)
- Практическая работа №1. Организация как основное звено экономики организационно-правовые формы предприятия Практическая работа №2 10 (Документ)
- Документальное оформление и учет поступления основных средств Документальное оформление (Документ)
- Аудит основных средств (Документ)
- Колесникова Т.В., Беспалов М.В. Садоводческие товарищества. Бухгалтерский учет и налогообложение (Документ)
- Изменения в нормативном регулировании учета основных средств и их последствия (Документ)
- Ким В., Панкратова Т. Основные средства: от поступления до выбытия (Документ)
- Курсовая работа — Учет и анализ банкротства (Курсовая)
n1.doc
ФАКУЛЬТЕТ ЗАОЧНОГО ОБУЧЕНИЯ
КУРСОВАЯ РАБОТА
По дисциплине: «Информационные системы в экономике»
Тема 4: «Организация автоматизированного учета основных средств».
2009 г
Содержание
Введение 2
1. Описание предметной области автоматизации 3
2. Постановка задачи 7
2.1. Организационно-экономическая сущность задачи. 7
2.2. Описание входной информации. 7
2.3. Описание выходной информации. 13
3. Выбор программного обеспечения 15
4. Разработка технологии решения задачи 17
Заключение 30
Список использованных источников 31
Приложение 32
Введение
Автоматизация бухгалтерского учета — объективная необходимость. Работа бухгалтера все больше становится творческой, и внедрение компьютерных технологий повышает эффективность, беря на себя, кроме всего прочего, всю рутинную работу.
Цель данной курсовой работы: организация автоматизированного учета основных средств. В моей работе на примере ООО «Галатея».
В первом разделе рассматривается ведение учета основных средств без применения вычислительной техники.
Во втором разделе описывается входная и выходная информация.
Третий раздел посвящен выбору программного обеспечения.
В четвертом разделе представлена технология решения поставленной задачи с помощью программы Бухгалтерия версия 6.3.
1. Описание предметной области автоматизации
Основные средства – это средства труда, используемые при производстве продукции, выполнении работ и оказании услуг в течение более одного года. Они применяются в различных сферах приложения общественного труда (материальное производство, товарное обращение и непроизводственная сфера). Основные средства участвуют в процессе производства длительное время, сохраняя при этом натуральную форму. Их стоимость переносится на создаваемую продукцию не сразу, а постепенно, частями, по мере амортизации.
Весь учет основных средств ведется на активном счете 01 «Основные средства» подразделяется на следующие субсчета:
- 010 «Здания»;
- 011 «Сооружения»;
- 012 «Передаточные устройства»;
- 013 «Машины и оборудование»;
- 015 «Транспортные средства»;
- 016 «Инструменты, производственный и хозяйственный инвентарь»;
- 017 «Рабочий и продуктивный скот»;
- 018 «Библиотечный фонд»;
- 019 «Прочие основные средства».
Этот счет предназначен для обобщения информации о наличии и движении собственных основных средств предприятия, находящихся в эксплуатации, запасе, на консервации, сданных в текущую аренду. Синтетический учет собственных основных средств на этом счете ведется по первоначальной (восстановительной) стоимости в течение всего срока их эксплуатации. По дебету счета отражаются оприходование и дооценка основных средств; по кредиту — списание выбывших и ликвидированных основных средств, их уценка. Дебетовое сальдо по счету 01 «Основные средства» показывает стоимость собственных основных средств предприятия на отчетную дату.
Основные средства могут поступать в организацию различными способами, в результате:
- приобретения за плату у других организаций;
- строительства хозяйственным или подрядным способом;
- получения от других организаций и лиц в безвозмездное пользование;
- внесения учредителями в счет их вкладов в уставный капитал;
- получения в хозяйственное ведение или оперативное управление;
- взятия в аренду с последующим выкупом;
- поступления по акту дарения;
- передачи в совместную деятельность и доверительное управление;
- передачи в обмен на другое имущество;
- другими способами, не противоречащими действующему законодательству.
Поступающие на предприятие основные средства должны быть документально оформлены и сразу же оприходованы.
При неавтоматизированном способе учет основных средств происходит следующим образом: поступающие основные средства принимает комиссия, назначаемая руководителем организации. Для оформления приемки комиссия составляет в одном экземпляре акт (накладную) приемки-передачи основных средств на каждый объект в отдельности. Общий акт на несколько объектов можно составлять лишь в том случае, если объекты однотипны, имеют одинаковую стоимость и приняты одновременно под ответственность одного и того же лица.
В актах указывают наименование объекта, год постройки или выпуска заводом, краткую характеристику объекта, первоначальную стоимость, присвоенный объекту инвентарный номер, место использования объекта и другие сведения, необходимые для аналитического учета основных средств.
После оформления акт приемки-передачи основных средств передают в бухгалтерию организации. К акту прилагают техническую документацию, относящуюся к данному объекту (паспорт, чертежи и т.п.).
В бухгалтерии согласно акту приемки-передачи открывают инвентарную карточку учета основных средств (форма № ОС-6).
Заполнение инвентарной карточки (инвентарной книги) производится на основе:
- акта (накладной) приемки-передачи основных средств;
- технических паспортов;
- других документов на приобретение, сооружение, перемещение и списание объектов основных средств.
Инвентарная карточка ведется в бухгалтерии на каждый объект или группу однотипных объектов основных средств, поступивших в эксплуатацию в одном календарном месяце и имеющих одно и то же производственно-хозяйственное назначение, техническую характеристику и стоимость. В случае группового учета карточка заполняется путем позиционных записей отдельных объектов основных средств.
В инвентарных карточках (инвентарной книге) должны быть приведены основные данные по объекту основных средств:
- срок полезного использования;
- способ начисления амортизации;
- освобождение от начисления амортизации (если имеет место);
- индивидуальные особенности объекта.
После чего техническую документацию передают в технический или другой отдел предприятия.
Акт утверждает руководитель организации.
Как мы видим технология обработки задачи довольно трудоемкая.
Возникает необходимость в ее автоматизации.
2. Постановка задачи
2.1. Организационно-экономическая сущность задачи.
Цель данной задачи автоматизировать учет основных средств на предприятии. Для этого необходимо, чтобы вся первичная учетная документация заносилась в специальную компьютерную программу ( в моем примере это программа BC: Бухгалтерия 6.3) и вся необходимая выходная информация выводилась автоматически.
2.2. Описание входной информации.
Основным документом на оприходование основных средств (приобретенных со стороны в результате купли-продажи) в данной программе является пункт меню Документы – Поступление основных средств.
Ее вид представлен в приложение №1.
Данный бланк заполняется из справочников постоянных реквизитов и переменных реквизитов.
Постоянные реквизиты сгруппированы в справочники Бухгалтерия -Контрагенты – Поставщики и Бухгалтерия- Аналитические признаки — ОС;
Их вид представлен в приложение № 2 и приложение № 3
Аналитический классификатор Контрагенты предназначен для ввода, хранения и редактирования данных о контрагентах. Информация о контрагентах используется при создании новых документов и проведении операций для заполнения полей.
Окна создания и редактирования контрагента имеют общий вид и содержат следующие поля:
- Тип контрагента. Значение поля выбирается из списка (юр. лицо, физ. лицо, или ПБОЮЛ).
- Наименование контрагента — обязательно к заполнению.
- Код контрагента.
- Расчетные счета. Кнопка Расчетные счета позволяет посмотреть и отредактировать расчетные счета контрагента.
В программе BC: Бухгалтерия существует следующее ограничение: учитывается не более двух расчётных счетов контрагента. При нажатии на кнопку Расчетные счета, выбирается расчетный счет и в появившемся окне заполняются следующие реквизиты счета:
- Номер расчетного счета.
- Наименование банка.
- Местоположение банка. Фактический адрес банка.
- Отделение банка. Название отделения банка.
- Адрес банка. Юридический адрес банка.
- Корсчет банка. Номер корреспондентского счета в расчетной сети Банка России.
- БИК. Банковский идентификационный код.
После заполнения всех полей необходимо нажать кнопку Изменить.
- Полное наименование контрагента.
- Юридический адрес контрагента.
- Фактический адрес контрагента.
- Телефоны контрагента.
- ОКПО контрагента.
- КПП контрагента.
- ИНН контрагента.
- Паспортные данные контрагента (если контрагент является физическим лицом).
- Сегмент рынка. Заполняется посредством выбора значения из аналитического классификатора Сегменты рынка.
- Ответственный менеджер. Поле заполняется посредством выбора значения из аналитического классификатора Сотрудники.
- Срок кредита — срок кредита в месяцах.
- Размер кредита, у.е. — размер кредита в условных единицах.
Аналитические признаки представляют собой аналитические классификаторы объектов бухгалтерского учета и их свойств. В программе все аналитические признаки сгруппированы по разделам. Аналитические признаки используются для быстрого заполнения полей документов и получения детализированных отчетов.
Окна создания и редактирования ОС имеют общий вид:
Вкладка Общие содержит следующие поля:
- Наименование — наименование ОС.
- Группа ОС — значение поля выбирается из списка.
- Инв. номер — инвентарный номер ОС. При вводе нового ОС присваивается автоматически.
- Тип (собственное или арендованное) — значение поля выбирается из списка. Если выбрано значение «арендованное», то поля Дата принятия, Дата списания, Состояние, Способ поступления, Причина выбытия, Находится в залоге, Амортизация становятся неактивными.
- Рег. паспорт — регистрационный паспорт ОС.
- Зав. номер — заводской номер ОС.
- Состояние — значение поля выбирается из списка.
- Место эксплуатации — значение поля выбирается из списка структурных подразделений организации.
- Ответственное лицо — значение поля выбирается из классификатора Сотрудники.
- Способ поступления — значение поля выбирается из списка.
- Дата принятия к учету — значение поля можно ввести вручную или выбрать из календаря.
- Дата приобретения — значение поля можно ввести вручную или выбрать из календаря.
- Дата списания с учета — значение поля можно ввести вручную или выбрать из календаря.
- Амортизация — значение поля выбирается из списка: начислять: счет 02, начислять: счет 010, не начислять.
- Причина выбытия — значение поля выбирается из списка.
- Установите флажок у параметра в залоге, если ОС находится в залоге. Ее вид представлен в приложение № 4
Вкладка Бухучет содержит следующие поля:
- Первоначальная стоимость — значение поля заполняется вручную.
- Счет учета — значение поля можно выбрать из рабочего плана счетов. По умолчанию устанавливается счет учета 01.2
- Способ начисления амортизации — значение поля выбирается из списка. Доступны следующие варианты:
- линейный
- уменьшаемого остатка
- по сумме чисел лет срока полезного использования
- пропорционально объему продукции (работ, услуг)
- по единым нормам амортизационных отчислений
- Срок начисления амортизации (в месяцах)- поле заполняется вручную. Перерасчитывается, если изменено значение поля Норма амортизации, %, годовая.
- Норма амортизации, %, годовая — поле заполняется вручную. Перерасчитывается, если изменено значение поля Срок начисления амортизации (в месяцах).
- Счет амортизации — значение поля можно выбрать из рабочего плана счетов. По умолчанию устанавливается счет амортизации 02.1
- Счет отнесения затрат — значение поля можно выбрать из рабочего плана счетов. По умолчанию устанавливается счет отнесения затрат 44.4.
Ее вид представлен в приложение № 5.
Переменные реквизиты:
Документ — Поступление основных средств, предназначен для учёта поступления основных средств.
На вкладке Документ необходимо заполнить следующие поля:
- Номер документа.
- Дата создания документа.
- Номер и дата входящего документа.
- Номер и дата входящего счета-фактуры.
Документ — начисление амортизации предназначен для начисления амортизации по основным средствам. Для совершения операции необходимо ввести следующие данные:
- Дата. По умолчанию устанавливается последнее число месяца, соответствующего рабочей дате программы. Значение поля доступно для редактирования. При изменении полей За и Год дата становится равной последнему числу указанного месяца.
- №. Номер хозяйственной операции, присваивается автоматически.
- Сумма. Поле заполняется автоматически на основе значений, введенных в таблице.
- Начислить амортизацию по группе основных средств. Значение поля можно выбрать из списка. По умолчанию устанавливается значение ОС.
- За месяц. Месяц начисления амортизации можно выбрать из списка. По умолчанию устанавливается текущий месяц.
- Год. Год начисления амортизации, заполняется вручную. По умолчанию соответствует текущему году.
- Чтобы автоматически заполнить таблицу значениями выбранной группы основных средств, нажмите кнопку Заполнить таблицу. Для добавления строки в таблицу нажмите кнопку
или воспользуйтесь пунктом контекстного меню Добавить. В строке заполните следующие поля:
- Инв. номер. Инвентарный номер основного средства. Заполняется автоматически при выборе поля Наименование.
- Наименование. Значение поля можно выбрать из классификатора ОС.
- Сумма амортизации. Вычисляется автоматически.
- Значение итогового поля Сумма рассчитывается автоматически посредством сложения всех сумм в таблице.
- Комментарий к операции. Поле заполняется автоматически.
- Документ-основание. Можно выбрать документ-основание из журнала документов.
Действия
2.3. Описание выходной информации.
Выходной информацией в моем примере будет Книга покупок. Она предназначена для регистрации и учета полученных счетов-фактур. Эти документы являются основаниями для расчета НДС, подлежащего уплате в бюджет и принятия НДС к вычету у организации.
На вкладке Параметры необходимо заполнить следующие поля:
- Период — период формирования книги покупок. Значение поля можно выбрать из списка.
- Нумерация с. Введите с какой страницы осуществлять нумерацию.
На вкладке Настройка указаны параметры формирования книги покупок.
- План счетов — параметр определяющий, с каким планом счетов используется журнал хозяйственных операций для формирования книги;
- Дебет и Признак — дебетовый счет и аналитический признак счета, по которым заполняется соответствующая графа книги; например, для графы НДС 20% (11б) по умолчанию Дебет=68.3 Признак=НДС20;
- Кредит и Признак — кредитовый счет и аналитический признак счета, по которым заполняется соответствующая графа книги (по умолчанию установлено значение пусто).
Книга покупок заполняется по проводкам из журнала хозяйственных операций.
Если используется только бухгалтерский учет, то проводки по возмещению НДС Д68.3-К19 это и есть записи в книге покупок. Здесь не используется налоговый план счетов, для формирования книги покупок берутся проводки, выполненные в рабочем плане счетов. Причем только проводки, в которых по дебету указан субсчет 68.3 с аналитикой «НДС 20%», «НДС 18%» или «НДС 10%», а по кредиту – любой счет с любой аналитикой. Настройка для граф (11) и (12) книги покупок отсутствует (в рабочем плане счетов соответствующие проводки не предусмотрены). Таким образом, если в организации были покупки с НДС 0% или не облагаемые НДС, то они не будут зарегистрированы в книге покупок.
Если используется налоговый учет, то для регистрации записей в книге покупок берутся соответствующие проводки в налоговом плане счетов. Налоговый учет организуется на налоговом плане счетов, который не предполагает обязательной двойной записи (аналогично забалансовым счетам), и учет может осуществляться без соблюдения баланса. Для формирования книги покупок берутся проводки, в которых по дебету указан субсчет 68.3 (счет 76) налогового плана счетов, а по кредиту – что угодно (ничего). В зависимости от аналитики по дебету в книге покупок заполняется соответствующая графа. Преимущество использования налогового плана счетов состоит в том, что в книге покупок будут зарегистрированы все покупки, в том числе с НДС 0% и без НДС, кроме того, рабочий план счетов не перегружается несвойственной ему аналитикой.
Книга покупок формируется только на основе типовых операций, т.е. проводки, введенные вручную, в книгу покупок не попадут. Для регистрации записей в книге покупок настроены соответствующие типовые операции:
- Зачет (возмещение) НДС
- Зачет (возмещение) НДС (рабочий + налоговый планы счетов) — следует выбирать при использовании налогового учета.
- Возмещение НДС с аванса
- Возмещение НДС с аванса (рабочий + налоговый планы счетов) — следует выбирать при использовании налогового учета.
Для получения отчета необходимо нажать кнопку «Получить».
3. Выбор программного обеспечения
Автоматизация бухгалтерского учета — объективная необходимость. Работа бухгалтера все больше становится творческой, и внедрение компьютерных технологий повышает эффективность, беря на себя, кроме всего прочего, всю рутинную работу.
Однако автоматизация вызывает необходимость построения технологии решения бухгалтерских задач с учетом ряда следующих требований:
- ограничение допуска к первичной и систематизированной информации путем введения паролей (ключей секретности) и недопущения несанкционированного доступа;
- сохранности учетной информации на необходимый срок;
- диалогового (запросного) режима работы пользователей с вычислительными техническими средствами;
- возможности выдачи информации фрагментно, то есть в любом сочетании, удобном для пользователя;
- возможности принудительного ввода данных для оперативного управления и обеспечения при этом автоматического контроля за выполнением управленческих решений.
В настоящее время разработаны десятки программ, позволяющих автоматизировать бухгалтерский учет на предприятиях с помощью персональных компьютеров.
Все программы предлагают стандартный набор инструментов, позволяющих облегчить и автоматизировать работу бухгалтера. Большинство программ универсальны и дают возможность автоматизировать бухгалтерский учет любого вида сложности.
К наиболее популярным программам ведения автоматизированного бухгалтерского учета относятся: 1С: Бухгалтерия, Инфо – Бухгалтер, Турбо – Бухгалтер, Парус, BC: Бухгалтерия 6.3 и т.д.
В данной работе использована программа BC:Бухгалтерия 6.3.
Это программный продукт предназначенный для автоматизации финансово-хозяйственной деятельности предприятия, а именно для ведения бухгалтерского учета (и/или УСН) в малом предприятии.
Основной источник информации в этой программе – журнал хозяйственных операций. Данные вводятся в журнал в виде первичных документов (накладные, счета – фактуры, приходные и расходные кассовые ордера и т.д.), проводок или типовых операций, перечень которых можно изменить и дополнить. Обрабатывая этот журнал, программа делает разноску операций по счетам, определяет обороты и сальдо, составляет оборотню ведомость, готовит итоговый баланс и другие отчеты.
Программа позволяет вести различные виды учета: синтетический и аналитический, проводить расчет заработной платы и действующих налогов.
В этот программный продукт входит стандартный набор бланков первичных документов и отчетности, а также других документов, соответствующих текущему законодательству.
В программе имеется возможность оперативно корректировать план счетов, ставки налогов, добавлять новые отчетные формы в соответствии с любыми изменениями в законодательстве.
Я выбрала эту программу для реализации своей задачи, потому что она наиболее проста в обращении, по сравнению с такой программой как 1С: Бухгалтерия.
Я не работаю бухгалтером, поэтому это программа мне показалась более наглядной и понятной для реализации данного курсового проекта.
4. Разработка технологии решения задачи
После запуска программы на экране появляется её окно, содержащее меню Рисунок 1
Рис.1. Главная форма программы
При выборе пункта меню «Документы», на экране появляется подменю, которые представлены на рисунке 2.
Рис.2. Подменю меню «Бухгалтерия»
Выбрав подпункт «Аналитические признаки» появляется окно ввода информации о поступившем ОС. Рисунок 3. В нем необходимо заполнить все поля. А затем необходимо нажать на кнопку «Сохранить».
Рис.3. Окно добавления ОС
После того как введены необходимые ОС — это выглядит следующим образом Рисунок 4., он представляет собой справочник постоянной информации.
Рис.4. Раздел аналитических признаков «ОС»
Теперь перейдем непосредственно к выполнению поставленной задачи. Необходимо оприходовать ОС. Для этого необходимо выбрать пункт меню «Документы» подменю «Поступление основных средств». После этого появится окно ввода информации поступления ОС Рисунок 5.
Рис.5. Поступление ОС
После того как все поля данной формы будут заполнены, ее надо сохранить. Затем нажать на вкладку «Проведение», после чего откроется окно Рисунок 6., где автоматически пройдет проведение ОС. Затем необходимо все закрыть по крестам.
Рис.6. Проведение ОС
Затем необходимо ввести ОС в эксплуатацию Рисунок 7.
Рис.7. Введение в эксплуатацию ОС
После того как основные средства введены в эксплуатацию, необходимо определить норму амортизации. Для этого необходимо выбрать пункт меню «Бухгалтерия» подменю «типовая операция», а затем выбрать пункт «начисление амортизации».После чего появится форма, которую необходимо заполнить Рисунок 8
Рис.8. Начисление амортизации по ОС
На выходе я буду получать книгу покупок, для этого необходимо заполнить полученную счет-фактуру. Для этого необходимо выбрать пункт меню «Документы» подменю «Полученный счет-фактура». Заполненная форма будет иметь следующий вид рисунок 9.
Рис.9. Полученный счет-фактура по ОС
Все проделанные операции можно посмотреть, выбрав пункт меню «Бухгалтерия» подменю «Журнал хозяйственных операций». Установить необходимые параметры отбора , в данном примере «с 02.02.2007 по 31.12.2007» Рисунок 10.
Рис.10. Журнал хозяйственных операций
Мы можем ввести записи в книгу покупок сами, для этого необходимо выбрать пункт меню «Действия» подменю «Новая запись в книге покупок» Рисунок 11.
Рис.11 Запись книги покупок
Для того, чтобы просмотреть необходимы записи в книге покупок необходимо выбрать пункт меню «Бухгалтерия» подменю «Книга покупок». В открывшемся окне в строке «Продавец» необходимо выбрать продавца, в моем примере ООО «Сидоров и К», можно поставить параметры выборки, а можно поставить «без ограничения» тогда отобразятся все записи в книге продаж за разные года. Рисунок 12.
Рис.12. Журнал книга покупок
Для того чтобы получить отчет по книге покупок необходимо выбрать пункт меню «Отчеты» подменю «Книга покупок – Книга покупок 2006» после чего на экране отобразится Книга покупок Рисунок 13.
Рис.13 Книга покупок
Заключение
В ходе выполнения курсовой работы была изучена и проработана тема по организации автоматизированного учета основных средств.
В результате работы при помощи компьютерной техники и программного обеспечения «Бухгалтерия версия 6.3» была автоматически сформирована книга покупок. Формирование происходит за считанные секунды, по сравнению с ручным составлением. Таким образом, сокращается время между вводом входной информации и выводом выходной информации.
Выполнение курсовой работы помогло мне приобрести теоретические и практические навыки работы с программой Бухгалтерия версия 6.3.
Список использованных источников
- Кондраков Н.П. Самоучитель по бухгалтерскому учету.- 3-е изд., перераб. и доп.- М.:ИНФРА – М, 2002. – 504с
- Пизенгольц М.З. Бухгалтерский учет в сельском хозяйстве. Т.1. Ч.1. Бухгалтерский финансовый учет: Учебник – 4-е изд., перераб. и доп. – М.: Финансы и статистика, 2002.- 480с
- Бухгалтерский учет в сельскохозяйственных организациях: Учебник для нач. проф. образования/ Р.Н. Расторгуева, А.В. Казакова, А.И. Павлычев и др.; Под ред. Р.Н. Расторгуева.- 2-е изд., стер.- М.: Издательский центр «Академия», 2003. – 416с
- Программа Бухгалтерия версия 6.3. Автоматизация бухгалтерского учета малых предприятий.
Приложение
Содержание
Введение 3
1 Основные возможности и характеристики языка TURBO PASCAL 4
1.1 Типы данных языка 4
1.2 Структура программы 5
1.3 Массивы, процедуры и функции 6
1.4 Записи файлы 7
2 Проектная часть 10
2.1 Постановка задачи 10
2.2 Входная и выходная информация 10
2.3 Алгоритм решения задачи 10
2.4 Контрольный пример 16
Заключение 19
Введение
Паскаль хороший язык программирования, который относительно прост в изучении, довольно ясен и логичен. Паскаль воспитывает дисциплину структурного программирования и программирования вообще.
Пакет Turbo Pascal 7.0 обладает ограниченными возможностями и позволяет работать только в обычном режиме MS DOS. Начинающему программисту, по-видимому, целесообразно начать изучение языка и среды именно с этого пакета.
Язык характеризуется расширенными возможностями по сравнению со стандартом, хорошо развитой библиотекой модулей, позволяющих использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод-вывод, формировать графическое изображение и т.д.
В данной работе будут описаны основные возможности языка, работа в интегрированной среде, набор стандартных модулей.
Паскаль – гибкий и развитый в отношении типов данных язык. Привлекательны его рекурсивные возможности, а также поддержка технологии объектно-ориентрованного программирования.
Данная курсовая называется «Учет основных средсв» и состоит из двух к частей:
1. Основные возможности и характеристики языка TURBO PASCAL
2. Проектная часть, в которой непосредственно представлена сама программа.
В первой части описываются основные составляющие языка TURBO PASCAL: типы данных, массивы, процедуры, функции, записи и файлы. Приводятся примеры применения всех этих типов.
Во второй, проектной части представлена сама программа: раскрывается постановка задачи, описывается входная (необходимая для внесения данных в программу с указанием структуры и значимости всех полей, периодичность её поступления, источники информации и ее объем) и выходная (перечисляются конечные и промежуточные результаты вычислений, описывается выходная форма с указанием перечня и значимости информации, входящих в неё реквизитов и периодичность её формирования) Контрольный пример составлен с целью проверки правильности алгоритма и программы. Алгоритм решения задачи представляется последовательностью действий над исходными данными. Каждый шаг описывается словесно или в виде формулы.
Данная тема является актуальной, поскольку сейчас с недостатком времени возникает необходимость в автоматизации работы не только крупных предприятий, но и небольших рабочих мест, с целью экономии времени и денег.
Для более наглядного представления курсовой работы некоторые данные и примеры приведены в виде рисунков, схем и таблиц.
1. Основные возможности и характеристики языка TURBO PASCAL
1.1 Типы данных языка
Основные символы языка-буквы, цифры и специальные символы составляют его алфавит. ТУРБО ПАСКАЛЬ включает следующий набор основных символов:
1) 26 латинских строчных и 26 латинских прописных букв:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
2) _ подчеркивание
3) 10 цифр:
0 1 2 3 4 5 6 7 8 9
4) знаки операций:
+ — * / = < > = := @
5) ограничители:
. , ‘ ( ) [ ] (. .) { } (* *) .. : ;
6) спецификаторы:
^ # $
7) служебные (зарезервированные) слова:
Кроме перечисленных, в набор основных символов входит пробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.
Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня. В языке ПАСКАЛЬ существуют скалярные и структурированные типы данных.
К скалярным типам относятся стандартные типы и типы, определяемые пользователем.
Стандартные типы включают целые, действительные, символьный, логические и адресный типы. Типы, определяемые пользователем, — перечисляемый и интервальный.
Структурированные типы имеют четыре разновидности: массивы, множества, записи и файлы.
Кроме перечисленных, TURBO PASCAL включает еще два типа — процедурный и объектный.
Логический тип определен таким образом, что FALSE < TRUE. Это позволяет применять к булевским операндам все операции отношения.
1.2 Структура программы
Программа на языке ПАСКАЛЬ состоит из заголовка, разделов описаний и раздела операторов.
Заголовок программы содержит имя программы, например:
Program PRIM;
Описания могут включать в себя раздел подключаемых библиотек (модулей), раздел описания меток, раздел описания констант, раздел описания типов, раздел описания переменных, раздел описания процедур и функций.
Любой оператор в программе может быть помечен меткой. В качестве метки используются произвольные целые без знака, содержащие не более четырех цифр, либо имена. Метка ставится перед оператором и отделяется от него двоеточием.
Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описаний констант:
В разделе описания переменных необходимо определить тип всех переменных, используемых в программе:
var P,Q,R: Integer;
A,B: Char;
F1,F2: Boolean;
Раздел операторов представляет собой составной оператор, который содержит между служебными словами
begin…….end
последовательность операторов. Операторы отделяются друг от друга символом ;.
Текст программы заканчивается символом точка.
Кроме описаний и операторов ПАСКАЛЬ — программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев }.
В языке ПАСКАЛЬ количество базовых конструкций увеличено до шести, это:
-следование;
-ветвление;
-цикл с предусловием;
-цикл с постусловием;
-цикл с параметром;
-вариант.
Перечисляемый тип представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. Значение каждой константы задается ее именем. Имена отдельных констант отделяются друг от друга запятыми, а вся совокупность констант, составляющих данный перечисляемый тип, заключается в круглые скобки.
1.3 Массивы, процедуры и функции
Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. Тип компонент называется базовым типом.
Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле. Первый индекс определяет номер строки, второй — номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам.
Первый способ — с использованием типизированных констант, например:
type Dim10= Array[1..10] of Real;
const
raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );
При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записывается в скобках:
type Dim3x2= Array[1..3,1..2] of Integer;
Символьная строка может быть либо строковой константой, либо строковой переменной. Строковая константа, или строка, представляет собой совокупность символов, заключенную в апострофы. Строка — это элементарная конструкция языка ПАСКАЛЬ. Строковые константы могут входить в состав выражений. Как и числовые константы, они могут быть описаны в разделе описания констант.
Строковые переменные — это одномерные упакованные массивы символов, для описания которых в TURBO PASCAL введен тип String.
Например, если строка содержит до 30 символов, ее тип будет определен как
type s= String[30];
Алгоритм решения задачи проектируется путем декомпозиции всей задачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.
Подпрограмма — это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы. Каждая подпрограмма определяется уникальным именем. В языке ПАСКАЛЬ существуют два типа подпрограмм — процедуры и функции.
Процедура и функция — это именованная последовательность описаний и операторовПроцедура может содержать такие — же разделы описаний, что и ПАСКАЛЬ — программа, а именно: разделы описания модулей, меток, констант, типов, переменных, процедур и функций.
Во многих задачах, особенно в задачах вычислительной математики, необходимо передавать имена процедур и функций в качестве параметров. Для этого в TURBO PASCAL введен новый тип данных — процедурный или функциональный, в зависимости от того, что описывается.
Описание процедурных и функциональных типов производится в разделе описания типов:
type
FuncType = Function(z: Real): Real;
ProcType = Procedure (a,b: Real; var x,y: Real);
Для завершения работы программ, процедур и функций без предварительного перехода по меткам к закрывающему end в TURBO PASCAL введены процедуры Exit и Halt.
1.4 Записи файлы
Представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.
Описание записи в языке ПАСКАЛЬ осуществляется с помощью служебного слова RECORD, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом END.
Ф А Й Л Ы
Введение файлового типа в язык ПАСКАЛЬ вызвано необходимостью обеспечить возможность работы с периферийными (внешними) устройствами ЭВМ, предназначенными для ввода, вывода и хранения данных.
Файловый тип данных или файл определяет упорядоченную совокупность произвольного числа однотипных компонент.
Общее свойство массива, множества и записи заключается в том, что количество их компонент определено на этапе написания программы, тогда как количество компонент файла в тексте программы не определяется и может быть произвольным.
Понятие файла достаточно широко. Это может быть обычный файл на диске, коммуникационный порт ЭВМ, устройство печати, клавиатура или другие устройства.
При работе с файлами выполняются операции ввода — вывода. Операция ввода означает перепись данных с внешнего устройства (из входного файла) в основную память ЭВМ, операция вывода — это пересылка данных из основной памяти на внешнее устройство (в выходной файл).
Файлы на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Паскаль имена файлов задаются с помощью строк. Например, имя файла на диске может иметь вид:
‘A:LAB1.DAT’
‘c:ABC150pr.pas’
‘lab3.pas’.
С файловой системой TURBO PASCAL связано понятие буфера ввода вывода. Ввод и вывод данных осуществляется через буфер. Буфер — это область в памяти, которая выделяется для каждого файла. При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор, пока весь объем буфера не будет заполнен. Только после этого или после специальной команды сброса происходит передача данных на внешнее устройство. При чтении из файла данные вначале считываются в буфер, причем данных считывается не столько, сколько запрашивается, а сколько поместится в буфер.
Механизм буферизации позволяет более быстро и эффективно обмениваться информацией с внешними устройствами.
Для работы с файлами в программе необходимо определить файловую переменную. TURBO PASCAL поддерживает три файловых типа: текстовые файлы, компонентные файлы, бестиповые файлы.
признаком конца строки.
Особое место в языке ПАСКАЛЬ занимают текстовые файлы, компоненты которых имеют символьный тип. Для описания текстовых файлов в языке определен стандартный тип Тext:
var TF1, TF2: Text;
Текстовые файлы представляют собой последовательность строк, а строки — последовательность символов. Строки имеют переменную длину, каждая строка завершается
Рассмотренные ранее средства работы с файлами обеспечивают последовательный доступ.
TURBO PASCAL позволяет применять к компонентным и бестиповым файлам, записанным на диск, способ прямого доступа. Прямой доступ означает возможность заранее определить в файле блок, к которому будет применена операция ввода — вывода. В случае бестиповых файлов блок равен размеру буфера, для компонентных файлов блок — это одна компонента файла.
Прямой доступ предполагает, что файл представляет собой линейную последовательность блоков. Если файл содержит n блоков, то они нумеруются от 1 через 1 до n. Кроме того, вводится понятие условной границы между блоками, при этом условная граница с номером 0 расположена перед блоком с номером 1, граница с номером 1 расположена перед блоком с номером 2 и, наконец, условная граница с номером n находится после блока с номером n.
Реализация прямого доступа осуществляется с помощью функций и процедур FileSize, FilePos, Seek и Truncate.
Функция FileSize( var f ): Longint возвращает количество блоков в открытом файле f.
Функция FilePos( var f ): Longint возвращает текущую позицию в файле f. Позиция в файле — это номер условной границы. Для только что открытого файла текущей позицией будет граница с номером 0. Это значит, что можно записать или прочесть блок с номером 1. После чтения или записи первого блока текущая позиция переместится на границу с номером 1, и можно будет обращаться к ьлоку с номером 2. После прочтения последней записи значение FilePos равно значению FileSize.
Процедура Seek( var f; N: Longint) обеспечивает назначение текущей позиции в файле (позиционирование). В параметре N должен быть задан номер условной границы, предшествующей блоку, к которому будет производиться последующее обращение. Например, чтобы работать с блоком 4, необходимо задать значение N, равное 3. Процедура Seek работает с открытыми файлами.
Процедура Truncate( var f ) устанавливает в текущей позиции признак конца файла и удаляет (стирает) все последующие блоки.
Работа с адресными переменными (указателями) будет рассмотрена позже, сейчас отметим, что для получения значения адреса какой-либо переменной введена унарная операция……
Мақала ұнаса, бөлісіңіз:
|
|
|
|
|
|
|