Автор | Сообщение | ||||
---|---|---|---|---|---|
Игорь Голиков Главный форумщик Зарегистрирован: 21.09.2004 |
Добавлено: 24.12.2004 01:35 Заголовок сообщения: Смена года Коллеги, Наступает день «Ч»! Самое время пополнить нашу «БПЭSЛ» темой СГВPМS (Смена года в Payroll модуле Scala). Ведь это не только изменить алгоритм… Итак выносится на обсуждение следующая последовательность действий: 1. В течение декабря — завершение расчетов за декабрь. Это: 2. После расчета за декабрь, но ДО обновления зарплаты за декабрь: 3. Если нужно было срочно закрыть декабрь (не до проверок), а проверки показали наличие ошибок., придется организовать расчет за 13-й месяц, а точнее дорасчет за декабрь. 4. Обычное закрытие месяца «Декабрь», формирование проводки. 5. Создание нового года в Scala (нужно всем модулям). 6. Обновление годовых накопителей средствами профессионального отчета «Завершение года» с обновлением данных один и только один раз. Имеет смысл сохранить базы и отчисления по всем составляющим социальных фондов так, как это давно делается с НДФЛ, на тот случай, если придется в новом году что-то перерасчитывать за год уходящий, да и просто справочно или для отчетов. 7. Изменения в настройках, связанные с весьма возможным изменением плана счетов в новом году: в настройках типов зарплат, в стандартных параметрах, в карточках сотрудников. 8. Изменения в настройке, связанные с изменением законодательства (см. соответствующие темы форума). Изменений в этом году много — первый расчет за январь следует проверять «с пристрастием», да и в феврале, когда начинают работать накопители, тоже надо «быть начеку». 9. Подготовка годовых отчетов по НДФЛ (обычно до 30 марта) и по ЕСН (обычно до 1 марта). Эта подготовка — выверка индивидуальных анкетных данных (адреса, коды персонифицированного учета, паспорта, ИНН и т.п.), перенос данных в специальные программы, вроде ОАЗИСа, подготовка отчетов в этих программах. Возможно выверенные анкетные данные имеет смысл импортировать обратно в Скалу для использования в новом году. А Вы говорите «Купаться…»: вода холодная!… Все ли учтено и так ли, как надо? Пожалуйста, поправьте и дополните то, что изложено выше. |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 11:29 Заголовок сообщения: ИГ: «…перенос данных в специальные программы, вроде ОАЗИСа, подготовка отчетов в этих программах.» Некоторые сведения о последней версии «ОАЗИС». Программа ОАЗИС # Персонифицированный учет для ПФР Версия 4.0 Релиз 4.407 от 22.11.2004 Изменения: 1. Исправлены ошибки импорта адресных данных из текстовых файлов формата 4.0 (anketa.txt, z2004_0.txt и файлы для ПФР); 2. Исправлена ошибка формирования пояснительной записки для отменяющих форм; 3. В сетевой версии дана возможность администратору входить в программу при работающих пользователях; 4. В построителе адресов исправлен некорректный выбор сокращенных наименований типов; 5. При импорте ИС из текстового файла исправлена ошибка,возникающая при пропуске порядковых номеров: «Неожиданный конец файла»; 6. Исправлена ошибка формирования пачек в режиме «Выбор из списка»; 7. Добавлены расчетные шкалы для 2005 года; 8. В дистрибутив включена программа проверки файлов длЯ ПФР Checkpsn версия 04.00(ZA) от 02.11.2004; 9. Обновлена база данных классификатора адресов России (КЛАДР) — версия 3.0 от 10.09.2004. Для рукодельных и любознательных: формат базы данных «ОАЗИС» — MS Access 97, пароль на базу fdiph (есть еще юзер с таким именем в таблице dUsersList). |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 11:33 Заголовок сообщения: Проверка номеров ПФР и ИНН ИГ: «Эта подготовка — выверка индивидуальных анкетных данных (адреса, коды персонифицированного учета, паспорта, ИНН и т.п.)» Если трудящиеся не будут возражать, могу разместить алгоритмы проверки номеров ПФР и ИНН в виде Тэ-эСКуэЛь (это aav запретил латиницей писать). |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 11:45 Заголовок сообщения: Бесплатная альтернатива "ОАЗИС". А если кто до денег шибко жадный и тратиться на программы не желает, есть бесплатная замена «ОАЗИС»: http://s076.076.pfr.ru/centr/PDSPU/default.htm Там «Возможен импорт из электронных документов формата ПФР всех предыдущих версий, импорт из файлов формата DBF, а также из текстовых файлов заданного пользователем формата.» Сам я импортил уже готовые данные за прошлый год в кол-ве несколько тыщ штук. Импорт работает, формы печатает, но особо глубоко не копал — сами смотрите. |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 14:43 Заголовок сообщения: Новый КЛАДР! Классификатор адресов России (КЛАДР) версии 3.0 от 22.12.2004 г. http://www.gnivc.ru/new/io/155.htm |
||||
vome Народный форумщик ![]() Зарегистрирован: 17.09.2004 |
Добавлено: 24.12.2004 15:54 Заголовок сообщения: Re: Проверка номеров ПФР и ИНН
|
||||
aav Администратор ![]() Зарегистрирован: 14.09.2004 |
Добавлено: 24.12.2004 16:03 Заголовок сообщения: Про мнимый запрет английских терминов
|
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 17:08 Заголовок сообщения: Проверка персонального страхового номера ПФР: теория. Из справки программы «ОАЗИС»: «Страховой номер — персональный код, присваиваемый в ПФР каждому работнику. Страховой номер – это цифровое поле формата: 999-999-999 99. При первоначальном вводе анкетных данных поле остается незаполненным. После того, как ПФР присвоит страховой номер застрахованному лицу, его необходимо ввести в анкету. При вводе страхового номера проводится проверка введенного значения на допустимость (корректность) в соответствии с алгоритмом формирования контрольного числа страхового номера. Контрольное число страхового номера рассчитывается следующим образом: — каждая цифра страхового номера умножается на номер своей позиции, позиции отсчитываются от младшего разряда к старшему; — полученные произведения суммируются; — последние две цифры остатка от деления являются контрольным числом. Например: Указан страховой номер 112-233-445 95 Проверяется правильность контрольного числа: Цифры номера 1 1 2 2 3 3 4 4 5 Номер позиции 9 8 7 6 5 4 3 2 1 1*9+1*8+2*7+2*6+3*5+3*4+4*3+4*2+5*1=95 95/!101!=95 Контрольное число=95 – указано верно Некоторые частные случаи: 99/!101!=99 100/!101!=00 101/!101!=00 102/!101!=01» Хочу заметить, что в других описаниях алгоритма частные случаи обычно вообще не упоминаются. Будьте бдительны! |
||||
vome Народный форумщик ![]() Зарегистрирован: 17.09.2004 |
Добавлено: 24.12.2004 17:19 Заголовок сообщения: Кого на что делим?
|
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 17:22 Заголовок сообщения: Проверка персонального страхового номера ПФР: T-SQL. /* Код, представленный ниже, служит для демонстрации алгоритма и только. Использование этого кода в своих разработках является личным делом каждого. Претензии не принимаются. */ /* Компания 01. PA04001 — код сотрудника, PA04002 — страховой номер ПФР, PA04003 — ФИО, [CALCULATED] — вычисляемое контрольное число, [CONTROL] — контрольное число из номера ПФР. Отчет показывает только строки с неправильным контрольным числом */ SELECT PA04001, PA04002, PA04003, [CALCULATED], [CONTROL] FROM ( select PA04001, PA04002, PA04003, [CALCULATED] = CASE WHEN [XVALUE] IN (100, 101) THEN 0 WHEN [XVALUE] = 99 THEN 99 WHEN [XVALUE] = 102 THEN 1 ELSE [XVALUE] % 101 END, [CONTROL] from ( select PA04001, PA04002, PA04003, (CONVERT(INT,LEFT(PA04002,1)) * 9 + CONVERT(INT,SUBSTRING(PA04002,2,1)) * 8 + CONVERT(INT,SUBSTRING(PA04002,3,1)) * 7 + CONVERT(INT,SUBSTRING(PA04002,5,1)) * 6 + CONVERT(INT,SUBSTRING(PA04002,6,1)) * 5 + CONVERT(INT,SUBSTRING(PA04002,7,1)) * 4 + CONVERT(INT,SUBSTRING(PA04002,9,1)) * 3 + CONVERT(INT,SUBSTRING(PA04002,10,1)) * 2 + CONVERT(INT,SUBSTRING(PA04002,11,1)) * 1) % 101 — FOR VALUE LIKE 201 % 101 = 100 AS [XVALUE], CONVERT(INT,SUBSTRING(PA04002,13,2)) AS [CONTROL] from PA040100 /* можно отфильтровать записи по формату */ where PA04002 like ‘[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][ -][0-9][0-9]’ ) PA04_1 —AND PA04001 IN (SELECT DISTINCT PA06001 FROM PA060100 WHERE YEAR(PA06002) = 2004) /* если нужны только записи этого года */ ) PA04 WHERE [CALCULATED] <> [CONTROL] ORDER BY PA04001 |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 24.12.2004 17:56 Заголовок сообщения: Проверка персонального страхового номера ПФР: дополнение. Спасибо vome — заметил нестыковки в тексте. На самом деле, в справке «ОАЗИС» пропущены строки из исходного документа Главного управления информационных технологий ПФР «Правила проверки документов персонифицированного учета, представляемых в Пенсионный фонд Российской Федерации на машинном носителе информации. Приложение №1. Алгоритм формирования контрольного числа Страхового номера.» В начале: «Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001–001–998». В алгоритме: «- сумма делится на 101». |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 28.12.2004 14:03 Заголовок сообщения: Отчет в T-SQL: все "плохие" ИНН в справочнике для — Для справки: структура ИНН — 10-ти разрядный ИНН — NNNNXXXXXC — 12-ти разрядный ИНН — NNNNXXXXXXCC — где: NNNN — номер налоговой инспекции — XXXXX, XXXXXX — порядковый номер налогоплательщика (номер записи в госреестре) — C — контрольное число в 10-ти разрядном ИНН — CC — контрольное число в 12-ти разрядном ИНН — (фактически, идущие подряд две контрольные цифры) select t2.[uid], t2.[txt], t2.[inn], t2.[sum1], t2.[sum2] from ( select t1.[uid], t1.[txt], t1.[inn], sum1 = case len([inn]) when 10 then ( left([inn],1) * 2 + substring([inn],2,1) * 4 + substring([inn],3,1) * 10 + substring([inn],4,1) * 3 + substring([inn],5,1) * 5 + substring([inn],6,1) * 9 + substring([inn],7,1) * 4 + substring([inn],8,1) * 6 + substring([inn],9,1) * 8 ) % 11 % 10 /* 2, 4, 10, 3, 5, 9, 4, 6, 8 */ when 12 then ( left([inn],1) * 7 + substring([inn],2,1) * 2 + substring([inn],3,1) * 4 + substring([inn],4,1) * 10 + substring([inn],5,1) * 3 + substring([inn],6,1) * 5 + substring([inn],7,1) * 9 + substring([inn],8,1) * 4 + substring([inn],9,1) * 6 + substring([inn],10,1) * 8 ) % 11 % 10 /* 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 */ else -1 end, sum2 = case len([inn]) when 12 then ( left([inn],1) * 3 + substring([inn],2,1) * 7 + substring([inn],3,1) * 2 + substring([inn],4,1) * 4 + substring([inn],5,1) * 10 + substring([inn],6,1) * 3 + substring([inn],7,1) * 5 + substring([inn],8,1) * 9 + substring([inn],9,1) * 4 + substring([inn],10,1) * 6 + substring([inn],11,1) * 8 ) % 11 % 10 else -1 end /* 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 */ from (select PA04001 as [uid], PA04002 as [txt], PA04048 as [inn] /* Можно PL01001, PL01002, */ from PA040100 where ISNUMERIC(PA04048) = 1) t1 /* PL01025, PL010100 для Книги Закупок и т.д. */ ) t2 where (len([inn]) = 12 and (convert(int,substring([inn],11,1)) <> sum1 or convert(int,substring([inn],12,1)) <> sum2)) or (len([inn]) = 10 and convert(int,substring([inn],10,1)) <> sum1) or len([inn]) not in (10, 12) |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 28.12.2004 15:58 Заголовок сообщения: Другие способы проверки ИНН. Приведенный выше отчет-запрос служит для демонстрации алгоритма и проверки ИНН в каком-либо поле какой-либо таблицы (например, карточки сотрудника), так сказать, «оптом». Есть вариант на T-SQL, где процедура проверки выполняется для одного значения ИНН, т.е. это функция http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=22279&hl=%e8%ed%ed#124071 Правда, зоркий глаз — это лучший друг индейца. В коде функции вызывается DATALENGTH вместо LEN, что в iScala 2.2, где кругом Unicode, даст длину в два раза больше, чем символов в строке (24 вместо 12). Сама-то функция сработает из-за использования типа varchar, а вот переносить в другое место надо осторожно. Для Delphi «Алгоритм проверки контрольного числа ИНН и страхового номера ПФ» здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=726 И тут зоркий глаз поможет: в процедуре проверки страхового номера ПФ частные случаи не предусмотрены. |
||||
Jugulator Главный форумщик Зарегистрирован: 08.10.2004 |
Добавлено: 28.12.2004 19:04 Заголовок сообщения: Подготовка сведений в ПФ за 2004 г. Может быть, кому-нибудь пригодится при подготовке сведений персонифицированного учета в ПФ. Adjustment (552 кб) — Программа конвертации выходных файлов из старых форматов (02.xx, 03.00) в формат 04.00 (Windows 98/NT/2000). Автор: Леонтьев О.Г., LOGic_BBS, г.Казань. Здесь: http://checkpsn.narod.ru/checkpsn.htm |