1с в данной транзакции уже происходили ошибки как исправить
Перейти к содержимому

1с в данной транзакции уже происходили ошибки как исправить

  • автор:

1с в данной транзакции уже происходили ошибки как исправить

Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
В данной транзакции уже происходили ошибки!

Не могу понять в чем проблема,помогите пожалуйста.

после выполнения
Номенклатура=Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдНоменклатуры))
Номенклатура =Ошибка получения представления значения: В данной транзакции уже происходили ошибки!

В поломанной транзакции обращаться к БД нельзя
Истинная проблема где-то в коде до того места, где тебе показало эту ошибку

С чего решил,что здесь?
Номенклатура=Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдНоменклатуры))

(3) после выполнения этой строки номенклатура=Ошибка получения представления значения: В данной транзакции уже происходили ошибки!. Отладчиком проверяла

(2) как найти?
Отладчиком тем более нет смысла проверять, т.к. ты все еще внутри поломанной транзакции

(5) Написать хитрый метод в общем модуле, в каждой строке кода в режиме трассировки вызывать этот метод, который будет возвращать признак того, что транзакция поломана. Ну это если совсем тямы нет прикинуть по коду, где же факап случился.

(4)Нет,ищи ранее

(8) я взяла эту обработку из комплексной и перенесла на нашу самописку. Там все хорошо работает.а тут такая ошибка.

(9) И че?Ищи,попробуй на копии без транзакции

(10) так странно. В этой функции ВИНоменклатуры = Неопределено
Функция НайтиСоздатьНоменклатуру(СтрокаТовара, Знач ВидНоменклатуры, СтавкаНДС, ВИНоменклатуры = Неопределено)

Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
ВИНоменклатуры = Неопределено;

УспешноНайдено = ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ВИНоменклатуры= Неопределено);

а при вызове ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам приходит уже Истина.
Функция ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ВИНоменклатуры)

Если НЕ ЗначениеЗаполнено(СтрокаТовара.ТоварУслугаИд) Тогда
Возврат Ложь;
КонецЕсли;

ИдНоменклатуры = ПолучитьИдНоменклатуры(СтрокаТовара.ТоварУслугаИд);
Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдНоменклатуры));

Истина это нашла или нет?Я же не вижу что там
(12) Если посмотреть в комплексной,то там получает так же неопределено. А у меня истина.
(13) Может стоит подумать над кодом и отличиями?
в транзакции нельзя записывать с попыткой. все равно ломается
(14) Вот ищу отличия

Функция ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ВИНоменклатуры)
Возврат Истина
КонецФункции

Тогда увидишь где ошибка ранее

Вместо УспешноНайдено = ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ВИНоменклатуры= Неопределено);
нужно УспешноНайдено = ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ВИНоменклатуры);

УспешноНайдено = ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ВИНоменклатуры= Неопределено);

— ну еще бы оно не приходило «Истина»

(18) ошибка осталась
(17) не вижу ошибку ранее,значит она в этой функции

(15) убрала попытку и вышла вот такая ошибка. : Ошибка при вызове метода контекста (ПолучитьОбъект)
Если Номенклатура.ПолучитьОбъект() = Неопределено Тогда
по причине:
В данной транзакции уже происходили ошибки!

Функция ВыполнитьПоискНоменклатурыХарактеристикиПоСсылкам(СтрокаТовара, Номенклатура, ХарактеристикаНоменклатуры)

Если НЕ ЗначениеЗаполнено(СтрокаТовара.ТоварУслугаИд) Тогда
Возврат Ложь;
КонецЕсли;

ИдНоменклатуры = ПолучитьИдНоменклатуры(СтрокаТовара.ТоварУслугаИд);
Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдНоменклатуры));
Если Номенклатура = Справочники.Номенклатура.ПустаяСсылка() Тогда
Возврат Ложь;
КонецЕсли;

Если Номенклатура.ПолучитьОбъект() = Неопределено Тогда
// Объект не найден
СообщитьПользователю(«Номенклатура не найдена по уникальному идентификатору: » + ИдНоменклатуры, Ложь);
Возврат Ложь;
КонецЕсли;

Если НЕ Номенклатура.ВестиУчетПоХарактеристикам Тогда
Возврат Истина;
КонецЕсли;

ИдХарактеристики = ПолучитьИдХарактеристики(СтрокаТовара.ТоварУслугаИд);
Если ПустаяСтрока(ИдХарактеристики) Тогда
Возврат Истина;
КонецЕсли;

ХарактеристикаНоменклатуры = Справочники.ВариантыИсполнения.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдХарактеристики));
ПустаяХарактеристикаСсылка=Справочники.ВариантыИсполнения.ПустаяСсылка();
Если ХарактеристикаНоменклатуры = ПустаяХарактеристикаСсылка Тогда
Возврат Истина;
КонецЕсли;

Если ХарактеристикаНоменклатуры.ПолучитьОбъект() = Неопределено Тогда
СообщитьПользователю(«Объект не найден: » + Строка(ИдХарактеристики)
+ «. Будет создан новый объект.», Ложь);

Поле объекта не обнаружено (СписокПолученныхТС) / В данной транзакции уже происходили ошибки!

Для решения ошибки может помочь одно из следующих действий:

2. Выполните диагностику 1С-Отчетности. Если в процессе диагностики обнаружились нерасшифровывающиеся сообщения — добавьте их в исключения.

3. Проверьте, включено ли использование внешнего модуля. Если да, создайте резервную копию информационной базы, после чего отключите внешний модуль.

Внешний модуль в управляемых конфигурациях (БП 3.0, ЗУП 3.1 и др.) находится в прочих настройках обмена. Если отметка Использовать внешний модуль проставлена — снимите её, после чего перезапустите 1С.

Внешний модуль в неуправляемых конфигурациях (БП 2.0, ЗУП 2.5, УПП 1.3 и др.) находится по пути Отчеты → Регламентированные отчеты → Настройки → Для настройки параметров документооборота нажмите здесь (внизу). Отметьте пункт Использовать встроенный модуль документооборота, после чего перезапустите 1С.

5. Обновите конфигурацию 1С до последней версии.

6. Если ошибка появляется в управляемых конфигурациях при обмене и отправке, пометьте на удаление созданные объекты во Все функции → Справочники → Тома хранения файлов.

Ошибки в транзакциях 1С

В ходе работы на платформе 1С, периодически возникают различные ошибки. Многие из них связаны с процессами осуществления транзакций. Причем, в процессе выполнения той или иной транзакции, может произойти как невосстановимая, так и восстановимая ошибка. В первом случае произойдет отмена всех изменений, сделанных в процессе выполнения транзакции. Во втором случае произойдет отмена той операции, которая собственно и вызвала ошибку. Однако, стоит учитывать, что даже в случае восстановления процесса, произойдет полная отмена транзакции.

Транзакцией называют последовательность действий, которые неделимы и логически связаны друг с другом. К таковым можно отнести действия, связанные с переводом денег с одного счета на другой. Как правило, транзакция происходит автоматически, хотя может запускаться вручную.

Довольно часто, пользователь видит на экране сообщение «В данной транзакции уже происходили ошибки!». Это происходит по причине вызова исключительной ситуации в транзакции. Происходящие попытки ведут к созданию неявной транзакции, что в свою очередь ведет к ее полному откату. Когда происходит восстановимая ошибка, то вызванное данной ошибкой исключение перехватывается. Однако, повторное выполнение приведет к ошибке, так как в данной транзакции уже была ошибка, связанная с базой данных.

Выйти из ситуации можно только путем полной отмены всей транзакции, в целом. Соответственно, чтобы завершить необходимые процесс, ее нужно начать заново, с самого начала.

Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку

В данной транзакции уже происходили ошибки!

Добрый день!
1С:Предприятие 8.3.13.1644
Управление торговлей, редакция 11.4.2.132
При попытке проведения «Приобретение товаров и услуг» выдаёт ошибку: «В данной транзакции уже происходили ошибки!»
Я — полный чайник. Помогите, пожалуйста, пошагово решить проблему.
Благодарю.

активный пользователь
Дата регистрации: 18.02.2002
Сообщений: 20937
10.08.2022 11:28

Цитата
Помогите, пожалуйста, пошагово решить проблему. Благодарю.

Начните с модуля менеджера регистра сведений «Аналитика учета номенклатуры»
Показывать по 10 20 40 сообщений

Читают тему:

Мероприятия

© ООО «1С-Паблишинг» (материалы)

При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.

Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.

Редакция уважает мнение авторов, но не всегда разделяет его.

Дизайн сайта

© ООО «1C» 2000-2023 г.

Мы используем файлы cookie, чтобы анализировать трафик, подбирать для вас подходящий контент и рекламу, а также дать вам возможность делиться информацией в социальных сетях. Если вы продолжите использовать сайт, мы будем считать, что вас это устраивает.

Добавить комментарий

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