![]() |
|
БП 3.0 : Откуда берутся такие суммы в регистре накопления - Уплата НДФЛ ??? | ☑ | ||
---|---|---|---|---|
0
sapravka
23.08.15
✎
17:02
|
Здравствуйте.
Если что не так - прошу сильно не ругать. Есть база, типовая бухгалтерии предприятия 3.0. Делали тестирование и исправление с пересчетом итогов, проверяли на физическую целостность, а в базе выходят в справке 2ндфл большие суммы и другие документы которые формируют отчеты по 2НДФЛ. Смотрели в начислениях, в перечислениях, в платежках и банковских выписках, в операциях введенных вручную - нигде нет и близко таких огромных сумм!!! Нашел что в регистре накопления: Уплата НДФЛ налоговыми агентами (к распределению) попали очень большие суммы: http://s017.radikal.ru/i413/1508/40/99450e3262ae.jpg Смотрел платежное поручение на основании которого якобы получились такие суммы, а там вообще нет таких сумм, но вот когда нажимаю на просмотр - Реестр перечисленных сумм налога на доходы физических лиц - там по каждому человеку выходят слишком огромные суммы как с плюсом так и с минусом, сами посмотрите: http://s016.radikal.ru/i335/1508/99/057ecc43b9b1.jpg Убедительно прошу, подскажите: Как исправить данную ошибку? |
|||
1
GenV
23.08.15
✎
20:24
|
(0) проверить отладчиком как формируются движения, если провести повторно?
|
|||
2
Забияка
23.08.15
✎
20:26
|
(0)Проверь предыдущие периоды - оттуда ноги растут, имхо.. Программа пытается отсторнировать в текущем периоде суммы исчисленного НДФЛ за предыдущие периоды..
|
|||
3
sapravka
23.08.15
✎
20:55
|
(1) Вот хотелось самому понять откуда программа формирует такие суммы...
|
|||
4
GenV
24.08.15
✎
02:15
|
(3) Поставь точку в модуле документа в процедуре ПодготовитьТаблицыНалоговВзносовФОТ и посмотри, что запрос в ЗадолженностьРаботников возвращает. Потом анализируй в какой таблице проблемы.
|
|||
5
sapravka
24.08.15
✎
03:24
|
(4) Нашел в модуле документа СписаниеСРасчетноСчета:
ТаблицыУплатыВзносовФОТИП = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицыУплатыВзносовФОТ(ПараметрыПроведения.ПеречислениеНалогаИПТаблица, ПараметрыПроведения.Реквизиты); Вот только пробовал вычислять значения, а никаких цифр там нет, в этих двух функциях И как еще посмотреть откуда берется цифры при проведении? Функция ПодготовитьТаблицыУплатыВзносовФОТ(ТаблицаВзносов, ТаблицаРеквизитов) Экспорт ТаблицыВзносовФОТ = Новый Структура("СписокВзносов, СписокПереплат"); Параметры = ПодготовитьПараметрыТаблицУплатыВзносовФОТ(ТаблицаВзносов, ТаблицаРеквизитов); Если Параметры.Реквизиты.Количество() = 0 ИЛИ Параметры.СписокВзносов.Количество() = 0 Тогда Возврат ТаблицыВзносовФОТ; КонецЕсли; Реквизиты = Параметры.Реквизиты[0]; Если НЕ УчетнаяПолитика.ПлательщикНДФЛ(Реквизиты.Организация, Реквизиты.Период) Тогда Возврат ТаблицыВзносовФОТ; КонецЕсли; Счета69 = БухгалтерскийУчетВызовСервераПовтИсп.СчетаВИерархии(ПланыСчетов.Хозрасчетный.РасчетыПоСоциальномуСтрахованию); Счета69_06 = БухгалтерскийУчетВызовСервераПовтИсп.СчетаВИерархии(ПланыСчетов.Хозрасчетный.Взносы_СтраховойГод); Если Счета69.Найти(Реквизиты.СчетУчета) = Неопределено Тогда // Это не взносы Возврат ТаблицыВзносовФОТ; ИначеЕсли Счета69_06.Найти(Реквизиты.СчетУчета) <> Неопределено Тогда // Фиксированные страховые взносы Возврат ТаблицыВзносовФОТ; КонецЕсли; ВидыПринимаемыхПлатежей = Перечисления.ВидыПлатежейВГосБюджет.ВидыНалоговыхПлатежей(); СуммаПринимаемая = 0; Для Каждого Взнос Из Параметры.СписокВзносов Цикл Если Взнос.СчетДт = Реквизиты.СчетУчета И ВидыПринимаемыхПлатежей.Найти(Взнос.СубконтоДт1) <> Неопределено Тогда СуммаПринимаемая = СуммаПринимаемая + Взнос.СуммаРуб; КонецЕсли; КонецЦикла; Если СуммаПринимаемая = 0 Тогда // Уплата налоговых санкций в расходы не включается Возврат ТаблицыВзносовФОТ; КонецЕсли; // Установка управляемой блокировки СтруктураПараметров = Новый Структура("ТипТаблицы, ИмяТаблицы", "РегистрНакопления", "ПрочиеРасчеты"); ЗначенияБлокировки = Новый Структура; ЗначенияБлокировки.Вставить("Период", Новый Диапазон(, Реквизиты.Период)); ЗначенияБлокировки.Вставить("Организация", Реквизиты.Организация); ЗначенияБлокировки.Вставить("СчетУчета", Реквизиты.СчетУчета); ОбщегоНазначенияБПВызовСервера.УстановитьУправляемуюБлокировку(СтруктураПараметров, ЗначенияБлокировки); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаОстатков", Новый Граница(Новый МоментВремени(Реквизиты.Период, Реквизиты.Регистратор), ВидГраницы.Исключая)); Запрос.УстановитьПараметр("Организация", Реквизиты.Организация); Запрос.УстановитьПараметр("СчетУчета", Реквизиты.СчетУчета); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПрочиеРасчетыОстатки.РасчетныйДокумент |ИЗ | РегистрНакопления.ПрочиеРасчеты.Остатки( | &ДатаОстатков, | Организация = &Организация | И СчетУчета = &СчетУчета) КАК ПрочиеРасчетыОстатки"; РезультатЗапроса = Запрос.Выполнить(); СписокНалоговВзносов = ПолучитьПустуюТаблицуСписокВзносов(); СписокПереплат = ПолучитьПустуюТаблицуСписокПереплат(); Если НЕ РезультатЗапроса.Пустой() Тогда ТаблицаРезультатаЗапроса = РезультатЗапроса.Выгрузить(); СписокРасчетныхДокументов = ТаблицаРезультатаЗапроса.ВыгрузитьКолонку("РасчетныйДокумент"); // Установка управляемой блокировки СтруктураПараметров = Новый Структура("ТипТаблицы, ИмяТаблицы", "РегистрНакопления", "ИППрочиеРасходы"); ЗначенияБлокировки = Новый Структура; ЗначенияБлокировки.Вставить("Период", Новый Диапазон(, Реквизиты.Период)); ЗначенияБлокировки.Вставить("Организация", Реквизиты.Организация); ЗначенияБлокировки.Вставить("СчетУчета", Реквизиты.СчетУчета); ОписаниеИсточника = Новый Структура("РасчетныйДокумент", "РасчетныйДокумент"); СтруктураПараметров.Вставить("ИсточникДанных", ПодготовитьИсточникДанныхБлокировки(СтруктураПараметров, ТаблицаРезультатаЗапроса, ОписаниеИсточника)); ОбщегоНазначенияБПВызовСервера.УстановитьУправляемуюБлокировку(СтруктураПараметров, ЗначенияБлокировки, ОписаниеИсточника); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаОстатков", Новый Граница(Новый МоментВремени(Реквизиты.Период, Реквизиты.Регистратор), ВидГраницы.Исключая)); Запрос.УстановитьПараметр("Организация", Реквизиты.Организация); Запрос.УстановитьПараметр("СчетУчета", Реквизиты.СчетУчета); Запрос.УстановитьПараметр("ДатаНач", ДатаПервогоДокумента(СписокРасчетныхДокументов)); Запрос.УстановитьПараметр("СписокРасчетныхДокументов", СписокРасчетныхДокументов); Запрос.Текст = "ВЫБРАТЬ | ИППрочиеРасходыОбороты.НоменклатурнаяГруппа, | ИППрочиеРасходыОбороты.ХарактерДеятельности, | ИППрочиеРасходыОбороты.СтатьяЗатрат, | ИППрочиеРасходыОбороты.РасчетныйДокумент, | ИППрочиеРасходыОбороты.СуммаОборот |ПОМЕСТИТЬ ВТИППрочиеРасходыОбороты |ИЗ | РегистрНакопления.ИППрочиеРасходы.Обороты( | &ДатаНач, | &ДатаОстатков, | , | РасчетныйДокумент В (&СписокРасчетныхДокументов) | И ДокументОплаты = НЕОПРЕДЕЛЕНО | И СчетУчета = &СчетУчета) КАК ИППрочиеРасходыОбороты | |ИНДЕКСИРОВАТЬ ПО | ИППрочиеРасходыОбороты.РасчетныйДокумент |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОплатаТруда.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, | ОплатаТруда.ХарактерДеятельности КАК ХарактерДеятельности, | ОплатаТруда.СтатьяЗатрат КАК СтатьяЗатрат, | ОплатаТруда.РасчетныйДокумент КАК РасчетныйДокумент, | ЕСТЬNULL(РеквизитыРасчетныхДокументов.ДатаРегистратора, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаРасчетногоДокумента, | ОплатаТруда.СуммаОборот КАК Сумма |ИЗ | ВТИППрочиеРасходыОбороты КАК ОплатаТруда | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПервичныхДокументов КАК РеквизитыРасчетныхДокументов | ПО (РеквизитыРасчетныхДокументов.Организация = &Организация) | И ОплатаТруда.РасчетныйДокумент = РеквизитыРасчетныхДокументов.Документ | |УПОРЯДОЧИТЬ ПО | ДатаРасчетногоДокумента, | РасчетныйДокумент, | СтатьяЗатрат, | НоменклатурнаяГруппа, | ХарактерДеятельности"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл СуммаОплаты = Мин(СуммаПринимаемая, Выборка.Сумма); Если СуммаОплаты > 0 Тогда НоваяСтрока = СписокНалоговВзносов.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка); НоваяСтрока.ДокументОплаты = Реквизиты.Регистратор; НоваяСтрока.СуммаОплаты = СуммаОплаты; СуммаПринимаемая = СуммаПринимаемая - СуммаОплаты; КонецЕсли; КонецЦикла; КонецЕсли; // Отражение переплаты Если СуммаПринимаемая > 0 Тогда Переплата = СписокПереплат.Добавить(); Переплата.СчетУчета = Реквизиты.СчетУчета; Переплата.Сумма = СуммаПринимаемая; КонецЕсли; ТаблицыВзносовФОТ.СписокВзносов = СписокНалоговВзносов; ТаблицыВзносовФОТ.СписокПереплат = СписокПереплат; Возврат ТаблицыВзносовФОТ; КонецФункции Функция ПодготовитьПараметрыТаблицУплатыВзносовФОТ(ТаблицаВзносов, ТаблицаРеквизитов) Параметры = Новый Структура; // Подготовка таблицы Параметры.СписокВзносов СписокОбязательныхКолонок = "" + "СчетДт," // <ПланСчетовСсылка.Хозрасчетный> + "СубконтоДт1," // <Характеристика.ВидыСубконтоХозрасчетные> + "СуммаРуб"; // <Число,15,2> - сумма перечисляемого налога Параметры.Вставить("СписокВзносов", ОбщегоНазначенияБПВызовСервера.ПолучитьТаблицуПараметровПроведения( ТаблицаВзносов, СписокОбязательныхКолонок)); // Подготовка таблицы Параметры.Реквизиты СписокОбязательныхКолонок = "" + "Период," // <Дата> - период движений - дата документа + "Регистратор," // <ДокументСсылка.*> - документ-регистратор движений + "Организация," // <СправочникСсылка.Организации> + "ВидОперации," // <ПеречислениеСсылка.*> - вид операции документа + "СчетУчета"; // <ПланСчетовСсылка.Хозрасчетный> - счет учета налогов Параметры.Вставить("Реквизиты", ОбщегоНазначенияБПВызовСервера.ПолучитьТаблицуПараметровПроведения( ТаблицаРеквизитов, СписокОбязательныхКолонок)); Возврат Параметры; КонецФункции Функция ПодготовитьПараметрыТаблицУплатыВзносовФОТ(ТаблицаВзносов, ТаблицаРеквизитов) Параметры = Новый Структура; // Подготовка таблицы Параметры.СписокВзносов СписокОбязательныхКолонок = "" + "СчетДт," // <ПланСчетовСсылка.Хозрасчетный> + "СубконтоДт1," // <Характеристика.ВидыСубконтоХозрасчетные> + "СуммаРуб"; // <Число,15,2> - сумма перечисляемого налога Параметры.Вставить("СписокВзносов", ОбщегоНазначенияБПВызовСервера.ПолучитьТаблицуПараметровПроведения( ТаблицаВзносов, СписокОбязательныхКолонок)); // Подготовка таблицы Параметры.Реквизиты СписокОбязательныхКолонок = "" + "Период," // <Дата> - период движений - дата документа + "Регистратор," // <ДокументСсылка.*> - документ-регистратор движений + "Организация," // <СправочникСсылка.Организации> + "ВидОперации," // <ПеречислениеСсылка.*> - вид операции документа + "СчетУчета"; // <ПланСчетовСсылка.Хозрасчетный> - счет учета налогов Параметры.Вставить("Реквизиты", ОбщегоНазначенияБПВызовСервера.ПолучитьТаблицуПараметровПроведения( ТаблицаРеквизитов, СписокОбязательныхКолонок)); Возврат Параметры; КонецФункции |
|||
6
RoRu
24.08.15
✎
07:39
|
Сталкивался с таким , имхо БП 3 кривая в некоторых случаях , у вас наверно несколько доков начисл и выпл зп в месяц по одним и тем же челам
|
|||
7
sapravka
24.08.15
✎
09:13
|
(6) Да, но там нет нигде таких огромных сумм...
Из-за чего это может быть? И главное, как это исправить? |
|||
8
Флудер
24.08.15
✎
09:27
|
(7) Предлагаешь нам за тебя отладчиком пройтись?
|
|||
9
RoRu
26.08.15
✎
08:28
|
(7) кривая,
обрати внимание после 2ух перепроведений без изменений доков суммы 2 раза поменяются |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |