скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

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

14  sr 1 8   6 Начислено авансовых платежей ФСС: ставка         01/01/01   2    14   0

15  sr 1 10  8 Начислено авансовых платежей ФФОМС: ставка       01/01/01   2    14   0

16  sr 1 12 10 Начислено авансовых платежей ТФОМС: ставка       01/01/01   2    14   0

17  sr 1 14 12 Численность ПФР                                  01/01/01   2    14   0

18  sr 1 16 14 Численность ФСС                                  01/01/01   2    14   2

19  sr 1 7   5 Начислено авансовых платежей ПФР: cумма          01/01/01   2    14   0

20  sr 1 9   7 Начислено авансовых платежей ФСС: ставка         01/01/01   2    14   0

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

Record#  KODF KODP KODGR RGR NAIM              NAIMP                               WDATA    GO5N PP CHVGR CHRGR GNI GNI_IS

1  qf 2  1 0 Наименование показателя                            Расчет по страх.взносам             01/01/02             2     8   0      

2  qf 2  2 0 Код строки                                         Расчет по страх.взносам             01/01/02             2     8   0      

3  qf 2  3 1 Для мужчин 1952г., женщин 1956г.по дан.страховат.  Расчет по страх.взносам             01/01/02             2     8   0      

4  qf 2  4 2 Для мужчин 1952г., женщин 1956г.по дан.НО          Расчет по страх.взносам             01/01/02             2     8   1      

5  qf 2  5 3 Для муж.1953-1966, жен.1957-1966 по дан.страховат. Расчет по страх.взносам             01/01/02             2     8   0      

6  qf 2  6 4 Для муж.1953-1966, жен.1957-1966 по дан.НО         Расчет по страх.взносам             01/01/02             2     8   1      

7  qf 2  7 5 Для лиц 1967г.р. и моложе по данным страхователя   Расчет по страх.взносам             01/01/02             2     8   0      

8  qf 2  8 6 Для лиц 1967г.р. и моложе по данным НО             Расчет по страх.взносам             01/01/02             2     8   1      

9  qf 2  9 7 Всего по данным страхователя                       Расчет по страх.взносам             01/01/02             2     8   2      

10  qf 2 10 8 Всего по данным налогового органа                  Расчет по страх.взносам             01/01/02             2     8   1      

11  qf 3  1 0 Наименование показателя                            Справочно                           01/01/02             2     3   0      

12  qf 3  2 0 Код строки                                         Справочно                           01/01/02             2     3   0      

13  qf 3  3 1 Всего                                              Справочно                           01/01/02             2     3   0      

14  qf 3  4 2 В т.ч. на страховую часть трудовой пенсии          Справочно                           01/01/02             2     3   2      

15  qf 3  5 3 В т.ч. на накопительную часть трудовой пенсии      Справочно                           01/01/02             2     3   0      

16  qf 1  1 0 Наименование                                       Сведения о налогоплательщике        01/01/02             2     1   0      

17  qf 1  2 0 Код строки                                         Сведения о налогоплательщике        01/01/02             2     1   0      

18  qf 1  3 1 Значение/Код                                       Сведения о налогоплательщике        01/01/02             2     1   0      

19  qd 2  1 0 Наименование                                       Расчет для заполнения с.0300 и 0400 01/01/02             2    14   0      

20  qd 2  2 0 Код строки                                         Расчет для заполнения с.0300 и 0400 01/01/02             2    14   0

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

Record#  C257 C258                     K

      1  0373 млн.руб.           1000000

      2  0374 млрд.руб.       1000000000

      3  0006 м                        1

      4  0008 км                    1000

      5  0055 кв.м                     1

      6  0056 тыс.кв.м              1000

      7  0059 га                   10000

      8  0061 кв.км              1000000

      9  0062 тыс.га            10000000

     10  0744 %                        1

     11  0770 кратн.                   1

     12  0113 куб.м                    1

     13  0114 тыс.куб.м             1000

     14  0115 млн.куб.м          1000000

     15  0162 карат                    1

     16  0165 тыс.кар               1000

     17  0166 кг                       1

     18  0167 ц                      100

     19  0168 т                     1000

     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
 


Страницы: 1, 2, 3, 4, 5


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.