ИТТ

Posted on Mar 6, 2026

В разделе собраны материал, необходимые для проведения занятий по дисциплине Информационные таможенные технологии.

Дисциплина «Информационные таможенные технологии» является составной частью основной профессиональной образовательной программы высшего образования подготовки выпускников по специальности 38.05.02 Таможенное дело.

Лабораторная работа 1

Лабораторная работа 2

Лабораторная работа 3

Лабораторная работа 4

Макрос для загрузки курсов валют

Public Function КУРС(ByVal КодВалюты As String, ByVal ДатаКурса As Date) As Double
    If (UCase(КодВалюты) = "RUB") Then
        КУРС = 1
        Exit Function
    End If

    On Error Resume Next
    КодВалюты = UCase(КодВалюты): If Len(КодВалюты) <> 3 Then Exit Function
    Set xmldoc = CreateObject("Msxml.DOMDocument"): xmldoc.async = False
    url_request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + Format(ДатаКурса, "dd\/mm\/yyyy")
    If xmldoc.Load(url_request) <> True Then Exit Function
    Set nodeList = xmldoc.SelectNodes("ValCurs"): Set xmlNode = nodeList.Item(0).CloneNode(True)
    Set node_attr = xmlNode.Attributes(0): strDate = node_attr.Value
    Set nodeList = xmldoc.SelectNodes("*/Valute")
    For i = 0 To nodeList.Length - 1
        Set xmlNode = nodeList.Item(i).CloneNode(True)
        If xmlNode.ChildNodes(1).Text = КодВалюты Then
            CurrencyRate = CDbl(xmlNode.ChildNodes(4).Text)
            divisor = Val(xmlNode.ChildNodes(2).Text)
            КУРС = CurrencyRate / divisor
            Exit Function
        End If
    Next
End Function

Печать курса валют на сегодняшний день

Public Sub КУРССЕГОДНЯ()
    Dim row, col As Integer
    On Error Resume Next
    Set xmldoc = CreateObject("Msxml.DOMDocument"): xmldoc.async = False
    url_request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + Format(Now, "dd\/mm\/yyyy")
    If xmldoc.Load(url_request) <> True Then Exit Sub
    Set nodeList = xmldoc.SelectNodes("ValCurs"): Set xmlNode = nodeList.Item(0).CloneNode(True)
    Set node_attr = xmlNode.Attributes(0): strDate = node_attr.Value
    Set nodeList = xmldoc.SelectNodes("*/Valute")
    
    col = ActiveCell.Column
    row = ActiveCell.row

    For i = 0 To nodeList.Length - 1
        Set xmlNode = nodeList.Item(i).CloneNode(True)
        ActiveSheet.Cells(row + 1, col).Value = xmlNode.ChildNodes(1).Text
        ActiveSheet.Cells(row + 1, col + 1).Value = strDate
        ActiveSheet.Cells(row + 1, col + 2).Value = xmlNode.ChildNodes(4).Text
        ActiveSheet.Cells(row + 1, col + 3).Value = xmlNode.ChildNodes(2).Text
        ActiveSheet.Cells(row + 1, col + 4).Value = xmlNode.ChildNodes(4).Text
        row = row + 1
    Next
End Sub

Коды валют

КОД Наименование
AUD Австралийский доллар
AZN Азербайджанский манат
GBP Фунт стерлингов Соединенного королевства
AMD Армянский драм
BYR Белорусский рубль
BGN Болгарский лев
BRL Бразильский реал
HUF Венгерский форинт
DKK Датская крона
USD Доллар США
EUR Евро
INR Индийская рупия
KZT Казахский тенге
CAD Канадский доллар
KGS Киргизский сом
CNY Китайский юань
LVL Латвийский лат
LTL Литовский лит
MDL Молдавский лей
NOK Норвежская крона
PLN Польский злотый
RON Новый румынский лей
XDR СДР (специальные права заимствования)
SGD Сингапурский доллар
TJS Таджикский сомони
TRY Турецкая лира
TMT Новый туркменский манат
UZS Узбекский сум
UAH Украинская гривна
CZK Чешская крона
SEK Шведская крона
CHF Швейцарский франк
EEK Эстонская крона
ZAR Южноафриканский рэнд
KRW Вон Республики Корея
JPY Японская иена

Лабораторная работа 5

Макрос для построения отступа дерева ТНВЭД ЕАЭС

Dim cnt As Integer

Public Sub ДеревоТНВЭД()
cnt = 2
Call Nextpar(1, "")
End Sub


Public Sub Nextpar(pos As Integer, root As String)
    Dim s1, s2, sfirst, slast As String
    Dim j As Integer
    j = 0
    Do While ActiveSheet.Cells(cnt, 1) <> ""
        s1 = ActiveSheet.Cells(cnt, 1)
        s2 = ActiveSheet.Cells(cnt, 2)
        If (j = 0) Then sfirst = s1
        If (InStr(1, s1, root) = 1) Then
            If (Len(sfirst) = Len(s1)) Then
                ActiveSheet.Cells(cnt, 1).Value = ""
                ActiveSheet.Cells(cnt, 2).Value = ""
                ActiveSheet.Cells(cnt, pos).Value = s1
                ActiveSheet.Cells(cnt, pos).Font.Bold = True
                If (Len(s1) = 10) Then ActiveSheet.Cells(cnt, pos).Interior.Color = RGB(253, 255, 188)
                ActiveSheet.Cells(cnt, pos + 1).Value = s2
                If (Len(s1) <> 10) Then ActiveSheet.Cells(cnt, pos + 1).Font.Color = RGB(234, 234, 234)
                slast = s1
            Else
                If (Len(s1) < Len(sfirst)) Then
                    Exit Do
                Else
                    Call Nextpar(pos + 1, slast)
                    cnt = cnt - 1
                End If
                
            End If
        Else
            Exit Do
        End If
        
        cnt = cnt + 1
        j = j + 1
    Loop
End Sub

Лабораторная работа №6. Работа с ЭП

Для самостоятельного выполнения

Лабораторная работа №7. Сложное ПИ

Лабораторная работа 8