Имя: Пароль:
1C
1С v8
БП. Регистр РасчетТранспортногоНалога после релиза 3.0.157.32
0 Dmitry34
 
11.10.24
13:18
Добрый день всем.

Столкнулся с проблемкой, которую пока не победил. Суть: 1С Бухгалтерия 3.0.157.32. Конфигурация почти типовая 99,9%, добавлено пару реквизитов к реализации, ни на что не влияющих, много лет с ними живем. Пытаюсь обновиться на любой следующий релиз, начиная от 3.0.158.23 и выше не важно, проблема одна. При обновлении базы данных в регистре сведений РасчетТранспортногоНалога появляются дубли и, соответственно, база не обновляется, выдавая ошибку «Записи регистра сведений стали не уникальными».

Пытаюсь разобрать ситуацию. Открыл регистр, посмотрел, поля заполнены, дублей нет — ок. Сравниваю конфигурации. В обновлении 3.0.158.23 появляется новый регистр сведений РасчетТранспортногоНалогаДо2020, в него, я так понимаю, должна уйти информация из старого регистра сведений РасчетТранспортногоНалога, затем создаются новые измерения и реквизиты у регистра сведений РасчетТранспортногоНалога и запускается процедура заполнения регистра сведений новыми данными на основе данных из регистра РасчетТранспортногоНалогаДо2020. Понимаю, что алгоритм заполнения данными не отрабатывает логику переноса, в результате чего и получаются ситуация с дублями.

Для того, чтобы посмотреть все-таки, что там заполняется, я в качестве эксперимента создал у регистра сведений РасчетТранспортногоНалога новое измерение, заполнил его какими-то уникальными данными и через конфигуратор снял с поддержки и через режим «Объединить и сравнить» обновил конфигурацию и базу данных до 3.0.158.23. Просматривая содержимое двух регистров сведений, у меня получается регистр РасчетТранспортногоНалогаДо2020 пустой, а в регистре РасчетТранспортногоНалога не заполнено измерение ДатаСведений, а также поля ИФНС, ВидТранспортногоСредства.
Соответственно, как раз из-за того, что измерение ДатаСведений пустое, и появляются дубли.

Часть незаполненных реквизитов я могу заполнить, те же ИФНС, ВидТранспортногоСредства. У меня вопрос: допустимо по логике новое измерение ДатаСведений заполнить старыми данными из измерения ДатаРегистрационныхДанных? Должен ли регистр РасчетТранспортногоНалогаДо2020 быть пустым?

Пробовал перед обновлением делать «Тестирование и исправление», пробовал обновлять как через файл, так и запускал в автоматическом режиме через стандартное обновление, очищал кеши перед обновлением, пробовал разные платформы 24,25 последние. Может, кто сталкивался? Понимаю, что в данных, скорее всего, есть что-то, что ломает логику заполнения. Как найти? Хоть направление какое-нибудь подскажите.
1 Dmitry34
 
11.10.24
13:17
Забыл добавить. Возможности посмотреть в обновленную базу другой организации например в эти регистры - нет, сравнить не с чем.
2 Гена
 
11.10.24
13:47
Заинтересовался. Глянул. Этот регистр только в Корп, а он у меня есть )

Дело в том, что с 2021 года отменили декларации по транспортному налогу (ТН) и отменили право регионов на отмену квартальных авансов (Москва, например).
Значит искать надо дату перехода в коде. Вот она:
Функция НачалоПримененияНовогоРасчетаТранспортногоНалога() Экспорт    
    Возврат '20200101';
КонецФункции

Смотрим где она участвует и выходим на:
Процедура ЗаполнитьДаннымиПрежнегоРегистра
которая переносит все данные из  РегистрСведений.РасчетТранспортногоНалогаДо2020
в РегистрСведений.РасчетТранспортногоНалога

Осталось найти в каком обновлении:
Обработчик = Обработчики.Добавить();
    Обработчик.Версия              = "3.0.158.14";
    Обработчик.Процедура           = "РегистрыСведений.РасчетТранспортногоНалога.ЗаполнитьДаннымиПрежнегоРегистра";
    Обработчик.НачальноеЗаполнение = Истина;

Вывод: Вы зря проскочили 158.14 при обновлении 157.32 -> 158.23

Второй вывод: Этот старый РС нужен тогда и только тогда, если возьмётесь переделывать ТН за 2019 год или ранее.
3 Гена
 
11.10.24
14:05
Кстати, вот вам, коллеги, реальная пятничная задачка из моего жизненного опыта.
Как уже было сказано выше с 01.01.2021 отменили декларации по ТН и платить обязали по требованию, которое рассчитывает и присылает сама ИФНС. Естественно, зацепили весь 2020 год.
Но нашлись фирмы-торопыги, которые умудрились послать декларацию за 2020 год под бой курантов 31 декабря 2020 года. И тогда, и сейчас налоговая принимает декларации последним днём периода.
Весной же поступило Требование на ТН за тот же 2020 год. Двойное начисление. Требование не отменить, значит надо убрать ту дурацкую последнюю декларацию. А убрать невозможно! Программа налоговиков на все попытки корректировок резонно отвечает:
- Декларация за 2020 не предоставляется. Отказ.

Личное общение с налоговиками ничего не даёт - они не могут вручную ничего править в своей программе, т.к. это коррупционная составляющая.
И налогоплательщик ничего не может сделать.

Но ваш покорный слуга сделал )
Вопрос: как?
4 Dmitry34
 
11.10.24
14:41
1. В релизах для скачивания нет 158.14, только 158.23
2. ЗаполнитьДаннымиПрежнегоРегистра находил, смотрел, ничего интересного.
Подскажите в рс РасчетТранспортногоНалогаДо2020 есть данные, не пустой?
5 Гена
 
11.10.24
16:30
(4) Да, должны быть. Хоть регистр и называется "до 2020 года", но там должны быть такие же свежие записи, как и в обычном РС, только структура другая - разработчики недавно структуру поменяли.
6 Гена
 
13.10.24
09:04
Смотрел списки патчей для разных конфигураций и попалось на глаза:
Патч EF_60017460 от 07.10.2024
Если до обновления на релиз 3.0.158 в ИБ были регистрации транспортных средств с несуществующим кодом вида ТС (введенным вручную, не из предложенных), то обработчик обновления регистраций транспортных средств не завершается.
7 Aleksey
 
14.10.24
07:26
Аналогичная проблема. Решил варварским методом. Перед обновления снял все закрытие месяца по расчету транспортного налога (благо их немного, 4 раза в год). после обновления провел их (расчеты в закрытии, пропуская остальные операции) заново. Ну и в конце слегка доработал напильником
8 Dmitry34
 
18.10.24
14:20
День добрый. В проблеме разобрался. Много пробовал вариантов =) Патч видел но он к последней обнове и не про эту ситуацию. Не суть, не в этом трабла. Смысл следующий, расскажу на примере, почему так не спрашивайте, бухгалтера давно нет, спросить некого.
Например: в 2020 году регистрируем ТС Погрузчик1 в регистре РегистрацияТранспортныхСредств. Затем например середине 2021 года, не важно, бухгалтер снова регистрирует это же ОС с другой налоговой ставкой, или другим кодом ТС или возможно нашла ошибку и меняет мощность. Например в 2020 Погрузчик1 50лс, а в 06.2021 Погрузчик1 51лс. Расчет налога естественно идет корректно первые 6 месяцев за 50лс, вторые за 51лс. При закрытии месяца в регистре появляется две записи с одним регистратором и за один период. При обновлении именно такие записи и не давали обновить с описанной выше ошибкой. Тестировал так: брал базу, очищал регистр, добавлял записи без таких вот "дублей" и все обновляется. Потом пробовал просто две записи именно с таким эффектом один регистратор, одно ОС, один период расчета и ошибка повторялась, убираю одну запись и все ок. Правда во всех случаях регистр РасчетТранспортногоНалогаДо2020 после обновления пустой, а в регистре РасчетТранспортногоНалога все заполнено кроме дата сведений, ИФНС, Вид ТС и ОКТМО. Вот так. Думаю либо убрать лишние регистрации и свернуть начисления в одну строку либо как описал Алексей (7). Как лучше хз, там 2020-2021 год.
9 Dmitry34
 
18.10.24
14:24
Еще вопрос, описал проблему в техподдержку 1с, отсылал xml файл для повторения ситуации у них, просят базу. Кто нибудь базу отсылал, есть опыт? Она хоть и не большая в сжатом состоянии 2,5гига но сам факт вызывает у начальства сомнения =)
10 Гена
 
18.10.24
15:51
(9) Значит забацали в программе дубль записей в РС и спрашиваете что делать у техподдержки?
11 Dmitry34
 
21.10.24
10:07
(10) Обработка заполнения регистра при обновлении бацает дубли, потому что не учли скорее всего такой расклад. Смотрите сами, давайте рассуждать.
1. Программа позволяет регистрировать ТС в любом количестве на одно и то же ОС.
2. Расчет транспортного налога учитывает такой расклад, когда одно и то же ОС встречается с изменениями за один расчетный период и корректно считает налог
3. При обновлении алгоритм обрабатывает данные и копирует их в новый регистр, но не понимает, что делать если встречаются в одном периоде одно и то же ТС, пытается запись перенести и это приводит к ошибке.
Кто виноват? Бухгалтер или алгоритм, который не учел такой расклад, но позволял так вести учет? Поэтому и написал в техподдержку в начале пути поиска своего. Плюс (7) тоже столкнулся с этим, значит есть повторение ситуации.
12 Гена
 
21.10.24
10:06
(11) Не мудрите. Кроме постановки на учёт есть и Снятие с учёта. Если что-то меняете, то сначала снимите и только потом ставьте. Тогда и дублей не будет.
13 Dmitry34
 
21.10.24
10:16
Все верно, я лишь разбирал ситуацию. Записи 2020-2021 год.
Интересно повторится ли ситуация если одно и то же ОС ставить, снимать и ставить одним периодом, сдается мне, что она повторится.
14 Гена
 
21.10.24
10:18
(13) Ни в коем случае. Не будет никогда дублей.
15 Dmitry34
 
21.10.24
10:52
Если на тестовой базе отменить все расчеты, регистр будет пуст. Затем обновиться до последней версии, накатить патчи и провести все расчеты снова. Затем выгрузить значения регистров в xml. В боевой базе очистить регистр без отмены проведения расчетов, руками. Затем обновить базу и накатить патчи и затем заполнить регистры из xml. Вариант годный как думаете?
16 Волшебник
 
21.10.24
10:53
(15) "Вы свободный человек свободной страны. Делайте что хотите" (с) Гена
17 Гена
 
21.10.24
10:54
(15) Я бы сделал проще. Обработку обновления - как внешнюю. Убрал бы дубли и запустил её.
18 Гена
 
21.10.24
11:02
(16) В данном случае не стоит давать свободу, иначе автора проклянёт бухгалтерия )

На пальцах: с месяц как структура РС РасчетТранспортногоНалога перестала удовлетворять разработчиков. Записи его упомянутой обработкой просто ПОВТОРИЛИ в новом РС РасчетТранспортногоНалогаДо2020
а РС РасчетТранспортногоНалога теперь по другому структурирован.
19 Dmitry34
 
21.10.24
12:06
Сделал так (15), после перепроведения расчетов транспортного налога регистры заполнились нормально. Проблема ясна. При обновлении обработка заполнения регистра не записывала новое измерение ДатаСведений из-за чего оно всегда оставалось пустым и соответственно если из четырех измерений одно пустое то вероятность появления дубля высока. Как раз на таких записях где был один период расчета, одно ОС и один регистратор при пустом значении ДатаСведений возникал дубль.
(17) Если записи с дублями убирать, то обновление проходило норм, но регистр сведений до 2020 был пуст как и писал ранее, а в регистре расчетТранспортноргоНалога не все измерения и реквизиты были заполнены.  Долгий путь, много вопросов =). Прошу понять и простить если что.
20 Гена
 
26.10.24
08:03
(19) Вчера вышел патч EF_60017826
Дублируются записи расчета транспортного налога, если была перерегистрация транспортного средства в первой половине месяца
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.