Синхронизация ЗУП 3.1 —> БП 3.0. Ошибка релиза бухгалтерии 3.0.60.46 — при загрузке отражения зарплаты на стороне бухгалтерии не заполняется Регистрация в налоговом органе для подразделений





При загрузке данных из зарплаты в бухгалтерию многие столкнулись с ошибкой релиза — при синхронизации в документе Отражения зарплаты в бухучете в табличной части НДФЛ не заполняется регистрация в налоговом органе — мало того, если указать ее вручную, при сохранении документа запись снова очищается. Эта публикация для тех, кто по каким-либо причинам в данный момент не может произвести обновление на версию 3.0.60.59 и последующие(в них ошибка исправлена) — я расскажу как поправить ошибку в модуле, и также прикладываю внешнюю обработку для заполнения регистрации в табличной части(протестировано на релизе 3.0.58.41).

Для начала стоит отметить, что сам справочник Регистрации в налоговом органе не участвует в синхронизации, поэтому если регистрация для организации или какого-либо подразделения отсутствует, необходимо внести ее в справочник на стороне бухгалтерии(вручную, либо доработать правила обмена данных в конфигурации Конвертация данных). При этом, обратите внимание — должны быть верно заполнены все поля, особенно КПП, КодНалоговогоОргана и ОКТМО, по этом трем реквизитам на стороне бухгалтерии в справочнике регистраций будет производится поиск:

 

Далее если в вашей конфигурации включена возможность изменения, заходим в общий модуль ОтражениеЗарплатыВБухучете и заменяем текст процедуры ЗаполнитьРегистрациюВНалоговомОрганеВКоллекцииСтрок следующим образом:

Процедура ЗаполнитьРегистрациюВНалоговомОрганеВКоллекцииСтрок(Организация, Период, КоллекцияНачисленныйНДФЛ) Экспорт

ГоловнаяОрганизация = ЗарплатаКадрыПовтИсп.ГоловнаяОрганизация(Организация);
ЮридическоеФизическоеЛицо = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ГоловнаяОрганизация,"ЮридическоеФизическоеЛицо");
ОрганизацияЮрлицо = ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо;

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Организация", ГоловнаяОрганизация);

Если ТипЗнч(КоллекцияНачисленныйНДФЛ) = Тип("ДанныеФормыКоллекция") Тогда
Запрос.УстановитьПараметр("НачисленныйНДФЛ", КоллекцияНачисленныйНДФЛ.Выгрузить());
Иначе
// передана таблица значений

Если КоллекцияНачисленныйНДФЛ.Колонки.Найти("НомерСтроки") = Неопределено Тогда
КоллекцияНачисленныйНДФЛ.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 0)));
НомерСтроки = 1;
Для каждого СтрокаТЗ Из КоллекцияНачисленныйНДФЛ Цикл
СтрокаТЗ.НомерСтроки = НомерСтроки;
НомерСтроки = НомерСтроки +1;
КонецЦикла;
КонецЕсли;

Если КоллекцияНачисленныйНДФЛ.Колонки.Найти("РегистрацияВНалоговомОргане") = Неопределено Тогда
КоллекцияНачисленныйНДФЛ.Колонки.Добавить("РегистрацияВНалоговомОргане", Новый ОписаниеТипов("СправочникСсылка.РегистрацииВНалоговомОргане"));
КонецЕсли;

Запрос.УстановитьПараметр("НачисленныйНДФЛ", КоллекцияНачисленныйНДФЛ);

КонецЕсли;

Запрос.Текст =
"ВЫБРАТЬ
| РегистрацииВНалоговомОргане.Ссылка КАК РегистрацияВНалоговомОргане,
| РегистрацииВНалоговомОргане.КодПоОКАТО КАК КодПоОКАТО,
| РегистрацииВНалоговомОргане.КодПоОКТМО КАК КодПоОКТМО,
| РегистрацииВНалоговомОргане.КПП КАК КПП,
| РегистрацииВНалоговомОргане.Код КАК КодНалоговогоОргана
|ПОМЕСТИТЬ ВТРегистрацииВНалоговомОргане
|ИЗ
| Справочник.РегистрацииВНалоговомОргане КАК РегистрацииВНалоговомОргане
|ГДЕ
| РегистрацииВНалоговомОргане.Владелец = &Организация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НачисленныйНДФЛ.НомерСтроки КАК НомерСтроки,
| НачисленныйНДФЛ.КодПоОКАТО КАК КодПоОКАТО,
| НачисленныйНДФЛ.КодПоОКТМО КАК КодПоОКТМО,
| НачисленныйНДФЛ.КПП КАК КПП,
| НачисленныйНДФЛ.КодНалоговогоОргана КАК КодНалоговогоОргана
|ПОМЕСТИТЬ ВТНачисленныйНДФЛ
|ИЗ
| &НачисленныйНДФЛ КАК НачисленныйНДФЛ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НачисленныйНДФЛ.НомерСтроки КАК НомерСтроки,
| РегистрацииВНалоговомОргане.РегистрацияВНалоговомОргане КАК РегистрацияВНалоговомОргане
|ИЗ
| ВТНачисленныйНДФЛ КАК НачисленныйНДФЛ
|  ЛЕВОЕ СОЕДИНЕНИЕ ВТРегистрацииВНалоговомОргане КАК РегистрацииВНалоговомОргане
|  ПО НачисленныйНДФЛ.КодНалоговогоОргана = РегистрацииВНалоговомОргане.КодНалоговогоОргана
|   И НачисленныйНДФЛ.КПП = РегистрацииВНалоговомОргане.КПП
|   И НачисленныйНДФЛ.КодПоОКТМО = РегистрацииВНалоговомОргане.КодПоОКТМО
|ГДЕ
| НЕ РегистрацииВНалоговомОргане.КПП ЕСТЬ NULL";

Если НЕ ОрганизацияЮрлицо Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И НачисленныйНДФЛ.КПП = РегистрацииВНалоговомОргане.КПП", "");
КонецЕсли;
Если Период < УчетНДФЛ.ДатаПереходаНаКодыОКТМО() Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "НачисленныйНДФЛ.КодПоОКТМО = РегистрацииВНалоговомОргане.КодПоОКТМО", "НачисленныйНДФЛ.КодПоОКАТО = РегистрацииВНалоговомОргане.КодПоОКАТО");
КонецЕсли;

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
КоллекцияНачисленныйНДФЛ[Выборка.НомерСтроки - 1].РегистрацияВНалоговомОргане = Выборка.РегистрацияВНалоговомОргане;
КонецЦикла;

КонецПроцедуры

После внесения изменений необходимо повторно произвести синхронизацию — регистрации по организации/подразделениям заполнятся:

В случае, если конфигурация полностью типовая, либо нет возможности внести в нее изменения, заполнить регистрацию можно посредством внешней обработки, приложенной к статье — в ней нужно выбрать документ отражения зарплаты:

Внимание! Для заполнения регистраций в налоговом органе обработкой необходимо, чтобы в табличной части были заполнены КПП, ОКТМО и Код налогового органа и, как уже сказано выше — должен быть заполнен справочник "Регистрации в налоговом органе" для каждой отражаемой структурной единицы(организация, подразделение). 

 

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *