Имя: Пароль:
1C
 
Не проводятся документы после обновления БП
0 Анютик
 
17.10.18
23:45
Коллеги, я в тупике. Обновила нетиповую. При проведении типового документа ПКО вываливает ошибку "Ошибка получения представления значения: В данной транзакции уже происходили ошибки!".
В отладчике нашла - обработка подписки на событие, вызывается из модуля менеджера регистра сведений
Процедура ЗарегистрироватьУстранениеПроблемы(Источник, ТипПроблемы) Экспорт
    
    Если Источник.ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если Источник.ЭтоНовый() Тогда
        Возврат;
    КонецЕсли;
    
    Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
        
        СсылкаНаИсточник = Источник.Ссылка;
        
        НовоеЗначениеПометкиУдаления = Источник.ПометкаУдаления;
        
        ОбменДаннымиВызовСервера.ЗарегистрироватьУстранениеПроблемы(СсылкаНаИсточник, ТипПроблемы, НовоеЗначениеПометкиУдаления);
        
    КонецЕсли;
    
КонецПроцедуры

Объект определяет, при обращении на ссылку и любые ссылочные реквизиты - ошибка та же. Куда смотреть? права прошерстила, вроде все ок. ТИИ делала:) Впервые вижу такого зверя
1 Franchiser
 
гуру
18.10.18
00:07
Транзакция внутри транзакции, возможно при проведении одного документа проводятся связанные документы. У меня так было с каким-то документом и привязанным к нему СЧФ
2 Анютик
 
18.10.18
00:23
(1) нет, там тупо пишется регистр сведений. Я понять не могу, почему объект читается, а ссылка нет? разве такое может быть?
3 Анютик
 
18.10.18
00:32
Процедура ЗарегистрироватьУстранениеПроблемы(Источник, ТипПроблемы, Знач НовоеЗначениеПометкиУдаления) Экспорт
    
    УстановитьПривилегированныйРежим(Истина);
    
    Если ОбменДаннымиПовтИсп.ИспользуемыеПланыОбмена().Количество() > 0
        И (БезопасныйРежим() = ЛОЖЬ ИЛИ Пользователи.ЭтоПолноправныйПользователь()) Тогда
        
        НаборЗаписейКонфликта = РегистрыСведений.РезультатыОбменаДанными.СоздатьНаборЗаписей();
        НаборЗаписейКонфликта.Отбор.ПроблемныйОбъект.Установить(Источник);
        НаборЗаписейКонфликта.Отбор.ТипПроблемы.Установить(ТипПроблемы);
        
        НаборЗаписейКонфликта.Прочитать();
        
        Если НаборЗаписейКонфликта.Количество() = 1 Тогда
            
            Если НовоеЗначениеПометкиУдаления <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник, "ПометкаУдаления") Тогда
                
                НаборЗаписейКонфликта[0].ПометкаУдаления = НовоеЗначениеПометкиУдаления;
                НаборЗаписейКонфликта.Записать();
                
            Иначе
                
                НаборЗаписейКонфликта.Очистить();
                НаборЗаписейКонфликта.Записать();
                
            КонецЕсли;
            
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
4 Анютик
 
18.10.18
01:36
(1) о да...то, чего не может быть. Правы, вложенные транзакции. Тоже в подписке....еле нашла. Спасибо!