Есть проблема с проведением документов по основным средствам.
Последний документ по основным средствам датирован сентябрем 2016г. Тогда это еще была платформа 2.0. Конфигурацию не помню.
Делались только регламентные операции по основным средствам.
Сейчас возникла необходимость оформить документ "Передача ОС".
При попытке проведения появляется сообщение об ошибке:
"Запись с такими ключевыми параметрами уже существует! : НачислениеАмортизацииОСНалоговыйУчет 20.10.2017 09:00:05 ПередачаОС НД0000001 от 20.10.2017 09:00:05 Полуприцеп-цистерна, ООО "ООО" (Регистр сведений Начисление амортизации ОС (Налоговый учет); Номер строки 2)
Причем, подобная ошибка появляется при проведении любых документов по ОС с разными ОС.
Что сделал:
- выгрузка и загрузка
-ТиИ
- Обновил конфигурацию и платформу до последней версии
- консолью запросов смотрел РС НачислениеАмортизацииОСНалоговыйУчет с отбором по ОС. Кроме записи принятия к учету в 2016 году других записей нет.
Раз эта ошибка вылазит не у всех ..значит существуют параметры при которых дублирования не происходит.
В результате дальнейших поисков было выяснено следующее что записывается одинаковые движения в следующих процедурах
1 - СформироватьДвиженияРегистрацияПервоначальныхСведенийОСНУ
2 - СформироватьДвиженияПринятиеКУчетуОС
во второй повлиять невозможно, разбираемся что влияет на первую процедуру.
ОтражатьВНалоговомУчете = УчетнаяПолитика.ПлательщикНалогаНаПрибыль(Реквизиты.Организация, Реквизиты.Период);
Результат = ПолучитьФункциональнуюОпцию("ПлательщикНалогаНаПрибыль", ....
Понимаем что все дело в функциональной опции "ПлательщикНалогаНаПрибыль"
Хранится в "РегистрСведений.НастройкиСистемыНалогообложения.Ресурс.ПлательщикНалогаНаПрибыль"
Синоним "Система налогообложения"
Ресурс "ПлательщикНалогаНаПрибыль" (Булево Да/нет)
В интерфейсе я не нашел как изменить этот флажек
Обработкой для редактирования регистров сведений ставим ее в положение Ложь.
И документы начинается проводится.
(1) Может, делали корректировку регистров по этому ОС? - типа изменяли первоначальную стоимость (зачем - то)
Или может данное ОС уже введено, а потом снова на него хотят ввести еще ОС (не создавая новую карточку ОС)
Дело все в том, что в регистре сведений нет измерения связанного с идентификатором хозяйственных операций, например измерения журнал учёта хозяйственных операций, от этого и возникает ошибка. То есть нет уникального ключевого поля, который однозначно идентифицирует эту и только эту хозяйственную операцию именно по этому и только этому документу. Без этого документы проводиться не будут к сожалению. Ошибка в конфигурации, к сожалению. Необходимо в конфигураторе, создать измерение журнал учёта хозяйственных операций, в том регистре, по которому проводится данный документ, справочник журнал учёта хозяйственных операций, в документе реквизит журнал учёта хозяйственных операций, со ссылкой на данный справочник, измерение ЖурналУчётаХозяйственных операций в соответствующем регистре также должно быть со ссылкой на справочник "ЖурналУчетаХозяйстванныхОпераций" после чего в конструкторе движений изменяет процедуру движения проводя документ также и по измерению "Журнал УчетаХозяйственныхОпераций", которое должно быть ведущим. После чего данная ошибка должна исчезнуть. Основной принцип такой в документе по которому осуществляется движение по какому то из подчинённых регистров должно быть обязательно уникальное поле, позволяющее однозначно идентифицировать данный документ , и это поле должно быть ведущим измерением в регистре, по которому проводится данный документ. По другому никак.
2.
accounting_cons
85823.10.17 08:01 Сейчас в теме
Регистр сведений Начисление амортизации ОС (Налоговый учет) и Регистр сведений Начисление амортизации ОС (Бухгалтерский учет) - это два разных регистра.
Счет учета - 01.01, Счет начисления амортизации - 02.01
Настораживает то, что ошибка появляется при проведении любого документа по ОС и для любого основного средства.
Оформил новое поступление ос. Та же ошибка "Запись с такими ключевыми параметрами уже существует! : ..."
Значит дело не в ОС. Тогда в чем? В реквизитах организации?
(9) В реквизитах организации быть проблемы не может. Т.к. они не прописываются в регистр. Если не разберетесь - пишите - я по удаленке могу подключиться - найдем быстрее чем так мучатся и тыкать палкой в небо.
(9) отладчиком посмотри в обработке проведения,
там таблицы проведения должны быть..вот и посмотри что там приготовилось по твоему регистру. И станет понятно, искать в проведении документа или во вводе остатков.
Верно. И не только принятие к учету, но и все документы по основным средствам.
Отменил проведение документа принятия к учету - нет записей. Консоль запросов по РС "НачислениеАмортизацииНалоговыйУчет" с отбором по конкретному ОС - нет записей.
Пытаюсь провести - сообщение об ошибке "Запись с такими ключевыми параметрами уже существует! : ..."
(20) Странно. Это регистр подчинен регистратору. Такое ощущение, что у Вас документ делает два раза попытку записи одних и тех-же записей этого регистра. Первая запись - все ок, а потом еще раз - и т.к. эта запись уже есть, то и отказ программы. Точно ничего не меняли в конфе?
(23) Ну а там - то чего? - структура конфигурации примерно такая - же. Тут косяк не в этом - т.к. записей перед проведением документа по этому ОС нет. База файловая?
(28) Ну, тогда надо в отладчике смотреть - на процедуре ПриПроведении установите точку останова и посмотрите сколько раз туда войдет отладчик (надеюсь, 1-н раз). Ну а потом - посмотрите в конце этой процедуры установите точку и посмотрите - есть ли записи.
Кажется нашел...
При проведении вызываются последовательно:
УчетОС.СформироватьДвиженияИзменениеПараметровАмортизацииОСНУ(
ТаблицаПараметровАмортизацииНУ,
ПараметрыПроведения.ПараметрыАмортизацииОСНУ,
Движения, Отказ);
и
УчетОС.СформироватьДвиженияИзменениеПризнакаНачисленияАмортизацииОСНУ(
ПараметрыПроведения.НачислениеАмортизацииОССпециальныйКоэффициентНУТаблица,
ПараметрыПроведения.НачислениеАмортизацииОСНУ,
Движения, Отказ);
Внутри:
Процедура СформироватьДвиженияИзменениеПараметровАмортизацииОСНУ(ТаблицаПараметров, ТаблицаРеквизиты, Движения, Отказ) Экспорт
Параметры = ПодготовитьПараметрыИзменениеПараметровАмортизацииОСНУ(ТаблицаПараметров, ТаблицаРеквизиты);
Если Параметры.ТаблицаПараметров.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Реквизиты = Параметры.Реквизиты[0];
ОтражатьВНалоговомУчете = УчетнаяПолитика.ПлательщикНалогаНаПрибыль(Реквизиты.Организация, Реквизиты.Период);
ТипРегистратора = ТипЗнч(Движения.ПараметрыАмортизацииОСНалоговыйУчет.Отбор.Регистратор.Значение);
Если НЕ ОтражатьВНалоговомУчете
И Тип("ДокументСсылка.ИзменениеПараметровНачисленияАмортизацииОС") <> ТипРегистратора Тогда
Возврат;
КонецЕсли;
Для каждого СтрокаТаблицы Из Параметры.ТаблицаПараметров Цикл
Движение = Движения.ПараметрыАмортизацииОСНалоговыйУчет.Добавить();
Движение.Период = Реквизиты.Период;
Движение.ОсновноеСредство = СтрокаТаблицы.ОсновноеСредство;
Движение.Организация = Реквизиты.Организация;
Движение.СрокПолезногоИспользования = СтрокаТаблицы.СрокПолезногоИспользования;
Движение.ПРДляВычисленияАмортизации = СтрокаТаблицы.ПРДляВычисленияАмортизации;
КонецЦикла;
Движения.ПараметрыАмортизацииОСНалоговыйУчет.Записывать = Истина;
Показать
и
Процедура СформироватьДвиженияИзменениеПризнакаНачисленияАмортизацииОСНУ(ТаблицаОС, ТаблицаРеквизиты, Движения, Отказ) Экспорт
Параметры = ПодготовитьПараметрыИзменениеПризнакаНачисленияАмортизацииОСНУ(ТаблицаОС, ТаблицаРеквизиты);
Если Параметры.ТаблицаОС.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Реквизиты = Параметры.Реквизиты[0];
ОтражатьВНалоговомУчете = УчетнаяПолитика.ПлательщикНалогаНаПрибыль(Реквизиты.Организация, Реквизиты.Период);
Если НЕ ОтражатьВНалоговомУчете Тогда
Возврат;
КонецЕсли;
Для каждого СтрокаТаблицы Из Параметры.ТаблицаОС Цикл
Движение = Движения.НачислениеАмортизацииОСНалоговыйУчет.Добавить();
Движение.Период = Реквизиты.Период;
Движение.ОсновноеСредство = СтрокаТаблицы.ОсновноеСредство;
Движение.Организация = Реквизиты.Организация;
Движение.НачислятьАмортизацию = Реквизиты.НачислятьАмортизацию;
КонецЦикла;
Движения.НачислениеАмортизацииОСНалоговыйУчет.Записывать = Истина;
КонецПроцедуры
Показать
Налицо создание дублирующей записи в РС. Или я не прав?
(33) Ну, тут дело в том, что если Вы говорите, что у Вас типовая конфа - то таких косяков в модуле НЕ может быть (Вы же не один работаете на ней) - обновите до самого последнего релиза. Посмотрите.
Та же фигня, релиз 3.0.55.16 не проводит документы "Принятие к учету ОС" с ошибкой
Запись с такими ключевыми полями существует! Регистр сведений: Параметры амортизации ОС (налоговый учет); Номер строки 2
Старые документы после отмены проведения провести нельзя. Регистр пустой, база типовая, SQL
Чувство как будто действительно пытается два раза в регистр писать. Ошибка точно не пользовательская.... такие ошибки не должны пользователи видеть.
ОбработкаПроведения()
УчетОС.СформироватьДвиженияИзменениеПараметровАмортизацииОСНУ()
УчетОС.СформироватьДвиженияИзменениеПризнакаНачисленияАмортизацииОСНУ()
Та же фигня... два раза добавляются движения
Движение = Движения.НачислениеАмортизацииОСНалоговыйУчет.Добавить();
Движение.Период = Реквизиты.Период;
Движение.ОсновноеСредство = СтрокаТаблицы.ОсновноеСредство;
Движение.Организация = Реквизиты.Организация;
Движение.НачислятьАмортизацию = Реквизиты.НачислятьАмортизацию;
Можно выбрать порядок включения стоимости в состав расходов тогда
НачислениеАмортизации = Ложь и дублирования не произойдет...
Но вылазит другая ошибка: Дублирование записей в регистре сведений "ПервоначальныеСведенияОСНалоговыйУчет"
в Процедуре СформироватьДвиженияПринятиеКУчетуОС()
значит путь тупиковый... там это полюбас пишется
Движения.ПервоначальныеСведенияОСНалоговыйУчет.Записывать = Истина;
Для Каждого МПЗ Из СписокМПЗ Цикл
ПервоначальныеСведенияОС = Движения.ПервоначальныеСведенияОСНалоговыйУчет.Добавить();
Раз эта ошибка вылазит не у всех ..значит существуют параметры при которых дублирования не происходит.
В результате дальнейших поисков было выяснено следующее что записывается одинаковые движения в следующих процедурах
1 - СформироватьДвиженияРегистрацияПервоначальныхСведенийОСНУ
2 - СформироватьДвиженияПринятиеКУчетуОС
во второй повлиять невозможно, разбираемся что влияет на первую процедуру.
ОтражатьВНалоговомУчете = УчетнаяПолитика.ПлательщикНалогаНаПрибыль(Реквизиты.Организация, Реквизиты.Период);
Результат = ПолучитьФункциональнуюОпцию("ПлательщикНалогаНаПрибыль", ....
Понимаем что все дело в функциональной опции "ПлательщикНалогаНаПрибыль"
Хранится в "РегистрСведений.НастройкиСистемыНалогообложения.Ресурс.ПлательщикНалогаНаПрибыль"
Синоним "Система налогообложения"
Ресурс "ПлательщикНалогаНаПрибыль" (Булево Да/нет)
В интерфейсе я не нашел как изменить этот флажек
Обработкой для редактирования регистров сведений ставим ее в положение Ложь.
И документы начинается проводится.
У нас ИП на ОСНО + ЕНВД. Мы не являемся плательщиками налога на прибыль.
Я думаю что это рудимент у нас образовался в результате перехода с БП 2.0->3.0
Потому что я не нашел способа убрать галочку через юзер-интерфейс
Возможно есть другие свойства которые влияют на механизм проведения.
Просто именно наша комбинация свойств показывает ошибку.
я не бухгалтер... а в ошибке конфы 100% косяк.
Пользователю не должны выводится сообщение про дубликаты в регистрах это недопустимая ситуация которую доложен предусмотреть разработчик.
Добрый день!
Проблему решили?
Редакция 3.0.58.41 перешли с 2.0.
"Запись с такими ключевыми полями существует! параметры АмортизацииОСБухгалтерский учет" и т.д.
Выдает ошибку при перепроведении старого документа "Принятие к учету ОС" и документ не перепроводится.
Аналогичная шибка была в УТ11 при проведении документа перемещение товаров.
Было два склада "Основной Красноярск" и "Основной Кемерово". И еще один просто склад.
При перемещении с Красноярска в Кемерово или обратно вылетала эта ошибка.
Решилось при изменении названия одного из двух складов.
После этого даже поменял обратно - все работало. т.е. имел место глюк платформы. Проверка самой базы - тестирование и лечение никаких ошибок не выявило.
Сегодня начала бороться с такой же проблемой. Цель: принять ОС с амортизационной премией. Соответственно документ Поступление ОС не подошел. А документ Принятие к учету ОС выдавал ошибку, подобную той, что описали, что запись в регистре сведений ПараметрыАмортизацииОСНалоговыйУчет уже существует. Скрин выкладывать не буду, думаю и так все понятно.
Проверила конфу - изменена, но не в плане ОС. На другой базе при таком же релизе все проходит на "ура".
Вывод проблема именно в моей базе, а не в релизе.
Найденное решение: Регистр Сведений "Система налогообложения". Создаю новую запись текущим годом. Все замечательно провелось.