Ниже приведен откомментированный пример скрипта загрузки текстового файла: 001'Так можно и нужно анализировать строки пришедшего текстового файла.
002'Количество строк - StringCount, строка с номером I - Strings(I), нумерация с 0.
003
004'Фактически здесь написано: если на четвертой (с номером 3) строке написано что-то,
005'отличное от "Форма 160/128q", то это не "наш" текстовый файл, его не надо обрабатывать.
006if StringCount < 4 then
007 'Количество строк меньше четырех. Это точно не "нащ" файл.
008 InvalidData = True
009elseif Strings(3) <> "Форма 160/128q" then
010 'Текстовый файл не признан "своим".
011 InvalidData = True
012else
013 'Следите за отступами.
014
015 Message("Анализируем файл.") 'Сообщение пользователю в протокол загрузки.
016
017 '1. Создание корневого элемента REPORTS
018 set xml.documentElement = xml.createElement("REPORTS")
019
020 '2. Создание элемента-отчета. Повторять столько раз, сколько нужно отчетов.
021 with xml.documentElement.appendChild(xml.createElement("REPORT"))
022
023 '3. Атрибуты отчета
024
025 .appendChild(xml.createElement("AGENT")).appendChild(xml.createTextNode("Мнемокод контрагента"))
026 .appendChild(xml.createElement("FORM")).appendChild(xml.createTextNode("Мнемокод формы"))
027 .appendChild(xml.createElement("BDATE")).appendChild(xml.createTextNode("Дата в формете YYYY-MM-DD"))
028 .appendChild(xml.createElement("NOTE")).appendChild(xml.createTextNode("Примечание!!!"))
029 .appendChild(xml.createElement("KIND")).appendChild(xml.createTextNode("0")) '0-первичный, 1-сводный
030
031 'Также можно установить дополнительные атрибуты отчета:
032 '.appendChild(xml.createElement("CATALOG")).appendChild(xml.createTextNode("Наименование каталога"))
033 '.appendChild(xml.createElement("CHECKED")).appendChild(xml.createTextNode("1"))
034 '.appendChild(xml.createElement("STATE")).appendChild(xml.createTextNode("2"))
035 '.appendChild(xml.createElement("SENT")).appendChild(xml.createTextNode("1"))
036
037 '4. Список подотчетов
038 with .appendChild(xml.createElement("SUBREPORTS"))
039
040 '5. Главный подотчет (без мнемокода)
041 with .appendChild(xml.createElement("SUBREPORT"))
042
043 '6. Список значений
044 with .appendChild(xml.createElement("VALUES"))
045
046 'Создать столько значений, сколько нужно.
047 '7. Значение числового показателя
048 with .appendChild(xml.createElement("VALUE"))
049 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод числового показателя"))
050 .appendChild(xml.createElement("NVAL")).appendChild(xml.createTextNode("100.10"))
051 end with
052
053 '8. Значение строкового показателя
054 with .appendChild(xml.createElement("VALUE"))
055 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод строкового показателя"))
056 .appendChild(xml.createElement("SVAL")).appendChild(xml.createTextNode("Строковое значение"))
057 end with
058
059 '9. Значение показателя типа "дата".
060 with .appendChild(xml.createElement("VALUE"))
061 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод показателя типа дата"))
062 .appendChild(xml.createElement("DVAL")).appendChild(xml.createTextNode("2020-01-01"))
063 end with
064
065 end with
066
067 '10. Таблицы показателей - если редакция содержит таблицы показателей.
068 with .appendChild(xml.createElement("TABLES"))
069
070 '11. Таблица. Повторять столько раз, сколько нужно таблиц.
071 with .appendChild(xml.createElement("TABLE"))
072
073 '12. Наименование таблицы
074 .appendChild(xml.createElement("NAME")).appendChild(xml.createTextNode("Наименование таблицы"))
075
076 '13. Строки таблицы
077 with .appendChild(xml.createElement("ROWS"))
078
079 '14. Строка таблицы
080 with .appendChild(xml.createElement("ROW"))
081
082 '15. Значение строкового показателя
083 with .appendChild(xml.createElement("VALUE"))
084 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Показатель в составе талицы"))
085 .appendChild(xml.createElement("SVAL")).appendChild(xml.createTextNode("Строковое значение"))
086 end with
087
088 with .appendChild(xml.createElement("VALUE"))
089 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Другой показатель в составе талицы"))
090 .appendChild(xml.createElement("SVAL")).appendChild(xml.createTextNode("Строковое значение"))
091 end with
092
093 end with
094
095 '16. Строка таблицы
096 with .appendChild(xml.createElement("ROW"))
097
098 '17. Значение строкового показателя
099 with .appendChild(xml.createElement("VALUE"))
100 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Показатель в составе талицы"))
101 .appendChild(xml.createElement("SVAL")).appendChild(xml.createTextNode("Строковое значение"))
102 end with
103
104 with .appendChild(xml.createElement("VALUE"))
105 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Другой показатель в составе талицы"))
106 .appendChild(xml.createElement("SVAL")).appendChild(xml.createTextNode("Строковое значение"))
107 end with
108
109 end with
110
111 end with
112
113 end with
114
115 end with
116
117 end with
118
119 '18. Подотчет. Повторять столько раз, сколько нужно подотчетов.
120 with .appendChild(xml.createElement("SUBREPORT"))
121
122 '19. Мнемокод разреза подотчета
123 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод разреза"))
124
125 '20. Список занчений
126 with .appendChild(xml.createElement("VALUES"))
127
128 'Создать столько значений, сколько нужно.
129 '21. Значение числового показателя
130 with .appendChild(xml.createElement("VALUE"))
131 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод числового показателя"))
132 .appendChild(xml.createElement("NVAL")).appendChild(xml.createTextNode("100.10"))
133 end with
134
135 '22. Значение строкового показателя
136 with .appendChild(xml.createElement("VALUE"))
137 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод строкового показателя"))
138 .appendChild(xml.createElement("SVAL")).appendChild(xml.createTextNode("Строковое значение"))
139 end with
140
141 '23. Значение показателя типа "дата".
142 with .appendChild(xml.createElement("VALUE"))
143 .appendChild(xml.createElement("CODE")).appendChild(xml.createTextNode("Мнемокод показателя типа дата"))
144 .appendChild(xml.createElement("DVAL")).appendChild(xml.createTextNode("2020-01-01"))
145 end with
146
147 end with
148
149 'Создать таблицы, если они нужны.
150
151 end with
152
153 end with
154 end with
155end if
|