Программирование комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»
Стр 1 из 2Следующая ⇒ ИНФОРМАЦИОННЫЕ СИСТЕМЫ В ЭКОНОМИКЕ
Методические указания к лабораторным работам
Специальность 080105-Финансы и банковское дело
Санк-Петербург
Допущено редакционно-издательским советом СПбГИЭУ в качестве методического издания
Составитель доцент, канд. физ-мат. наук С.Е. Пономарев
Рецензент доктор. технических наук, проф. каф. ВСиП Горохов В.Л.
Подготовлено на кафедре Информационных систем в экономике
Одобрено научно-методическим советом факультета информационных систем в экономике и управлении
Отпечатано в авторской редакции с оригинал-макета, подготовленного составителем
Ó СПбГИЭУ, 2008
ЛАБОРАТОРНАЯ РАБОТА № 1
ТЕМА РАБОТЫ: ТИПОВЫЕ АЛГОРИТМЫ И ПРОГРАММЫ СИСТЕМ БУХГАЛТЕРСКОГО УЧЕТА
Теоретическая часть
Цель работы Цель работы- изучение типовых алгоритмов и программ систем бухгалтерского учета на примере решения комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»
Постановка задачи
1.Вычисления в экономических информационных системах По государственному стандарту на автоматизированные системы управления вычисления в экономических информационных системах выполняются в ячейках электронных таблиц с помощью функций Excel или встроенных функций пользователя. Вычисления в программах запрещаются. Программы манипулируют информационными объектами и заполняют документы справочными данными и полученными значениями. Это требование обеспечивает адаптивность систем к изменению метода расчета технико-экономического показателя и их независимость от программистов.
В системах используются следующие функции: ü ВПР (для нахождения справочной информации, когда задано одно поле справочной записи) ü ЕСЛИ (для задания различных формул в зависимости от комбинаций исходных данных) ü СУММПРОИЗВ (для расчета стоимости закупки, выручки от реализации товарной номенклатуры) ü СУММЕСЛИ (для накопления и распределения денежных средств по заданным элементам, например, счетам аналитического учета, дебиторам / кредиторам) 2.Программы экономических информационных систем В системах используются следующие программы: ü Множественный подбор (используется для заполнения расчетной таблицы данными, выбираемыми в справочнике) ü Заполнение документа (программа определяет номер первой пустой строки расчетной таблицы и заполняет таблицу, начиная с пустой строки, заданными или вычисляемыми значениями) ü Распределение/накопление денежных средств по заданным элементам ü Поиск строки по дате (программа находит дни даты и по ним вычисляет номер заполняемой строки. Применяется для заполнения индивидуальных карт, журналов-ордеров) ü Поиск образца в приемнике информации (программа определяет номер строки и номер колонки, в которых находится образец, и заполняет ячейку рядом с образцом)
3..Методика решения комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1» Комплекс состоит из трех задач: 1. Заполнение кассовой книги. 2. Формирование оборотно-сальдовой ведомости счетов кассовой книги 3. Заполнение Журнала- ордера № 1. Кассовую книгу заполняют по электронным и рукописным приходно-расходным ордерам. Основную массу входных документов составляют бумажные приходно-расходные ордеры. Для заполнения кассовой книги используется справочник «Основания платежа», из которого производится выборка видов платежа и его вставка в кассовую книгу.
В оборотно-сальдовой ведомости вычисляются приходы (расходы) по всем счетам кассовой книги. Оборотно-сальдовая ведомость- промежуточный документ. Она нужна для заполнения Журнала- ордера № 1. В Журнале- ордере № 1 заполняется только одна строка, определяемая датой, заданной в кассовой книге. В этой строке записываются приходы/расходы денежных средств, полученные в оборотно-сальдовой ведомости.
4. Технология решения комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1» Для заполнения кассовой книги пользователь открывает справочник «Основания платежа», выбирает основания, записанные в приходно-расходных ордерах, и в служебной колонке справочника вводит количество приходно-расходных ордеров, содержащих выбранное основание платежа. Специальная программа записывает в кассовой книге выбранные основания платежа столько раз, сколько задал пользователь. Номер корреспондирующего счета определяется по формуле, которая находит по основанию платежа значение корреспондирующего счета в зависимости от того, что вводит пользователь:- приход или расход. Оборотно-сальдовая ведомость вычисляется по программе распределения/накопления денежных средств по заданным элементам. Журнал- ордер № 1 заполняется с помощью программ поиска строки по дате и поиска образца в приемнике информации.
Порядок выполнения работы
Комплекс задач решается в Excel. Информационные объекты комплекса задач- электронные таблицы и макропрограммы. Вначале нужно создать макеты электронных таблиц «Справочник оснований платежа», «Кассовая книга», «Ведомость», «Жур№ 1». Таблица «Справочник оснований платежа» содержит следующие графы: Основания платежа, Номер корреспондирующего счета прихода, Номер корреспондирующего счета расхода, Служебная. В графу Основания платежа нужно ввести следующие наименования: - За наличный расчет согласно накладной - Под отчет - На хозяйственные нужды - Депонированная зарплата - Аванс на командировачные расходы - Возмещение аванса на командировачные расходы
- За междугородние переговоры В две следующие графы вводятся номера корреспондирующих счетов. В служебную колонку пользователь записывает информацию о приходно-расходных ордерах. В таблице «Кассовая книга» реквизитная часть содержит два показателя: Дата, Остаток на начало дня. Табличная часть документа состоит из следующих граф: Номер приходно-расходного ордера, Основание платежа, Номер корреспондирующего счета, Приход, Расход. Графа Основание платежа заполняется по специальной программе. В колонку Номер корреспондирующего счета нужно ввести формулу, которая по основанию платежа находит номер счета прихода или номер счета расхода в зависимости от того, что ввел пользователь:- приход или расход. В итоговой строке таблице содержится формула, вычисляющая остаток на конец дня. Таблица «Ведомость» состоит из трех колонок: Номер счета, Приход, Расход. Заполняется таблица по специальной программе. Таблица «Жур№ 1» состоит из приходной и расходной частей. В реквизите таблицы записывают наименование расчетного месяца и сальдо на начало расчетного месяца. В табличной части документа в первой строке перечислены номера счетов, которые проходят по оборотным ведомостям, в первой колонке перечислены по порядку дни месяца. Структура приходной и расходной частей одинаковы. Различаются только номера счетов. Заполняется Журнал-ордер № 1 по программе. После создания макетов документов нужно разработать и отладить программы заполнения кассовой книги по справочнику оснований платежа, формирования оборотно-сальдовой ведомости и заполнения Журнала-ордера №1. Рекомендации по программированию даны разделе «Программирование комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»»
Программирование комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»
Функции программы заполнения кассовой книги по справочнику оснований платежа Вначале выполняется сортировка справочника по служебной колонке и вычисляется номер первой пустой строки таблицы «Кассовая книга». После сортировки все записи, заполненные пользователем, оказываются в начале таблицы. Затем в цикле до первой пустой ячейки служебной колонки последовательно определяется значение служебной колонки и в кассовой книге записывается текущее значение основания платежа столько раз, сколько задал пользователь.
Текст программы заполнения кассовой книги по справочнику оснований платежа n-номер текущей строки в таблице «Справочник оснований платежа», k- номер текущей строки в таблице «Кассовая книга», c- значение текущей ячейки служебной колонки, i- параметр цикла
n=3: k=5: while worksheets(«Кассовая книга»).cells(k,2)<>”” k=k+1: wend while worksheets(«Справочник оснований платежа»).cells(n,4)<>”” c= worksheets(«Справочник оснований платежа»).cells(n,4) for i=0 to c worksheets(«Кассовая книга»).cells(k+i,2)= worksheets(«Справочник оснований платежа»).cells(n,1): next k=k+c: n=n+1: wend
Функции программы формирования оборотно-сальдовой ведомости Вначале выполняется сортировка кассовой книги по колонке Номер корреспондирующего счета. После сортировки одинаковые номера счетов следуют друг за другом. Поэтому легко найти с помощью «цикла пока» сумму прихода и расхода по группе одинаковых счетов. Затем вычисляется сумма прихода и расхода по группе одинаковых счетов. Полученные значения записываются в таблицу «Ведомость» и таким образом получается распределение приходов/расходов по счетам кассовой книги.
Текст программы формирования оборотно-сальдовой ведомости n- номер текущей строки таблицы «Кассовая книга», k- номер текущей строки таблицы «Ведомость». sp-сумма прихода на текущем счете. sr- сумма расхода на текущем счете. k=3: n=5: while worksheets(«Кассовая книга»).cells(n,3)<>”” sp= worksheets(«Кассовая книга»).cells(n,4) sr= worksheets(«Кассовая книга»).cells(n,5) while worksheets(«Кассовая книга»).cells(n,3)= worksheets(«Кассовая книга»).cells(n+1,3) sp=sp+ worksheets(«Кассовая книга»).cells(n+1,4) sr=sr+ worksheets(«Кассовая книга»).cells(n+1,5) n=n+1: wend worksheets(«Ведомость»).cells(k,1)=worksheets(«Кассовая книга»).cells(n,3) worksheets(«Ведомость»).cells(k,2)=sp worksheets(«Ведомость»).cells(k,3)=sr k=k+1: n=n+1:wend
Функции программы заполнения Журнала-ордера №1 Рассматриваем процесс заполнения приходной таблицы Журнала-ордера №1. Расходная таблица заполняется аналогично. Вначале определяется значение ячейки кассовой книги, в которой записывается дата заполнения кассовой книги, затем вычисляется номер заполняемой строки Журнала-ордера №1, равный значению дня даты плюс количество строк реквизитной части. В цикле определяются значения таблицы «Ведомость», по процедуре поиска образца в приемнике информации находится номер колонки, содержащей номер корреспондирующего счета, и в полученную ячейку записывается приход на счете.
Текст программы заполнения Журнала-ордера №1 n- номер текущей строки таблицы «Ведомость» k- номер текущего столбца таблицы «Жур№ 1» c- значение первой колонки текущей строки таблицы «Ведомость» sp- значение второй колонки текущей строки таблицы «Ведомость» d- номер заполняемой строки таблицы «Жур.№ 1». d=val(mid(worksheets(«Кассовая книга»).cells(2,2),1,2)))+4 n=3 while worksheets(«Ведомость»).cells(n,1)<>”” c= worksheets(«Ведомость»).cells(n,1) sp=worksheets(«Ведомость»).cells(n,2) k=2: while worksheets(«Жур.№1»).cells(3,k)<>c and worksheets(«Жур.№ 1»).cells(3,k)<>”” k=k+1: wend worksheets(«Жур.№1»).cells(3,k)=c worksheets(«Жур.№1»).cells(d,k)=sp n=n+1: wend
ЛАБОРАТОРНАЯ РАБОТА № 2
ТЕМА РАБОТЫ: РАЗРАБОТКА СИСТЕМЫ УПРАВЛЕНИЯ ЗАКУПКАМИ
Теоретическая часть
Цель работы Цель работы- создание системы управления закупками для сети магазинов, оптовых баз, центров рыночной торговли.
Постановка задачи
Система находит по Интернет прайс-листы производителей, использует их в расчетных таблицах, формирует и оптимизирует заказы, рассылает заказы по торговым отелам. Для выхода на прайс-листы производителей используется справочник с гиперссылками на Интернет-адреса прайс-листов. Заказы получаются в процессе редактирования расчетных таблиц с описанием продукции и отпускными ценами. В расчетной таблице вычисляется цена с учетом оборачиваемости товарной номенклатуры, стоимость закупки, выручка от реализации товарной номенклатуры и рентабельность торговой операции Оптимизируют заказы, изменяя закупаемое количество. Цель оптимизации - получить наибольшую рентабельность в процессе реализации закупки. Для рассылки заказов по торговым отделам находят по справочнику адрес отдела в локальной сети и записывают заказ по найденному адресу. Цель работы- автоматизировать вышеуказанные процедуры.
Порядок выполнения работы
1. Создать справочник производителей, состоящий из двух граф: «Наименование», «Интернет- адрес прайс-листа» (рис.1). Рис.1 Заполнить графу «Наименование». Найти прайс-листы предприятий из графы «Наименование». Для этого лучше всего пользоваться системой mail.ru и каталогом ПРОИЗВОДСТВО. Лучше всего, также, выбирать предприятия пищевой промышленности, поскольку их прайс-листы имеют одинаковую структуру. В графу «Интернет- адрес прайс-листа» вставить гиперссылки с найденными адресами. Проверить их работу. 2. Сделать форму расчетной таблицы, имеющей реквизиты такие же, как на рис.2. Рис.2
Термин «Оборачиваемость» означает число циклов «купля- продажа- купля на выручку от реализации», происходящих с товарной номенклатурой в течение месяца. В графу «Цена с учетом оборачиваемости» ввести формулы расчета данной цены, равной произведению розничной цены и отношения розничной цены к отпускной цене в степени «Оборачиваемость». В ячейки B2, B3 ввести название торгового отдела и транспортные расходы. В ячейку D2 ввести формулу для расчета стоимости закупки, равной сумме произведений отпускной цены на закупаемое количество. В ячейку D3 ввести формулу для расчета выручки от реализации, равной сумме произведений розничной цены с учетом оборачиваемости на закупаемое количество. (В этих формулах используется функция СУММПРОИЗВ). В ячейку E3 ввести формулу рентабельности торговой операции, равной отношению выручки от реализации к сумме стоимости закупки и транспортных расходов. 3. Выйти по гиперссылке на сайт производителя, выделить несколько записей и скопировать в буфер обмена. Вставить корректно эти записи в расчетную таблицу не удается, потому что в отпускных ценах копейки отделяются от рублей точкой, а не запятой. Чтобы заменить разделитель, нужно 4. Вставить информацию из буфера обмена в текстовый документ и с помощью команды «Заменить» меню «Правка» заменить все точки на запятые. 5. Скопировать полученный текст в расчетную таблицу. Выделить все записи и в меню «Формат». «Ячейка» снять флаг «Объединение ячеек». 6. Записать макрос для автоматического ввода прайс-листа с сайта производителя в расчетную таблицу. Для этого перейти к справочнику производителей, установить курсор на гиперссылку, включить команду «Начать запись» в меню «Сервис». «Макросы», выполнить пункты 3-5 и команду «Остановить макрос» в меню «Сервис». «Макросы». Проверить работу макроса. 7. Заполнить графы «Розничная цена», «Оборачиваемость», «Наименьшее количество», «Наибольшее количество», «Закупаемое количество». Оптимизировать рентабельность торговой операции, заменяя поочередно закупаемое количество наименьшим количеством или наибольшим количеством. При этом, если от ввода наименьшего количества рентабельность уменьшается, нужно ввести наибольшее количество. Данный способ позволяет получить оптимальную рентабельность, так как рентабельность- монотонная функция, зависящая от закупаемого количества, и поэтому наибольшее значение принимает в концах промежутка изменения аргумента. 8. Создать программу расчета оптимальной закупки. Программа выполняет следующие операции: - сохраняет текущее значение рентабельности в ячейке для переменной текрент, - присваивает полю «Закупаемое количество» значение поля «Наименьшее количество», - если новое значение рентабельности меньше, чем значение переменной текрент, то присваивает полю «Закупаемое количество» значение поля «Наибольшее количество», - переходит к следующей строке расчетной таблицы, если она не пустая. Рекомендации по программированию даны в разделе «Программирование системы управления закупками. 9. Сделать справочник торговых отделов (рис.3), заполнить справочник. Рис.3 Сделать форму для журнала регистрации рассылки (рис.4)
Рис.4 10. Создать программу рассылки заказов по торговым отделам. Программа выполняет следующие операции: - определяет наименование отдела, заданное в расчетной таблице, - находит полученное значение наименования отдела в справочнике торговых отделов и определяет адрес получателя в локальной сети, - записывает файл расчетной таблицы по найденному адресу, - регистрирует доставку файла, т.е. заполняет первую пустую строку журнала регистрации рассылки. Рекомендации по программированию даны разделе «Программирование системы управления закупками». 11. Отладить программы.
Программирование системы управления закупками Функции программы расчета оптимальной закупки и их реализация В программе используются следующие переменные: номертекстр - номер текущей строки расчетной таблицы, текрент - значение ячейки E3. Переменной номертекстр присваивают начальное значение, например, номертекстр =5. Затем в цикле переменной текрент присваивают значение ячейки E3, ячейке из графы «Закупаемое количество» присваивают значение ячейки из графы «Наименьшее количество». Если значение ячейки E3 меньше текрент, то ячейке из графы «Закупаемое количество» присваивают значение ячейки из графы «Наибольшее количество». Переменную номертекстр увеличивают на единицу. Цикл выполняется, пока текущая строка не равна пустой строке. Для реализации функций программы используются оператор цикла, условный оператор и обращение к ячейкам электронной таблицы.
Функции программы рассылки заказов по торговым отделам и их реализация В программе используются следующие переменные: наименование - значение ячейки B2 расчетной таблицы (ячейка с наименованием отдела) номертекстрспто - номер текущей строки справочника торговых отделов, адреспол - адрес получателя в локальной сети, номертекстржурег - номер текущей строки журнала регистрации, рассылки. Переменной наименование присваивают значение ячейки B2. Переменным номертекстрспто, номертекстржурег присваивают начальные значения. Затем находят в справочнике торговых отделов номер строки, содержащей образец наименование. Для этого в цикле увеличивают переменную номертекстрспто на единицу, пока текущая строка отличается от переменной наименование. Далее определяют адрес получателя в локальной сети и записывают заказ по найденному адресу. Затем находят в журнале регистрации номер первой пустой строки. Для этого в цикле увеличивают номертекстржурег на единицу, пока текущая строка журнала регистрации не равна пустой. В найденную пустую строку записывают дату, время, получателя, Для реализации данных функций применяются оператор цикла, оператор записи объектного файла по заданному адресу и обращения к ячейкам электронной таблицы.
Тексты программ Текст программы расчета оптимальной закупки Пояснения и обозначения Для определенности считаем, что расчетная таблица имеет имя «Расчет», значение рентабельности торговой операции записано в ячейке E3, значение «Наименьшее значение» записано в графе 6, значение «Наибольшее значение» записано в графе 7, значение «Закупаемое значение» записано в графе 8. Реквизиты таблицы «Расчет» занимают строки с первой по пятую, записи начинаются с шестой строки и пустые строки чередуются с заполненными, т.е. после заполненной строки следует пустая и т.д. Обозначим номер текущей строки в таблице «Расчет» номертекстр, текущее значение рентабельности торговой операции обозначим текрент.
Текст программы ‘Задаем начальные значения номертекстр = 6 While Worksheets("Расчет").Cells(номертекстр, 1) <> "" ‘Сохраняем текущую рентабельность текрент= Worksheets("Расчет").Cells(3, 5) ‘Пересчитываем закупаемое количество Worksheets("Расчет").Cells(номертекстр,8)= Worksheets("Расчет").Cells(номертекстр, 6) If текрент >= Worksheets("Расчет").Cells(3, 5) Then Worksheets("Расчет").Cells(номертекстр,8)= Worksheets("Расчет").Cells(номертекстр,7) End If номертекстр = номертекстр + 1 Wend
Текст программы рассылки заказов по торговым отделам Пояснения и обозначения Для определенности считаем, что расчетная таблица имеет имя «Расчет», справочник отделов имеет имя «Справочник», журнал регистрации рассылки имеет имя «Журнал», наименование торгового отдела записано в ячейке B2 Реквизиты таблицы «Справочник» занимают строки с первой по вторую, записи начинаются с третьей строки, реквизиты таблицы «Журнал» занимают строки с первой по вторую, записи начинаются с третьей строки. Обозначим номер текущей строки в таблице «Справочник» номертекстрспто, номер текущей строки в таблице «Журнал» - номертекстржурег, значение ячейки B2 расчетной таблицы (ячейки с наименованием отдела) – наименование, адрес получателя в локальной сети – адреспол, номер первой пустой строки в таблице «Журнал» - номерпуст. Текст программы ‘Задаем начальные значения номертекстрспто =3 номерпуст = 3 наименование = Worksheets("Расчет").Cells(2, 2) ‘Находим в таблице «Справочник» строку, содержащую переменную наименование, точнее, находим номер данной строки While Worksheets("Справочник").Cells(номертекстрспто,1)<>"" and наименование <> Worksheets("Справочник").Cells(номертекстрспто, 1) номертекстрспто = номертекстрспто +1 Wend ‘Вычисляем адрес получателя в локальной сети адреспол= Worksheets("Справочник").Cells (номертекстрспто, 2) ‘Записываем расчетную таблицу по найденному адресу. Действуем следующим образом: в меню «Сервис». «Макросы» выбираем команду «Начать запись» и записываем табличный документ по любому адресу в локальной сети, после чего останавливаем запись. Получаем текст макроса, который копируем в текст программы. В команде FileName после знака: = вставляем адреспол. В результате получаем следующий фрагмент:
ActiveWorkbook.SaveAs Filename:= адреспол,FileFormat:=xlNormal,_ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ‘Находим в таблице «Журнал» номер первой пустой строки While Worksheets("Журнал").Cells(номерпуст, 1) <> "" номерпуст = номерпуст +1 Wend ‘Записываем в найденную строку дату, время, получателя Worksheets("Журнал").Cells(номерпуст, 1) = Date Worksheets("Журнал").Cells(номерпуст, 2) = Time Worksheets("Журнал").Cells(номерпуст, 3) = наименование End Sub
ЛАБОРАТОРНАЯ РАБОТА N 3
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|