Смекни!
smekni.com

Разработка программы "Модуль выгрузки данных в текстовом формате комплекса "Налогоплательщик ЮЛ" для государственной налоговой инспекции г. Узловая (стр. 3 из 8)

Строка состоит из кода реквизита, символа ":" (двоеточие) и значения реквизита.

Текстовое (символьное) значение может состоять из прописных букв, цифр и любых других символов, за исключением символов "возврат каретки" и "перевод строки" (коды ASCII соответственно 13 и 10, которые формируются при нажатии клавиши “Enter”), ":" (двоеточие) и "," (запятая).

Числовое значение может состоять только из цифр (в том числе и с лидирующими нулями) и может включать десятичную точку и знак "-" (минус) для отрицательных чисел.

Значение типа ДАТА имеет специальный формат для представления дат в виде ДД.ММ.ГГГГ, где ДД – номер дня, ММ – номер месяца, ГГГГ – цифры года.

Каждый реквизит записывается в отдельной строке. Признак окончания строки – пара символов с кодами ASCII соответственно 13 и 10. Код реквизита отделяется от значения знаком ":" (двоеточие). Пробелы между ними не допускаются.

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

В состав данных включаются общие реквизиты, приведенные в настоящем документе и реквизиты (показатели) конкретных форм, состав которых разрабатывается и утверждается для сдачи отчетности по каждому отчетному периоду.

Последовательность строк файла следующая:

Реквизиты, идентифицирующие источник информации;

Начало документа 1;

Реквизиты, идентифицирующие налогоплательщика 1;

Реквизиты, идентифицирующие форму отчетности 1 за конкретный период;

Реквизиты формы отчетности 1;

Реквизиты, идентифицирующие форму отчетности 2 за конкретный период;

Реквизиты формы отчетности 2;

Конец документа 1;

Начало документа 2…

Реквизиты, идентифицирующие налогоплательщика 2;

Конец документа 2;

Конец файла.

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

Описание выходного документа (текстового файла) дано в таблице 2.

Информация выходного файла дана в приложении Б.

Таблица 2 – Описание выходной информации

Название документа Назначение документа Ключевые признаки Периодичность составления

Количество

Куда передается
экз. строк на листе символов в строке
file.txt Предоставление в ГНИ информации на магнитном носителе Имя файла, определяемое по указанным выше правилам 1 раз в квартал 1 перем. перем. в ГНИ

3 Алгоритм решения задачи

3.1 Блок-схема алгоритма






3.2 Описание блок – схемы


Лист 1.

Блок А1 – начало модуля Exp2f, реализующего выгрузку документов;

Блок B1 – вывод сообщения ‘Идёт подготовка данных’;

Блок С1 – проверка условия;

Блок D1 – присвоение значения переменной YearC;

Блок Е1 – присвоение значения переменной YearC;

Блок F1 – присвоение значения переменной FltDocC;

Блок G1 – фильтрация по маске FltDocC базы данных KP_SD;

Блок А2 – проверка условия достижения конца файла;

Блок В2 – проверка условия kp_sd.per=‘1’;

Блок С2 – проверка условия kp_sd.per=‘2’;

Блок D2 – проверка условия kp_sd.per=‘3’;

Блок Е2 – проверка условия kp_sd.per=‘4’;

Блок F2 – присвоение значения переменным;

Блок G2 – вызов процедуры getmper с передачей параметров;

Блок А3 – очистка формы (экрана)

Блок В3 – присвоение значения переменным;

Блок С3 – присвоение значения переменным;

Блок D3 – присвоение значения переменным;

Блок Е3 – присвоение значения переменным;

Блок F3 – проверка условия;

Блок G3 – вызов процедуры getmper с передачей параметров.

Лист 2.

Блок А1 – проверка условия period=‘2’;

Блок В1 – проверка условия period=‘3’;

Блок С1 – проверка условия period=‘4’;

Блок D1 – присвоение переменной PeriodTxtC значения;

Блок Е1 – присвоение переменной flycod значения;

Блок F1 – проверка условия;

Блок G1 – открытие БД с оконечным префиксом &&pok и фильтрация данных открываемой базы данных;

Блок А2 – присвоение переменным значений;

Блок В2 – присвоение переменным значений;

Блок С2 – присвоение переменным значений;

Блок D2 – проверка условия достижения конца файла;

Блок Е2 – присвоение переменной flycod значения;

Блок F2 – открытие БД с оконечным префиксом &&pok и фильтрация данных открываемой базы данных;

Блок G2 – переход на первую запись базы данных;

Блок А3 – открытие временной БД с переменным именем;

Блок В3 – обработка select-запроса к базе данных;

Блок С3 – проверка условия достижения конца файла;

Блок D3 – проверка условия существования UseKnd;

Блок Е3 – присвоение переменной значения;

Блок F3 – присвоение значений переменным;

Блок G3 – добавление записей в базу данных средствами APPEND BLANK и ее модификация посредством REPLACE (множественное изменение полей);

Лист 3

Блок А1 – переход на следующую запись базы данных и

завершение цикла обработки по активной базе;

Блок В1 – очистка формы (экрана);

Блок С1 – модификация БД с оконечным префиксом &&pok;

Блок D1 – фильтрация с возвратом на первую запись БД;

Блок Е1 – проверка условия достижения конца файла;

Блок F1 – фильтрация с возвратом на первую запись БД;

Блок G1 – проверка условия достижения конца файла;

Блок А2 – присвоение значений переменным;

Блок В2 – проверка условия;

Блок С2 – присвоение значений переменным;

Блок D2 – проверка условия zpN=0;

Блок Е2 – присвоение значения переменной;

Блок F2 – присвоение значений переменным;

Блок G2 – присвоение значений переменным

Блок А3 – добавление записей в базу данных средствами APPEND BLANK и ее модификация посредством REPLACE (множественное изменение полей);

Блок В3 – присвоение значения переменной;

Блок С3 – проверка условия;

Блок D3 – присвоение значения переменной;

Блок Е3 – присвоение значения переменной;

Блок F3 – проверка наличия диска в дисководе;

Блок G3 – выдача предупреждающего сообщения ‘Вставьте диск в дисковод’.

Лист 4

Блок А1 – проверка существования aDrv (устройства вывода);

Блок В1 – выдача сообщения ‘Неправильный путь к файлу’;

Блок С1 – выдача сообщения ‘Идет подготовка файла’;

Блок D1 – определение окна wtxt;

Блок Е1 – активация окна wtxt;

Блок F1 – SET-установки и переназначение устройства ввода вывода (экран –> файл);

Блок G1 – вывод информации в файл (печатью по ?);

Блок А2 – вызов процедуры AddDoc, реализующей добавление реквизитов документа в выгружаемый файл;

Блок В2 – уничтожение окна wtxt;

Блок С2 – переназначение устройства ввода вывода (файл –> экран);

Блок D2 – проверка состояния переменной-флага isOkAll (возвращаемой из процедуры AddDoc);

Блок Е2 – вывод сообщения ‘Нет передаваемых показателей’;

Блок F2 – вывод сообщения ‘Выполняется копирование’;

Блок G2 – вызов процедуры WinToDoc, осуществляющей конвертацию текстовых показателей;

Блок А3 – вывод сообщения ‘Выгрузка завершена’;

Блок В3 – выход из модуля Exp2f;

Блок С3 – начало процедуры AddDoc;

Блок D3 – проверка достижения конца файла;

Блок Е3 – вывод сообщения ‘Идет подготовка данных’;

Блок F3 – установка флажка isOkAll (по условию наличия записей);

Блок G3 – выход из процедуры AddDoc.


4 Машинная реализация задачи

4.1 Характеристика технических средств

Данный проект реализован с помощью ПЭВМ IBM PC/AT-совместимого компьютера. Данная ПЭВМ создана на основе процессора AMD AthlonXP-1700 и состоит из следующих компонентов:

- процессор;

- оперативное запоминающее устройство (ОЗУ);

- постоянное запоминающее устройство (ПЗУ);

- накопитель на жёстком магнитном диске (НЖМД, «винчестер»);

- накопитель на гибких магнитных дисках (НГМД);

- устройства ввода информации (клавиатура, «мышь»);

- устройства вывода информации (дисплей).

Процессор является основным устройством ЭВМ и предназначен для непосредственной обработки информации, которая поступает от различных внешних и внутренних устройств ПЭВМ.

Процессор AthlonXP разработки компании AMD имеет следующие технические характеристики:

- разрядность по ширине данных 64 бит

- тактовая частота 1460 MGz

- максимальный объем ОЗУ 128 Mb

- кэш-память 2х64 Kb

- быстродействие 1700 MGz (~1460)

ОЗУ предназначено для временного хранения информации и имеет объём 256 Mb.

ПЗУ предназначено для хранения неизменяемой информации, то есть программ типа BIOS (basic input-output system – базовая система ввода-вывода), которые позволяют связать компоненты компьютера в единое целое.

Процессор, модули ОЗУ и ПЗУ находятся на материнской плате компьютера. Данная материнская плата создана на основе чипсета VIA.

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