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

Методика формирования общих профессиональных компетенций студентов на примере алгоритмизации расчета таможенных платежей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
62
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТАМОЖЕННОЕ ДЕЛО / CUSTOMS AFFAIRS / ТАМОЖЕННАЯ ПОШЛИНА / ТАМОЖЕННЫЕ ПЛАТЕЖИ / CUSTOMS DUTIES / АДВАЛОРНАЯ ПОШЛИНА / AD VALOREM DUTY / СТАВКА ПОШЛИНЫ / RATE OF DUTY / АКЦИЗ / НАЛОГ НА ДОБАВЛЕННУЮ СТОИМОСТЬ / VALUE ADDED TAX / НАЛОГОВАЯ БАЗА / TAX BASE / АЛГОРИТМ / ALGORITHM / ЭЛЕКТРОННАЯ ФОРМА / ELECTRONIC FORM / ПРОГРАММИРОВАНИЕ / PROGRAMMING / CUSTOMS FEE / EXCISE DUTY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сальников Владислав Игоревич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODS OF FORMING GENERAL PROFESSIONAL COMPETENCES OF STUDENTS ON THE EXAMPLE OF ALGORITHMS OF CALCULATION OF CUSTOMS PAYMENTS

The article presents author’s methods of organizing and conducting laboratory classes accumulating know-ledge of customs, and skills of the use of elements of object oriented programming for solution of professional tasks

Текст научной работы на тему «Методика формирования общих профессиональных компетенций студентов на примере алгоритмизации расчета таможенных платежей»

УДК 004.42:378.147

МЕТОДИКА ФОРМИРОВАНИЯ ОБЩИХ ПРОФЕССИОНАЛЬНЫХ КОМПЕТЕНЦИЙ СТУДЕНТОВ НА ПРИМЕРЕ АЛГОРИТМИЗАЦИИ РАСЧЕТА ТАМОЖЕННЫХ ПЛАТЕЖЕЙ

Сальников Владислав Игоревич

Санкт-Петербургский имени В.Б. Бобкова филиал Российской таможенной академии, старший преподаватель кафедры информатики и информационных таможенных технологий, e-mail: [email protected]

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

Ключевые слова: таможенное дело; таможенные платежи; таможенная пошлина; адвалорная пошлина; ставка пошлины; акциз; налог на добавленную стоимость; налоговая база; алгоритм; электронная форма; программирование

METHODS OF FORMING GENERAL PROFESSIONAL COMPETENCES OF STUDENTS ON THE EXAMPLE OF ALGORITHMS OF CALCULATION OF CUSTOMS PAYMENTS

Salnikov Vladislav I.

Russian Customs Academy St. Petersburg Branch named after Vladimir Bobkov, Department of computer science and digital Customs technologies, Senior lecturer, e-mail: [email protected]

The article presents author's methods of organizing and conducting laboratory classes accumulating knowledge of customs, and skills of the use of elements of object-oriented programming for solution of professional tasks

Keywords: customs affairs; customs duties; customs fee; ad valorem duty; rate of duty; excise duty; the value added tax; tax base; algorithm; electronic form; programming

Я О

Е

M

Cd

Ы

n

Ш

hi

м О

О

СП

З

из О

А

Н И Я

Для цитирования: Сальников В.И. Методика формирования общих профессиональных компетенций студентов на примере алгоритмизации расчета таможенных платежей // Ученые записки Санкт-Петербургского имени В.Б. Бобкова филиала Российской таможенной академии. 2016. № 4 (60). С. 109-117.

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

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

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

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

Реализации задачи программирования ЭФ предшествует изучение таких учебных вопросов объектно-ориентированного программирования, как дизайн ЭФ, взаимодействие с элементами управления ЭФ, настройка их свойств, разработка линейных, разветвляющихся, циклических алгоритмов и программных процедур как реакций на наступление событий, отладка и тестирование программных процедур.

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

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

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

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

- 500 руб. для таможенной стоимости до 200 тыс. ру<5.;

- 1000 руб. для таможенной стоимости от 200 до 450 тыс. руб.;

- 2000 руб. для таможенной стоимости от 450 до 1200 тыс. руб.;

- 5500 для таможенной стоимости от 1200 до 2500 тыс. руб.;

- 7500 для таможенной стоимости от 2500 до 5000 тыс. руб.;

- 20000 для таможенной стоимости от 5000 до 10000 тыс. руб.;

- 30000 для таможенной стоимости свыше 10000 тыс. руб.

Рассчитывается ввозная таможенная пошлина. Основа для начисления, величина ставки и сумма (размер) пошлины зависят от вида ставки. Существуют 3 вида ставок таможенных пошлин. Адвалорные пошлины вычисляются в процентах от таможенной стоимости (основа для начисления - таможенная стоимость). Диапазон ставок адвалорных пошлин устанавливается произвольно (ставкой будет являться величина, которая будет выбрана пользователем в раскрывающемся списке). Сумма пошлины определяется как произведение таможенной стоимости на ставку пошлины в процентах, деленное на 100%. Специфические пошлины считаются в евро за налогооблагаемую единицу, основа начисления - количество товара в таких единицах. Ставка пошлины - та ставка, которую пользователь вводит в соответствующем текстовом поле. Сумма рассчитывается как произведение специфической ставки на количество товара в дополнительных единицах измерения и на курс евро. Комбинированные пошлины рассчитываются по двум вышеуказанным способам, затем из них выбираются параметры той ставки (основа начисления, ставка и сумма), при которой сумма пошлины наибольшая.

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

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

Величины НДС рассчитывается следующим образом: в основе начисления - сумма таможенной стоимости и таможенной пошлины. При расчете акциза его сумма также включается в основу начисления. НДС начисляется по ставке 0%, 10% или 18%. Сниженная ставка НДС предусмотрена для определенных перечней товаров, но в данной задаче это не рассматривается. Сумма НДС рассчитывается как произведение основы начисления на ставку, деленное на 100%.

Определяется способ платежа (СП), принимающий во всех случаях значение «Наличный» или «Безналичный», в зависимости от выбранного варианта оплаты. Графа «итого» является суммой всех платежей.

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

Внешний вид формы представлен на рисунке.

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

Создание ЭФ условно делится на три этапа.

На первом этапе создание ЭФ сводится к дизайну ее внешнего вида. В окне VBA студенты выбирают команду меню Insert - Userform, чтобы появилось окно новой ЭФ. Пользуясь панелью элементов ToolBox, добавляют необходимые элементы управления на текущую ЭФ. Классы элементов управления студенты определяют самостоятельно. Надписи Label обычно содержат какие-либо названия или вспомогательную информацию, которая обычно

Подсчет таможенных платежей

Рис. Внешний вид системы расчета таможенных платежей

не изменяется в процессе работы ЭФ, в исключительных случаях она может изменяться программным образом. Текстовые поля Textbox служат для ввода и вывода данных, в них можно установить значения по умолчанию. Списки ComboBox можно заполнять различными значениями, а также вводить в них данные вручную. Кнопки CommandButton используются обычно для запуска процедуры. Флажки CheckBox применяются для выбора одного из двух вариантов (истина или ложь). Перечисленные элементы управления используются для построения системы расчета таможенных платежей.

На втором этапе устанавливаются свойства элементов управления и ЭФ с помощью окна свойств Properties Window. Для просмотра и установки свойств требуется выделить элемент управления, свойства которого будут просматриваться или изменяться. С помощью свойства Caption создается заголовок для формы или элемента управления. С помощью свойств Font и ForeColor задается форматирование и цвет текста в форме и на ее элементах. С помощью свойств Picture и BackColor можно установить, соответственно, фоновую картинку для

ЭФ или фоновую заливку для ЭФ (элемента управления). Размеры элементов управления устанавливаются вручную или с помощью окна свойств. В некоторых случаях удобно изменять имена элементов управления, ввиду рассматриваемой задачи студентам предлагается это выполнить.

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

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

то для данного элемента управления предусмотрена соответствующая процедура с событием Change. Для проведения расчетов в форме обычно используется событие Click для элемента управления CommandButton.

Проектируемая форма строится на основе разветвляющегося алгоритма. Условно ее можно разделить на две части - область исходных данных и область результатов.

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

Область результатов представляет собой таблицу из 47 графы грузовой таможенной декларации и содержит столбцы: код, основа начисления, ставка, способ платежа и сумма. В каждой строке рассчитывается определенный вид платежа. В числе платежей - сборы за таможенное оформление, таможенная пошлина, акциз и НДС. Имена элементов управления в области результатов удобно изменить так, чтобы они имели индексы как в матрице TextBox ij, где i - номер строки, j - номер столбца таблицы. Таким образом удобнее представлять местоположение конкретного текстового поля, и не будет необходимости каждый раз проверять правильность написания его имени в программном коде. Программный код для формы состоит из четырех процедур:

- процедура заполнения раскрывающихся списков;

- процедура выбора единицы измерения налоговой базы для подакцизных товаров;

- процедура блокировки поля выбора подакцизных товаров;

- процедура расчета таможенных платежей. Рассмотрим подробно каждую из процедур

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

Private Sub UserForm_Initialize() vidstavki.Addltem «адвалорная» vidstavki.Addltem «специфическая» vidstavki.Addltem «комбинированная» sp.Addltem «наличными»

sp.Addltem «безналичными»

advstavka.Addltem «5»

advstavka.Addltem «10»

advstavka.Addltem «15»

advstavka.Addltem «20»

advstavka.Addltem «25»

advstavka.Addltem «30»

advstavka.Addltem «35»

advstavka.Addltem «40»

advstavka.Addltem «45»

advstavka.Addltem «50»

ndsstavka.Addltem «0»

ndsstavka.Addltem «10»

ndsstavka.Addltem «18»

vidtovara.Addltem «Этиловый спирт»

vidtovara.Addltem «Спиртосодержащая продукция»

vidtovara.Addltem «Алкогольная продукция свыше

9%»

vidtovara.Addltem «Алкогольная продукция до 9% вкл.»

vidtovara.Addltem «Вина без добавления спирта, кроме игристых»

vidtovara.Addltem «Вина с защищенным географическим указанием, кроме игристых» vidtovara.Addltem «Сидр, пуаре, медовуха» vidtovara.Addltem «Игристые вина» vidtovara.Addltem «Игристые вина с защищенным географическим указанием» vidtovara.Addltem «Пиво от 0,5% до 8,6% включительно, пивные напитки» vidtovara.AddItem «Пиво свыше 8,6%» vidtovara.Addltem «Табак, за исключением сырья» vidtovara.Addltem «Сигары» vidtovara.Addltem «Сигариллы» vidtovara.Addltem «Сигареты, папиросы» vidtovara.Addltem «Автомобили легковые» vidtovara.Addltem «Мотоциклы с мощностью двигателя свыше 150 л.с.»

vidtovara.Addltem «Автомобильный бензин класса 5»

vidtovara.Addltem «Автомобильный бензин не класса 5»

vidtovara.Addltem «Дизельное топливо» vidtovara.Addltem «Моторные масла» vidtovara.Addltem «Прочее» End Sub

Элементы управления vidstaavki, advstavka, sp, ndsstavka, vidtovara - это объекты класса Combobox или раскрывающиеся списки. Имена у них изменены для удобства. Данные в кавычках будут отображаться в соответствующих раскрывающихся списках после запуска ЭФ.

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

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

Private Sub vidtovara_Change() Select Case vidtovara Case «Этиловый спирт»: edizm = «литр» Case «Спиртосодержащая продукция»: edizm = «литр»

Case «Алкогольная продукция свыше 9%»: edizm = «литр»

Case «Алкогольная продукция до 9% вкл.»: edizm = «литр»

Case «Вина без добавления спирта, кроме игристых»: edizm = «литр»

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Case «Вина с защищенным географическим указанием, кроме игристых»: edizm = «литр» Case «Сидр, пуаре, медовуха»: edizm = «литр» Case «Игристые вина»: edizm = «литр» Case «Игристые вина с защищенным географическим указанием»: edizm = «литр» Case «Пиво от 0,5% до 8,6% включительно, пивные напитки»: edizm = «литр» Case «Пиво свыше 8,6%»: edizm = «литр» Case «Табак, за исключением сырья»: edizm = «кг» Case «Сигары»: edizm = «шт» Case «Сигариллы»: edizm = «тыс.шт» Case «Сигареты, папиросы»: edizm = «тыс.шт.» Case «Автомобили легковые»: edizm = «л.с.» Case «Мотоциклы с мощностью двигателя свыше 150 л.с.»: edizm = «л.с.»

Case «Автомобильный бензин класса 5»: edizm = «тонна»

Case «Автомобильный бензин не класса 5»: edizm = «тонна»

Case «Дизельное топливо»: edizm = «тонна» Case «Моторные масла»: edizm = «тонна» Case «Прочее»: edizm = «тонна» End Select

End Sub

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

Private Sub checkbox1_change() If checkboxl = True Then vidtovara.Enabled = True Else

vidtovara.Enabled = False

End If End Sub

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

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

Private Sub Zapusk_Click() Dim md As Single Dim pl As Single Dim p2 As Single Dim ak1 As Single Dim ak2 As Single Dim st As Single Dim rs As Single Dim tp As Single Dim akciz As Single Dim nds As Single Dim osnovands As Single

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

TextBoxll =1010 TextBox12 = ts * 1 TextBox14 = sp Select Case ts

Case Is < 200000: TextBox13 = 500: TextBox15 = 500 Case 200000 To 450000: TextBox13 = 1000: TextBox15 = 1000

Case 450000 To 1200000: TextBox13 = 2000: TextBox15 = 2000

Case 1200000 To 2500000: TextBox13 = 5500: TextBox15 = 5500

Case 2500000 To 5000000: TextBox13 = 7500: TextBox15 = 7500

Case 5000000 To 10000000: TextBox13 = 20000: TextBox15 = 20000

Case Is >10000000: TextBox13 = 30000: TextBox15 = 30000 End Select

В предложенном фрагменте программного кода ts - это текстовое поле из области данных,

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

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

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

После вычисления таможенных сборов программа переходит к этапу расчета таможенной пошлины. Код платежа 2010 берется из классификатора таможенных платежей. Существуют 3 вида ставок таможенных пошлин, и, соответственно, 3 алгоритма расчета, реализующиеся в процедуре. В зависимости от выбора вида ставки в соответствующем поле со списком процедура должна выбрать один из алгоритмов. Этот выбор реализуется с помощью инструкции выбора Select Case. После определения вида ставки производится расчет таможенной пошлины и заполнение второй строки таблицы результатов. Фрагмент программного кода для расчета таможенной пошлины приведен ниже.

TextBox21 = 2010 TextBox24 = sp Select Case vidstavki Case «адвалорная» TextBox22 = ts * 1 TextBox23 = advstavka * 1 tp = ts * advstavka / 100 Case «специфическая»: TextBox22 = kol TextBox23 = specstavka

tp = kol * specstavka * kursevro Case «комбинированная»: p1 = ts * advstavka / 100 p2 = kol * specstavka * kursevro If p1 > p2 Then TextBox22 = ts * 1 TextBox23 = advstavka * 1 tp = ts * advstavka / 100 Else

TextBox22 = kol TextBox23 = specstavka tp = kol * specstavka * kursevro End If End Select TextBox25 = Round(tp, 2)

Для адвалорной пошлины основой является таможенная стоимость, поэтому она берется из поля ts в области данных, ставка пошлины- из списка ставок advstavka в области данных. Сумма пошлины записывается в виде формулы, ссылающейся на соответствующие поля области данных. Для специфической пошлины основе присваивается количество товара kol, ставке - величина специфической ставки из поля specstavka в области данных, сумма пошлины также записывается в виде формулы произведения количества, ставки и курса евро kursevro из соответствующих полей в области данных. Для комбинированной пошлины ее сумма вычисляется по двум вышеуказанным методикам, затем выбирается наибольшая.

Для сумм пошлин нужно взять 2 разные переменные, чтобы их можно было сравнить. Сравнение происходит с помощью инструкции ветвления If... Then...Else...End If по правилу: «если первая пошлина больше второй, то во вторую строку таблицы записываются все данные расчета первой пошлины, в противном случае записываются данные расчета второй пошлины». В программном коде используются переменные p1 и p2. Для вычисления пошлины используется промежуточная переменная tp, после чего ее значение передается соответствующему полю в области результатов. Функция Round использована для округления значения до 2 десятичных знаков.

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

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

После вычисления таможенной пошлины возможны два варианта. Если товар подакцизный, то необходимо рассчитывать акциз, а затем - НДС. Если товар неподакцизный, то часть программы с расчетом акциза пропускается и процедура переходит сразу к расчету НДС. Этот переход реализуется с помощью инструкций ветвления If...Then... Else...End If. Условие для ветвления - установленный флажок CheckBox1 о том, что товар подакцизный. Предлагаем рассмотреть фрагмент программного кода:

If checkbox1 = True Then TextBox32 = nalogbaza TextBox34 = sp Select Case vidtovara Case «Этиловый спирт» TextBox31 = 4010 TextBox33 = 107 akciz = 107 * nalogbaza * 0.97 Case «Спиртосодержащая продукция» TextBox31 = 4020 TextBox33 = 418

md = InputB ox («Введите массовую долю спирта»,

«Вычисление акциза», «50»)

akciz = 418 * nalogbaza * md

Case «Алкогольная продукция свыше 9%»

TextBox31 = 4120

TextBox33 = 523

Do

md = InputBox(«Введите массовую долю спирта от 9

до 25%», «Вычисление акциза», «15»)

Loop Until md > 9 And md < 25

akciz = 523 * nalogbaza * md

Case «Алкогольная продукция до 9% вкл.»

TextBox31 = 4130

TextBox33 = 418

Do

md = InputB ox («Введите массовую долю спирта

до 9%», «Вычисление акциза», «15»)

Loop Until md <= 9

akciz = 418 * nalogbaza * md

Case «Вина без добавления спирта, кроме игристых» TextBox31 = 4090

TextBox33 = 10akciz = 10 * nalogbaza Case «Вина с защищенным географическим указанием, кроме игристых» TextBox31 = 4090 TextBox33 = 5 akciz = 5 * nalogbaza Case «Сидр, пуаре, медовуха» TextBox31 = 4090 TextBox33 = 10

akciz = 10 * nalogbaza Case «Игристые вина» TextBox31 = 4090 TextBox33 = 27 akciz = 27 * nalogbaza

Case «Игристые вина с защищенным географическим указанием» TextBox31 = 4090 TextBox33 = 14 akciz = 14 * nalogbaza

Case «Пиво от 0,5% до 8,6% включительно, пивные

напитки»

TextBox31 = 4100

TextBox33 = 21

akciz = 21 * nalogbaza

Case «Пиво свыше 8,6%»

TextBox31 = 4100

TextBox33 = 39

akciz = 39 * nalogbaza

Case «Табак, за исключением сырья»

TextBox31 = 4030

TextBox33 = 2200

akciz = 2200 * nalogbaza

Case «Сигары»

TextBox31 = 4030

TextBox33 = 155

akciz = 155 * nalogbaza

Case «Сигариллы»

TextBox31 = 4030

TextBox33 = 2207

akciz = 2207 * nalogbaza

Case «Сигареты, папиросы»

TextBox31 = 4030

rs = InputBox («Введите максимальную розничную

цену за 1 пачку», «Вычисление акциза», «100»)

ak1 = 1420 * nalogbaza + 0.13 * rs * 50

ak2 = 1930 * nalogbaza

If ak1 > ak2 Then

akciz = ak1: TextBox33 = 1420

Else

akciz = ak2: TextBox33 = 1930 End If

Case «Автомобили легковые»

TextBox31 = 4060

Select Case nalogbaza

Case Is < 90: akciz = 0: TextBox33 = 0

Case 90 To 150: akciz = 43 * nalogbaza: TextBox33 = 43

Case Is > 150: akciz = 420 * nalogbaza: TextBox33 = 420

End Select

Case «Мотоциклы с мощностью двигателя свыше 150 л.с.»

TextBox31 = 4060

Select Case nalogbaza

Case Is <= 150: akciz = 0: TextBox33 = 0

Case Is > 150: akciz = 420 * nalogbaza: TextBox33 = 420

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

End Select

Case «Автомобильный бензин класса 5» TextBox31 = 4040 TextBox33 = 7430 akciz = 7430 * nalogbaza

Case «Автомобильный бензин не класса 5»

TextBox31 = 4040

TextBox33=12300

akciz = 12300 * nalogbaza

Case «Дизельное топливо»

TextBox31 = 4070

TextBox33 = 5093

akciz = 5093 * nalogbaza

Case «Моторные масла»

TextBox31 = 4080

TextBox33 = 5400

akciz = 5400 * nalogbaza

Case «Прочее»

TextBox31 = «47 0»

st = InputBox («Введите ставку акциза», «Вычисление акциза», «2800») TextBox33 = st akciz = st * nalogbaza End Select TextBox35 = Round (akciz, 2)

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

Алгоритм расчета акциза следующий. Если установлен соответствующий флажок CheckBox1, то становится доступным список выбора вида подакцизного товара vidtovara, производится расчет всех данных для акциза. В качестве основы начисления выводится значение поля nalogbaza из области данных. С помощью инструкции выбора Select Case производится определение кода платежа, ставки акциза и суммы акциза. Сумма акциза рассчитывается через переменную akciz и выводится в область результатов в последнюю очередь с округлением до двух десятичных знаков. Сумма акциза рассчитывается как произведение ставки на налоговую базу.

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

крепость напитка должна укладываться в заданные пределы. Для сигарет предусмотрена комбинированная ставка акциза 1420 рублей за 1000 штук + 13 % расчетной стоимости, исчисляемой исходя из максимальной розничной цены, но не менее 1930 рублей за 1000 штук. Поэтому целесообразно считать по двум методикам, выбирая наибольшую сумму акциза. Расчетная стоимость, то есть максимальная стоимость продажи, вводится с помощью функции диалогового ввода (вывода).

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

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

TextBox41 = 5010

osnovands = 1 * ts + tp + akciz TextBox42 = osnovands TextBox43 = ndsstavka TextBox44 = sp

nds = osnovands * ndsstavka / 100 TextBox45 = Round(nds, 2) itog = Round((1 * TextBox15 + tp + akciz + nds), 2)

Код платежа 5010 берется из классификатора. Основа начисления НДС считается как сумма таможенной стоимости из текстового поля ts, таможенной пошлины tp, акциза akciz, если он рассчитывался, и результат передается переменной osnovands. Использование переменной необходимо, так как результат может быть дробным числом. После вычисления основы НДС она умножается на ставку, выбранную в соответствующем списке ndsstavka в области данных, и результат присваивается переменной nds. Затем значение этой переменной передается в соответствующее поле в области результатов c округлением до двух десятичных знаков. Остальные данные также передаются в соответствующие поля в области результатов.

Последнее действие - расчет суммы всех платежей. В этом случае суммируются переменные tp, akciz,

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

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

Else

TextBox31 = 5010 osnovands = 1 * ts + tp TextBox32 = osnovands TextBox33 = ndsstavka TextBox34 = sp

nds = osnovands * ndsstavka / 100 TextBox35 = Round(nds, 2) itog = Round((1 * TextBox15 + tp + nds), 2) End If End Sub

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

По окончании работы над системой следует провести проверку ее правильности (тестирование). Это можно сделать, подставляя различные исходные данные и проверяя полученные результаты. Верность расчетов можно также проверить с помощью калькулятора или электронных таблиц. Если результаты расчетов с использованием ЭФ и с применением электронной таблицы сходятся, то задача считается решенной успешно.

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

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

Библиографический список:

1. Лобашев В.Д., Лобашев И.В. Формирование опыта в профессиональном обучении // Ученые записки Санкт-Петербургского имени В.Б. Бобкова филиала Российской таможенной академии. 2011. № 3 (40). С. 132-141.

2. Сальников И.А., Сальников В.И. Формирование общекультурной компетенции в процессе подготовки специалистов в области таможенного дела // Психологическое обеспечение деятельности силовых структур в современной России: сборник материалов Первой Всероссийской научно-практической конференции специалистов ведомственных психологических служб. СПб.: РИО Санкт-Петербургского имени В.Б. Бобкова филиала РТА, 2012.

3. Сальников И.А., Сальников В.И. Новые принципы подготовки специалистов для Федеральной таможенной службы // Актуальные проблемы психологического обеспечения практической деятельности силовых структур в современной России: Сборник материалов Второй Всероссийской научно-практической конференции специалистов ведомственных психологических и кадровых служб с международным участием. СПб.: РИО Санкт-Петербургского имени В.Б. Бобкова филиала РТА, 2013.

i Надоели баннеры? Вы всегда можете отключить рекламу.