Смена года

Автор Сообщение
Игорь Голиков
Главный форумщик

Зарегистрирован: 21.09.2004
Сообщения: 284
Откуда: Свято-Петроград

Добавлено: 24.12.2004 01:35 Заголовок сообщения: Смена года
Коллеги,
Наступает день «Ч»!
Самое время пополнить нашу «БПЭSЛ» темой СГВPМS (Смена года в Payroll модуле Scala). Ведь это не только изменить алгоритм… Итак выносится на обсуждение следующая последовательность действий:

1. В течение декабря — завершение расчетов за декабрь. Это:
1.1. Обычные действия бухгалтера по расчету заработной платы за очередной месяц.
1.2. Особенности работы при завершении квартала: в некоторых организациях есть расчет квартальной премии и/или расчет сверхурочных при суммированном за квартал учете рабочего времени.
1.3. Особенности работы при завершении года: расчет (если он автоматизирован) годовой премии и/или суммированного за год учета рабочего времени.

2. После расчета за декабрь, но ДО обновления зарплаты за декабрь:
2.1. Проверка расчета НДФЛ (налоговый период — год, исправление ошибок года в январе затруднено и надо успеть все исправить «декабрем»): есть ли неучтенные накопленные вычеты у сотрудников, находящихся в отрыве отработы (по уходу за ребенком до 1.5 лет, свой счет и т.п.). Средство проверки — отчет «Завершение года» (но БЕЗ обновления данных), дополненный учетом специфики нерезидентов и проверкой совпадения суммы за год счетчика 1 и счетчика 3 у типа зарплаты 601000 (используется в отчетах) со значением накопителей 17, 18 и 19 (используется в расчетах и легко изменяется вручную). Расхождение исходных данных для расчета и для отчета — «чревато». Часто ошибки возникают из-за того, что признак «Возвращать налог» в карточках сотрудника выставлен в «Нет», тогда как для увольняемых и в конце года он должен быть выставлен в «Да».
2.2. Проверка расчета фондов по каждой из 7 составляющих (опять налоговый период — год, исправление ошибок года в январе затруднено и надо успеть все исправить «декабрем», тем более, что доплачивать/удерживать в январе нельзя из-за разницы процентов отчислений): в базе данных есть избыточность: база расчета может быть собрана по статистике за год, отдельно она есть в сумме счетчиков 1 ТЗ 799*** и 800*** и отдельно — в накопителях. Специальный отчет может это сравнить и выдать расхождения. Возникнуть расхождения могут как и-за ручной корректировки накопителей, так и в результате перенастроек в середине года отношений к фондам. Проверке на допустимые значения и соотношения подлежат также: пол, дата рождения, признаки отношения к фондам в карточках сотрудников.
Замечание: для исправления возможно придется перерасчитать давно уволенных. Лучше это делать декабрем, а не месяцем, где допущена ошибка, так как иначе придется переделывать квартальные отчеты.

3. Если нужно было срочно закрыть декабрь (не до проверок), а проверки показали наличие ошибок., придется организовать расчет за 13-й месяц, а точнее дорасчет за декабрь.

4. Обычное закрытие месяца «Декабрь», формирование проводки.

5. Создание нового года в Scala (нужно всем модулям).

6. Обновление годовых накопителей средствами профессионального отчета «Завершение года» с обновлением данных один и только один раз. Имеет смысл сохранить базы и отчисления по всем составляющим социальных фондов так, как это давно делается с НДФЛ, на тот случай, если придется в новом году что-то перерасчитывать за год уходящий, да и просто справочно или для отчетов.

7. Изменения в настройках, связанные с весьма возможным изменением плана счетов в новом году: в настройках типов зарплат, в стандартных параметрах, в карточках сотрудников.

8. Изменения в настройке, связанные с изменением законодательства (см. соответствующие темы форума). Изменений в этом году много — первый расчет за январь следует проверять «с пристрастием», да и в феврале, когда начинают работать накопители, тоже надо «быть начеку».

9. Подготовка годовых отчетов по НДФЛ (обычно до 30 марта) и по ЕСН (обычно до 1 марта). Эта подготовка — выверка индивидуальных анкетных данных (адреса, коды персонифицированного учета, паспорта, ИНН и т.п.), перенос данных в специальные программы, вроде ОАЗИСа, подготовка отчетов в этих программах. Возможно выверенные анкетные данные имеет смысл импортировать обратно в Скалу для использования в новом году.

А Вы говорите «Купаться…»: вода холодная!…

Все ли учтено и так ли, как надо? Пожалуйста, поправьте и дополните то, что изложено выше.

Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 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
Сообщения: 428

Добавлено: 24.12.2004 11:33 Заголовок сообщения: Проверка номеров ПФР и ИНН
ИГ: «Эта подготовка — выверка индивидуальных анкетных данных (адреса, коды персонифицированного учета, паспорта, ИНН и т.п.)»

Если трудящиеся не будут возражать, могу разместить алгоритмы проверки номеров ПФР и ИНН в виде Тэ-эСКуэЛь (это aav запретил латиницей писать).

Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 24.12.2004 11:45 Заголовок сообщения: Бесплатная альтернатива "ОАЗИС".
А если кто до денег шибко жадный и тратиться на программы не желает, есть бесплатная замена «ОАЗИС»: http://s076.076.pfr.ru/centr/PDSPU/default.htm
Там «Возможен импорт из электронных документов формата ПФР всех предыдущих версий, импорт из файлов формата DBF, а также из текстовых файлов заданного пользователем формата.» Сам я импортил уже готовые данные за прошлый год в кол-ве несколько тыщ штук. Импорт работает, формы печатает, но особо глубоко не копал — сами смотрите.
Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 24.12.2004 14:43 Заголовок сообщения: Новый КЛАДР!
Классификатор адресов России (КЛАДР) версии 3.0 от 22.12.2004 г.
http://www.gnivc.ru/new/io/155.htm
vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 24.12.2004 15:54 Заголовок сообщения: Re: Проверка номеров ПФР и ИНН

Jugulator писал(а):
Если трудящиеся не будут возражать, могу разместить алгоритмы проверки номеров ПФР и ИНН в виде Тэ-эСКуэЛь (это aav запретил латиницей писать).


Трудящиеся не возражают, а местами даже приветствуют. Help!

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 24.12.2004 16:03 Заголовок сообщения: Про мнимый запрет английских терминов

Jugulator писал(а):
Если трудящиеся не будут возражать, могу разместить алгоритмы проверки номеров ПФР и ИНН в виде Тэ-эСКуэЛь (это aav запретил латиницей писать).


Да ладно, не такой уж я супостат Wink
Вот статья, отражающая мое мнение на счет ограничения использования английского языка: (кто не понял, на её название можно нажать Laughing )
«Как выбрать администратора финансовой системы? Что должен знать и чего может не знать человек, претендующий на эту должность?»

Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 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
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 24.12.2004 17:19 Заголовок сообщения: Кого на что делим?

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


Деления кого на что?

Jugulator писал(а):
Например:
Указан страховой номер 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 – указано верно


Что такое » … /!101!»?

Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 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
Сообщения: 428

Добавлено: 24.12.2004 17:56 Заголовок сообщения: Проверка персонального страхового номера ПФР: дополнение.
Спасибо vome — заметил нестыковки в тексте. На самом деле, в справке «ОАЗИС» пропущены строки из исходного документа Главного управления информационных технологий ПФР «Правила проверки документов персонифицированного учета, представляемых в Пенсионный фонд Российской Федерации на машинном носителе информации. Приложение №1. Алгоритм формирования контрольного числа Страхового номера.»
В начале: «Проверка контрольного числа Страхового номера проводится только для номеров больше номера 001–001–998».
В алгоритме: «- сумма делится на 101».
Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 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
Сообщения: 428

Добавлено: 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
Сообщения: 428

Добавлено: 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