0
На рассмотрении

Функция R_Tax

Игорь Шалдин 3 года назад в Прочее обновлен 3 года назад 7

1. Функция R_Tax("list","Summa",код_дохода,код_вычета,код_скидки,код_таблицы_обложения,доп_символы) извлекает суммы по коду дохода, коду вычета, коду скидки, коду таблицы обложения, дополнительным символам. А может она извлекать суммы по коду вида?

2. Функция R_CODE() не работает совместно с R_Tax. Ну т.е., если я делаю что-то типа:

Image 6456

в колонку "Код" перестаёт попадать адекватная информация. Можно их как-то "подружить"?

На рассмотрении

Добрый день.

1)R_Tax ничего не знает о коде вида, у него информация "схлопнута" до кода дохода

2)Чтобы по коду вида получить код дохода, можно использовать такую скриптовую функцию

KOD_DOXODA(Code,tip)
// tip = 0 доход
// tip = 1 вычет
{
char Func[1024],Buf[256];
if (!tip) sprintf(Func,"КОД_ДОХОДА(205,%d)",Code);
else sprintf(Func,"КОД_ДОХОДА(205,%d,ВЫЧЕТ)",Code);
FreeSpaceString(Func,2,"");
CallFuncReceive(Func,Buf,255,2);
FreeSpaceString(Buf,2,"");
return static_cast_to_string(Buf);
}

Чтобы по коду вида получить код дохода, можно использовать такую скриптовую функцию

Зачем? Код дохода по коду вида я получаю в таблице с пом. стандартной табличной функции КОД_ДОХОДА.

R_Tax ничего не знает о коде вида, у него информация "схлопнута" до кода дохода

Вот я и пытаюсь "расширить кругозор" этой функции. Ну т.е. идея была такова:

1. С пом. функции R_CODE принять в таблицу код вида.

2. С пом. функции КОД_ДОХОДА получить код  дохода для этого вида.

3. С пом. функции R_Tax("list","Summa",kd,0,0,1," "), где "kd" - код дохода из п.2, получить сумму по виду.

Первые два пункта отрабатывают нормально, пока в таблицe не добавляю столбец с функцией R_Tax. После этого в столбец "Код" для всех строк начинает приниматься один и тот же код (если ни каких фильтров нет, - самый первый в ЛС, т.е. 101).

Попытался "обмануть" R_Tax - перенес  R_Tax(1,1,*,*,Источник выплаты,*,Н); и R_Tax("list","Summa",kd,0,0,1,"")  из функции приема в функцию расчета таблицы. Ну т.е. таблицу заполняю в два этапа:

1. Прием данных в столбцы "Код" и "Код дохода" (как говорил выше - тут всё ok).

2. Заполнение столбцов "Доход для 6-НДФЛ" и "Доход по видам" путем их "расчета".

На выходе получилось: каждая строка в столбце "Доход для 6-НДФЛ" заполнилась адекватной суммой общего дохода, а вот столбец "Доход по видам" получился нулевой, хотя, по задумке, функция R_Tax("list","Summa",kd,0,0,1,""); должна была выделить из общего дохода для 6-НДФЛ сумму, соответствующую каждому виду. Опытным путем удалось установить, что "kd" (код дохода) в расчетную функцию R_Tax("list","Summa",kd,0,0,1,") приходит нулевой... Почему так? Как побороть?

З.Ы. Наверно, стоит объяснить зачем весь этот "огород"...

ФНС завалила клиентов требованиями объяснить из чего складывается сумма расхождения м-ду строкой 110 6-НДФЛ и строкой 050 РСВ:

Для "расшифровки" этой суммы сделал свод, наглядно показывающий составные части суммы расхождения:

Стр. 050 = Стр. 030 - Стр.040.

Сумма в строке 040 складывается из необлагаемого дохода и вычетов. Проблема в том, что если в ЛС несколько видов с одинаковым вычетом, то они суммируются. Корректно посчитать сумму вычетов может функция R_Tax, но прикрутить её к своду не удалось. Пришлось дополнительно к своду делать отдельную таблицу, заточенную чисто на R_Tax (что-то типа "ТН - Сумма вычета 503"), из неё брать сумму вычета и вставлять в свод, что несколько "громоздко". Хочется: "Нажми на кнопку - получишь результат" :)). Табличка в первом посте - попытка реализации этой хотелки. 

Добрый день, Игорь!
Николай все верно вам ответил.
Налог в принципе не умеет выделять сейчас сумму по виду. Он собирает данные по коду дохода.
Одному коду дохода может соответствовать много видов (посмотрите у скольких видов в настройке НДФЛ стоит код 2000).
Именно поэтому сумма вычетов корректно в привязке к коду вида и не выделится никогда. Налоговому учету это не надо для того чтобы правильно считать налог.

В таком случае,  почему нельзя создать новую таблицу алгоритма НДФЛ на основе 205 алгоритма,

в котором каждому виду НУ проставить свой код дохода, тождественный  коду вида НУ (104 -> 0104 и т.д.),

и уже в той таблице, где нужно получить доход по виду,  обращаться к этому алгоритму?

Потому что "104 -> 0104 и т.д." - это, по сути, привязка  к виду, а, как сказано выше, R_Tax в принципе не умеет выделять сумму по виду.

Проверил работоспособность идеи.

Получается, что если всё это сделать в основном алгоритме НДФЛ  -> 205  Н

то вроде как работает:

  у 104  код дох 1040

  у 106 код дох  1060

В этом случае  R_Tax с параметром 106:   R_Tax(106,1,_Beg(1),_End(1),Источник выплаты,*,205)

эти суммы видит и выделяет:     1040,50000.00,0,0.00;1060,10000.00,0,0.00;

А вот в собственном алгоритме НДФЛ на базе 205,  R_Tax с параметром 106 суммы не видит;

хотя  R_Tax с параметром 1 или 4 суммы собирает, но тут он схлопывает в одну сумму по всем

кодам дохода.

В итоге, при большой необходимости, информацию по видам НУ с помощью R_Tax получить

всё-таки можно.

R_Tax с параметром 106: R_Tax(106,1,_Beg(1),_End(1),Источник выплаты,*,205) эти суммы видит и выделяет

Тоже пошел по такому пути.

А вот в собственном алгоритме НДФЛ на базе 205, R_Tax с параметром 106 суммы не видит

Надо сделать так:

Ну и, конечно же, в ЛС должен присутствовать вид налога с алгоритмом 905.

создать новую таблицу алгоритма НДФЛ на основе 205 алгоритма, в котором каждому виду НУ проставить свой код дохода, тождественный коду вида НУ (104 -> 0104 и т.д.)

Спасибо за идею. 

Единственный (но "длинный") минус - добавление пяти алгоритмов и видов налога...

Ну и разные виды МП с вычетом 503 "схлопнутся" в один. Но это уже несущественно. 

Сервис поддержки клиентов работает на платформе UserEcho