ТРЕБОВАНИЯ К ФОРМАТАМ ТЕКСТОВЫХ ФАЙЛОВ, ИСПОЛЬЗУЕМЫХ ДЛЯ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПРИ ФИНАНСИРОВАНИИ РАСХОДОВ ФЕДЕРАЛЬНОГО БЮДЖЕТА ЧЕРЕЗ ОРГАНЫ ФЕДЕРАЛЬНОГО КАЗНАЧЕЙСТВА В СООТВЕТСТВИИ С ПРИКАЗОМ МИНИСТЕРСТВА ФИНАНСОВ РОССИЙСКОЙ ФЕДЕРАЦИИ ОТ 10.06.2003 N 50Н). Письмо. Федеральное казначейство. 13.12.05 42-10.3-15/1590

Фрагмент документа "ТРЕБОВАНИЯ К ФОРМАТАМ ТЕКСТОВЫХ ФАЙЛОВ, ИСПОЛЬЗУЕМЫХ ДЛЯ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПРИ ФИНАНСИРОВАНИИ РАСХОДОВ ФЕДЕРАЛЬНОГО БЮДЖЕТА ЧЕРЕЗ ОРГАНЫ ФЕДЕРАЛЬНОГО КАЗНАЧЕЙСТВА В СООТВЕТСТВИИ С ПРИКАЗОМ МИНИСТЕРСТВА ФИНАНСОВ РОССИЙСКОЙ ФЕДЕРАЦИИ ОТ 10.06.2003 N 50Н)".

Предыдущий фрагмент <<< ...  Оглавление  ... >>> Следующий фрагмент

Полный текст документа

3.2.3. Описание алгоритма расчета
               контрольного числа расходного расписания

     Контрольное   число   расходного   расписания   определяется   по
следующему алгоритму:

----------------------------------------------------------------------
| int CRCTAB-16[]={                                                  |
| 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,    |
| 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, OxD1AD, 0xE1CE, OxF1EF,    |
| 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6,    |
| 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE,    |
| 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485,    |
| 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D,    |
| 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4,    |
| 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,    |
| 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,    |
| 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,    |
| 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,    |
| 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,    |
| 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,    |
| 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,    |
| 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,    |
| 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,    |
| 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,    |
| 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,    |
| 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,    |
| 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,    |
| 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,    |
| 0x34E2, 0x24C3, 0xl4A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,    |
| 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C,    |
| 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634,    |
| 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB,    |
| 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3,    |
| 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A,    |
| 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92,    |
| 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9,    |
| 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1,    |
| 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,    |
| 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0     |
| };                                                                 |
----------------------------------------------------------------------

     Пример текста  программы  расчета  контрольного  числа строки (на
языке программирования - Си):

--------------------------------------------------------------------------------------
| DWORD calcCRC16(DWORD iPrevSumm, BYTE *btArr, UINT iLen)                           |
| {                                                                                  |
|   for (int i=0;i<iLen; i++)                                                        |
|     iPrevSumm=(CRCTAB-16[(iPrevSumm>>8)&0xFF] /\ iPrevSumm<<8 /\ btArr[i])&0xFFFF; |
|   return iPrevSumm;                                                                |
| }                                                                                  |
--------------------------------------------------------------------------------------

     Пример  текста  программы  расчета  контрольного числа строки (на
языке программирования - Visual Basic):
     Предварительно    необходимо    произвести    обработку   массива
CRCTAB-16(!)

----------------------------------------------------------------------
| For i = 0 To UBound(CRCTAB-16)                                     |
|         CRCTAB-16(i) = CRCTAB-16(i) And &HFFFF&                    |
| Next i                                                             |
|                                                                    |
| ate Function calcCRC16(ByVal iPrevSumm As Long, ByRef btArr()      |
| yte, ByVal iLen As Long) As Long                                   |
| Dim i As Long                                                      |
|                                                                    |
| For i = 0 To iLen                                                  |
|         iPrevSumm = CLng(CRCTAB-16((((iPrevSumm \ 256)) And        |
| )) Xor ((iPrevSumm And &HFF) * 256) Xor (btArr(i))) And &HFFFF     |
| Next i                                                             |
| calcCRC16 = iPrevSumm                                              |
| Function                                                           |
|      End Function                                                  |
----------------------------------------------------------------------

     Параметры:
     IprevSumm  -  предыдущая  сумма. При начальном вызове должна быть
равна 0.
     btArr()  -  байтовый  входной  массив, контрольное число которого
надо получить.
     iLen - длина вышеуказанного байтового массива.
     Расчет  контрольного  числа расходного расписания производится по
следующим полям и в следующей последовательности:
     1. Номер расходного расписания (по приказу, как в печатной форме)
     2. Код главного распорядителя средств
     3. Код распорядителя (получателя) (Кому)
     4.   Дата   формирования   расходного  расписания  (присваивается
ответственным исполнителем после получения всех подписей)
     5. Дата введения расходного расписания в действие
     6. Код распорядителя, формирующего расписание
     7.  Код  органа ТОФК, в котором распорядителю открыт лицевой счет
распорядителя средств (из раздела RR)
     8.  Код органа ТОФК, в котором получателю открыт лицевой счет (из
раздела RRRC)
     9. Код приложения по КФД
     10. Формат расходного расписания
     11. ФИО руководителя
     12. ФИО руководителя планово-финансовой службы
     13. Код по ППП
     14. Код по ФКР
     15. Код по КЦСР
     16. Код по КВР
     17. Код по ЭКР
     18.  Лимиты  бюджетных  обязательств  на год (нарастающим итогом,
согласно приказу)
     19.    Текущее    изменение    лимитов   бюджетных   обязательств
(относительно предыдущего расходного расписания, согласно приказу)
     20.  Объем  финансирования  с  начала  года  (нарастающим итогом,
согласно приказу)
     21.  Текущее  изменение объема финансирования (относительно ранее
направленного расходного расписания)
     22. Примечание к строке
     23. Специальные указания
     24.  Всего:  лимит  бюджетных  обязательств  на  год (нарастающим
итогом с начала года)
     25. Всего: объем финансирования с начала года (нарастающим итогом
с начала года)
     26.  Контрольное  число  приложения  (по  реестру  исполнительных
листов) в десятичной системе исчисления без лидирующих нулей.
     Контрольное  число  рассчитывается по всем строкам файла (включая
строки  итогов  по  разделам  и подразделам) в порядке их следования в
файле с данными расходного расписания.
     Строки   расходного   расписания   (пункты  с  13  по  22)  могут
многократно повторяться.
     Контрольное число по реестру исполнительных листов рассчитывается
по следующим полям и в следующей последовательности:
     1. ФИО ответственного исполнителя
     2. Должность ответственного исполнителя
     3. ФИО начальника отдела
     4. Дата реестра исполнительных листов
     5. Код бюджетополучателя-должника
     6. Полное наименование бюджетополучателя-должника
     7. Регистрационный номер исполнительного листа
     8. Номер исполнительного листа, присвоенный ему судебным органом
     9. Дата выдачи исполнительного листа судебным органом
     10. Наименование судебного органа, выдавшего исполнительный лист
     11. Наименование организации-взыскателя либо ФИО физического лица
- взыскателя
     12. Код по ППП
     13. Код по ФКР
     14. Код по КЦСР
     15. Код по КВР
     16. Код по ЭКР
     17. Сумма взыскания
     Строки с 5 по 17 могут многократно повторяться.
     Контрольное  число  реестра  расходных  расписаний рассчитывается
путем  сложения  всех  контрольных чисел расходных расписаний, которые
включены в этот реестр.
     При  отсутствии  приложения  к  расходному расписанию контрольное
число   приложения  не  учитывается  в  контрольном  числе  расходного
расписания.
     При  расчете  контрольного числа производятся следующие форматные
преобразования (приводятся к текстовому представлению без лидирующих и
завершающих пробелов):
     - Дата в формате ДД.ММ.ГГГГ
     - Суммы в копейках
     - Коды в формате утвержденных классификаторов и справочников

        Пример текстового файла для расчета контрольного числа

---------------------------------------------------------------------------------------------
| FK|2006.01|ПП "Расходы"|2.0.266||                                                         |
| FROM|||100|Федеральное казначейство|24.03.2005||                                          |
| TO|9500|Главное управление федерального казначейства|||                                   |
| RR|||||100|Федеральное казначейство|9500|Главное управление федерального казначейства     |
| Яковлева Е.П.|Антонова О.В.|Начальник отдела|Иванова О.Е.||                               |
| RRRC|100/46823/002|24.03.2005|24.03.2005||0||1|46823|УПРАВЛЕНИЕ ФЕДЕРАЛЬНОГО              |
| КАЗНАЧЕЙСТВА ПО КАБАРДИНО-БАЛКАРСКОЙ РЕСПУБЛИКЕ|0400|УФК по Кабардино-Балкарской          |
| Республике||||29000000|20000|29000000|20000|29000000|29000000|||0|59977|                  |
| RRRCST|100|0115|1005000|213|310|10000|10000|0|0||1|                                       |
| RRRCST|100|0115||||10000|10000|10000|10000||2|                                            |
| RRRCST|100|1003|1000406|197|262|28990000|10000|0|0||3|                                    |
| RRRCST|100|1003||||28990000|10000|28990000|10000||4|                                      |
---------------------------------------------------------------------------------------------

     Строка, полученная из данного текстового файла

---------------------------------------------------------------------------------------------
| 100/46823/0021004682324.03.200524.03.2005950004001Яковлева Е.П. Антонова О.               |
| В.10001151005000213310100001000000100011510000100001000010000100100310004061972622899     |
| 000010000001001003289900001000028990000100002900000029000000                              |
---------------------------------------------------------------------------------------------

     Полученная контрольная сумма. 59977

Фрагмент документа "ТРЕБОВАНИЯ К ФОРМАТАМ ТЕКСТОВЫХ ФАЙЛОВ, ИСПОЛЬЗУЕМЫХ ДЛЯ ИНФОРМАЦИОННОГО ВЗАИМОДЕЙСТВИЯ ПРИ ФИНАНСИРОВАНИИ РАСХОДОВ ФЕДЕРАЛЬНОГО БЮДЖЕТА ЧЕРЕЗ ОРГАНЫ ФЕДЕРАЛЬНОГО КАЗНАЧЕЙСТВА В СООТВЕТСТВИИ С ПРИКАЗОМ МИНИСТЕРСТВА ФИНАНСОВ РОССИЙСКОЙ ФЕДЕРАЦИИ ОТ 10.06.2003 N 50Н)".

Предыдущий фрагмент <<< ...  Оглавление  ... >>> Следующий фрагмент

Полный текст документа