48642 (588589), страница 7

Файл №588589 48642 (Разработка программы "Модуль выгрузки данных в текстовом формате комплекса "Налогоплательщик ЮЛ" для государственной налоговой инспекции г. Узловая) 7 страница48642 (588589) страница 72016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

20 0170 тыс.т 1000000

21 0238 лс 1

22 0796 шт 1

23 0798 тыс.шт 1000

24 0797 100 шт 100

25 0799 млн.шт 1000000

26 0120 л 1

27 0124 тыс.л 1000

28 0371 руб. 1

29 0372 тыс.руб. 1000

30 0642 Ед. 1

31 0792 чел. 1

32 0793 тыс.чел. 1000

33 0794 млн.чел. 1000000

34 0795 млрд.чел. 1000000000

35 0214 КВт 1

36 0119 тыс.дкл 1000

37 0116 дкл 1



ИНФОРМАЦИЯ БАЗЫ ДАННЫХ SPUTR.DBF



Record# RAZDEL TAXCODE NDAT PRUT PARAG

1 21 102011101 09/01/95 1 1

2 80 101020201 01/01/99 1 1



Приложение Б

(обязательное)

Выходная информация

ИдФайл:2129000988**212901001200101102936

ТипИнф:ДЕКЛАРАЦИЯЮЛ

НаимОтпрЮл:Здесь должно быть наименование предприятия.

ТелОтпр:000-00-01

ДолжОтпр:

ФИООтпр:ФИО бухгалтера

КолДок:1

ВерсПрог:INPUTDOC

@@@

ИдДок:2129000988**212901001200100000001

КНД:1151006

НаимФОтч:Расчет налога от фактической прибыли

ПеридОтч:2000,К4

ДатаДок:30.11.2000

ОКЕИ:383

ВарДекл:999

КолПокФОтч:18

П010000103:1230.000

П010000303:5670.000

П010000403:0.000

П010000503:0.000

П010000603:0.000

П010000703:0.000

П010000803:0.000

П010000903:0.000

П010001003:0.000

П010001103:0.000

П010001203:0.000

П010001303:01 12..2000

П010001603: . .

П010001703: 04.06.1999

П010002а03:0.000

П010002б03:0.000

П010002в03:0.000

П010002г03:0.000

КНД:0710001

НаимФОтч:Бухгалтерский баланс

ПеридОтч:2000,К4

ДатаДок:09.12.2000

ОКЕИ:384

ВарДекл:999

КолПокФОтч:17

П010011003:456.000

П010011004:0.000

П010011103:45645.000

П010011104:0.000

П010011203:65.000

П010011204:0.000

П010011303:456.000

П010011304:0.000

П010012003:45.000

П010012004:0.000

П010012103:64.000

П010012104:0.000

П010012203:456.000

П010012204:0.000

П010013003:4564.000

П010013004:0.000

П010013503:6456.000

@@@

===



Приложение В

(обязательное)

Текст программы

&&---получение списка существующих документов--(открытие БД осуществляет вызывающий модуль!)

wait window nowait 'Идет подготовка данных'

YearC=iif(val(sDT)>50,'19'+sDT,'20'+sDT)

FltDocC='KONTROL="1" ' && фильтр на KP_SD

select KP_SD

set filter to &FltDocC

go top

do while not eof()

&& определяем имя и период

do case

case KP_SD.PER='1'

FileNameC=KP_SD.KODF+sKW+sDT

PeriodTxtC=YearC+',М'+alltrim(str(sPERIO,2))

case KP_SD.PER='2'

KvartC=str(int((sPERIO-1)/3)+1,1)

FileNameC=KP_SD.KODF+KvartC+sDT

PeriodTxtC=YearC+',К'+KvartC

case KP_SD.PER='3'

YerHlfC=iif(sPERIO>6,'2','1')

KvartC=iif(sPERIO>6,'4','2')

FileNameC=KP_SD.KODF+YerHlfC+sDT

PeriodTxtC=YearC+',К'+KvartC

case KP_SD.PER='4'

FileNameC=KP_SD.KODF+sDT

PeriodTxtC=YearC+',Г'

otherwise

FileNameC=''

PeriodTxtC=''

ENDCASE

&&---------------------------------------------------------------------------------------------------------------

DO CASE

CASE kp_sd.per='2'

nperN=int((_sysMonthN-1)/3)+1

CASE kp_sd.per='3'

nperN=iif(_sysMonthN>6,2,1)

CASE kp_sd.per='4'

nperN=1

OTHERWISE

nperN=_sysMonthN

ENDCASE

&&-------------------------------------------------------------------------------------------------------------------

if empty(kp_sd)

do getmper with kp_sd.kodf,_sysYearN,kp_sd.per,nperN

else

do getmper with left(kp_sd.prvlog,2),_sysYearN,kp_sd.per,nperN

endif

DO CASE

CASE mperiod.period='2'

KvartC=str(int((sPERIO-1)/3)+1,1)

PeriodTxtC=YearC+',К'+KvartC

CASE mperiod.period='3'

YerHlfC=iif(sPERIO>6,'2','1')

KvartC=iif(sPERIO>6,'4','2')

PeriodTxtC=YearC+',К'+KvartC

CASE mperiod.period='4'

PeriodTxtC=YearC+',Г'

OTHERWISE

PeriodTxtC=YearC+',М'+alltrim(str(sPERIO,2))

ENDCASE

&& получаем список переменных строк----------------------------------------------------------------------------

flykodC=''

SELECT 0

IF docwdataD=kp_sd.wdata

USE (_bases+kp_sd.kodf+'_POK') ALIAS pok

SET ORDER TO TAG pok

SET FILTER TO inlist(left(alltrim(kods),1),':','~')

ELSE

USE (_bases+'POK')

SET ORDER TO TAG pok

SET FILTER TO kodf=kp_sd.kodf ;

AND wdata=docwdataD ;

AND inlist(left(alltrim(kods),1),':','~')

ENDIF

GO TOP

DO WHILE NOT eof()

flykodC=flykodC+alltrim(str(pok.ykod,3))+';'

SKIP

ENDDO

USE IN pok

select 0

use (___user+FileNameC) alias XXZZYY

select 0

&& получаем список уточнений------------------------------------------------------------------------------------------

select max(val(UT)) AS utn ;

from XXZZYY ;

into table (old_vtemp+'AllUT')

select AllUT

go top

do while not eof()

&& заполняем список документов------------------------------------------------------------------------------------

if _UseKND

KNDTxtC=iif(empty(alltrim(KP_SD.KND)) or (alltrim(KP_SD.KND)=='0'),'1150000',KP_SD.KND)

else

KNDTxtC=KP_SD.KODF

endif

select HaveDoc

append blank

replace KODF with KP_SD.KODF, ;

UT with str(AllUt.UTn,2), ;

NAIM with KP_SD.NAIM, ;

FileName with FileNameC, ;

SDWDATA with KP_SD.WDATA, ;

PERIODTXT with PERIODTXTC, ;

KNDTXT with KNDTxtC, ;

wdata WITH docwdataD, ;

flykod WITH flykodC, ;

prvlog WITH kp_sd.prvlog, ;

prd WITH kp_sd.prd, ;

_knd WITH kp_sd.knd, ;

prmnog WITH kp_sd.prmnog

select AllUt

skip

enddo

select AllUt

use

select XXZZYY

use

endif

select KP_SD

skip

enddo

wait clear

if DocList.WDATA=DocList.SDWDATA

select ExpDcPok

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with 'П000000101', ;

FieldName with 'KOMM'

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with 'П000000201', ;

FieldName with 'RASSH'

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with 'П000000301', ;

FieldName with 'C257N'

SELECT 0

USE (_bases+doclist.kodf+'_POK') alias pok

set order to tag POK

go top

do while not eof()

if not empty(KODS) and (not (alltrim(KODS)=='0'))

select kp_sgr

set filter to KODF=DocList.KODF and KODP=POK.KODP and RGR<>0

go top

do while not eof()

scrC=subdat1(pok.twd,kp_sgr.rgr)

IF NOT empty(scrC)

typeC=substr(scrC,1,1)

sc1N=at('(',scrC)

sc2N=at(')',scrC)

zpN=at(',',scrC)

IF zpN=0

lenN=val(substr(scrC,sc1N+1,sc2N-sc1N-1))

decN=0

ELSE

lenN=val(substr(scrC,sc1N+1,zpN-sc1N-1))

decN=val(substr(scrC,zpN+1,sc2N-zpN-1))

ENDIF

ENDIF

YKodN=POK.YKOD

KodPN=POK.KODP

KodSC=strtran(POK.KODS,':','')

KodGN=kp_SGR.KODGR

RGRN=kp_SGR.RGR

GNIN=iif(kp_SGR.GNI=1,1,0)

TxtPokC='П'

TxtPokC=TxtPokC+iif(KodPN>=10,str(KodPN,2),'0'+str(KodPN,1))

TxtPokC=TxtPokC+replicate('0',5-len(alltrim(KodSC)))+alltrim(KodSC)

TxtPokC=TxtPokC+iif(KodGN>=10,str(KodGN,2),'0'+str(KodGN,1))

FieldNameC=DocList.KODF+alltrim(str(YKodN,3))+'_'+alltrim(str(RGRN,2))

select ExpDcPok

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with TxtPokC, ;

FieldName with FieldNameC, ;

type WITH typeC, ;

len WITH lenN, ;

dec WITH decN

select kp_SGR

skip

enddo

endif

select POK

skip

enddo

USE IN pok

else

select ExpDcPok

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with 'П000000101', ;

FieldName with 'KOMM'

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with 'П000000201', ;

FieldName with 'RASSH'

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with 'П000000301', ;

FieldName with 'C257N'

SELECT 0

USE (_bases+'POK')

set order to tag POK

set filter to KODF=DocList.KODF and WDATA=DocList.WDATA

go top

do while not eof()

if not empty(KODS) and (not (alltrim(KODS)=='0'))

select SGR

set filter to KODF=DocList.KODF and KODP=POK.KODP and WDATA=DocList.WDATA and RGR<>0

go top

do while not eof()

scrC=subdat1(pok.twd,sgr.rgr)

IF NOT empty(scrC)

typeC=substr(scrC,1,1)

sc1N=at('(',scrC)

sc2N=at(')',scrC)

zpN=at(',',scrC)

IF zpN=0

lenN=val(substr(scrC,sc1N+1,sc2N-sc1N-1))

decN=0

ELSE

lenN=val(substr(scrC,sc1N+1,zpN-sc1N-1))

decN=val(substr(scrC,zpN+1,sc2N-zpN-1)) ENDIF

ELSE

IF pok.td='U'

typeC=substr(pok.td1,sgr.rgr,1)

ELSE

typeC=pok.td

ENDIF

DO CASE

CASE typeC='C'

lenN=15

decN=0

CASE typeC='D'

lenN=8

decN=0

OTHERWISE

typeC='N'

lenN=15

decN=3

ENDCASE

ENDIF

if pok.td=='U'

if len(alltrim(pok.td1))>=SGR.RGR

TypeC=substr(pok.td1,SGR.RGR,1)

else

TypeC='N'

endif

else

TypeC=pok.td

endif

YKodN=POK.YKOD

KodPN=POK.KODP

KodSC=strtran(POK.KODS,':','')

KodGN=SGR.KODGR

RGRN=SGR.RGR

GNIN=iif(SGR.GNI=1,1,0)

TxtPokC='П'

TxtPokC=TxtPokC+iif(KodPN>=10,str(KodPN,2),'0'+str(KodPN,1))

TxtPokC=TxtPokC+replicate('0',5-len(alltrim(KodSC)))+alltrim(KodSC)

TxtPokC=TxtPokC+iif(KodGN>=10,str(KodGN,2),'0'+str(KodGN,1))

FieldNameC=DocList.KODF+alltrim(str(YKodN,3))+'_'+alltrim(str(RGRN,2))

select ExpDcPok

append blank

replace KODF with DocList.KODF, ;

WDATA with DocList.WDATA, ;

TxtPok with TxtPokC, ;

FieldName with FieldNameC, ;

type WITH typeC, ;

len WITH lenN, ;

dec WITH decN

select SGR

skip

enddo

endif

select POK

skip

enddo

USE IN pok

endif

&&-----------------------------------------------------------------

aPath=alltrim(upper(bPath))

if right(aPath,1)<>'\'

aPath=aPath+'\'

endif

aDrv=left(aPath,1)

if !cdrv(aDrv)

if aDrv='A' .or. aDrv='B'

do while !cdrv(aDrv)

if MESSAGEBOX('Вставьте диск в дисковод '+aDrv+':',64+1)<>1

RETURN .F.

endif

enddo

else

MESSAGEBOX('Диск '+aDrv+': не существует.', 16)

RETURN .F.

endif

endif

isOkPath=.t.

PRIVATE olderrC

olderrC=ON('ERROR')

on error isOkPath=.f.

SetDefault(aPath) &&&&set default to &aPath

ON ERROR &olderrC

SetDefault(root_dir) &&&&set default to &root_dir

if !isOkPath

MESSAGEBOX('Неправильный путь к файлу.', 16)

RETURN .F.

endif

&& формирование текстового файла

wait window nowait 'Идет подготовка файла'

define window wtxt from 24,79 to 24,79 none

activate window wtxt noshow

set alternate to (old_vtemp+aFileName)

set alternate on

set console off

?? 'ИдФайл:'+alltrim(sIdOtp)

? 'ТипИнф:'+alltrim(sType)

? 'НаимОтпрЮл:'+alltrim(sDan)

? 'ТелОтпр:'+alltrim(sTel)

? 'ДолжнОтпр:'+alltrim(sDol)

? 'ФИООтпр:'+alltrim(sFIO)

? 'КолДок:1'

? 'ВерсПрог:'+alltrim(sVer)

? '@@@'

? 'ИдДок:'+alltrim(sIdDoc)

isOkAll=.f.

do AddDoc

? '@@@'

? '==='

release window wtxt

set alternate to

set console on

wait clear

if !isOkAll

MESSAGEBOX('Нет передаваемых показателей во всех передаваемых документах. Копируемый файл не создан', 16)

else

wait window nowait 'Выполняется копирование файла'

DO WinToDos IN _bin+'oninit.prg' WITH old_vtemp+aFileName, aPath+aFileName

wait clear

messagebox('Выгрузка завершена.', 64)

endif

clear read

SELECT 0

USE (_bases+'NOMFILE')

LOCATE FOR year=_sysYearN

REPLACE nomfile WITH nomfile+1

USE

return .t.



&&-----------------------------------------------------------------

procedure AddDoc

select DocList

go topdo while not eof()

wait wind nowait 'Идет подготовка данных'

select ExpDcPok

set filter to KODF=DocList.KODF and WDATA=DocList.WDATA

count to PkCntN

if PkCntN>0

isOkAll=.t.

do AddDoc01

else

MESSAGEBOX('Документ: '+DocList.NAIM + CHR(13) +;

'Уточнение: '+iif(val(DocList.UT)=0,'Основной расчет',DocList.UT+' уточнение')+;

'Нет передаваемых показателей. Документ будет пропущен.',64)

endif select DocList

skip

enddo

wait clear

return

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6665
Авторов
на СтудИзбе
292
Средний доход
с одного платного файла
Обучение Подробнее