Обработку проведения документа "Событие" мы не трогали.
Вероятно, проблема у нас была связана со следующим:
Для хранения значений некоторых групп событий были созданы константы.
На форму документа "Событие" было выведено поле, при выборе значения которого происходило создание нового "События". Группа создаваемого события зависела от группы исходного События (группа исходного события сравнивалась со значением константы). Все это происходило в транзакции. Код целиком не привожу, примерно так (чтобы смысл был понятен):
СоздаватьСобытие = Ложь;
Если тРезультатПереговоров = Перечисления.РезультатыПереговоров.ЗаключенКонтракт Тогда
СоздаватьСобытие = Истина;
ГруппаНовогоСобытия = Константы.ГруппаСобытийКонтракт.Получить();
ИначеЕсли тРезультатПереговоров = ... Тогда
...
КонецЕсли;
Если СоздаватьСобытие Тогда
НачатьТранзакцию();
Если Модифицированность Тогда
ТекстВопроса = "Для выполнения данной операции необходимо записать документ. Записать?";
Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Если Ответ <> КодВозвратаДиалога.Да Тогда
ОтменитьТранзакцию();
Возврат;
Иначе
Попытка
УспешноЗаписано = ЗаписатьВФорме();
Исключение
Сообщить(ОписаниеОшибки());
ОтменитьТранзакцию();
Возврат;
КонецПопытки;
КонецЕсли;
КонецЕсли;
Если Не УспешноЗаписано Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
НовоеСобытие = Документы.Событие.СоздатьДокумент();
НовоеСобытие.Заполнить(Ссылка);
НовоеСобытие.ГруппаСобытия = ГруппаНовогоСобытия;
Форма = НовоеСобытие.ПолучитьФорму("CRM_ФормаДокумента");
Результат = Форма.ОткрытьМодально();
Если НЕ НовоеСобытие.Проведен Тогда
ОтменитьТранзакцию();
Иначе
РезультатПереговоров = тРезультатПереговоров;
ЗафиксироватьТранзакцию();
КонецЕсли;
КонецЕсли;
Сейчас транзакции при выполнении данной операции убрала и пока (с субботы) подобных ошибок больше не было.
Вероятно, проблема у нас была связана со следующим:
Для хранения значений некоторых групп событий были созданы константы.
На форму документа "Событие" было выведено поле, при выборе значения которого происходило создание нового "События". Группа создаваемого события зависела от группы исходного События (группа исходного события сравнивалась со значением константы). Все это происходило в транзакции. Код целиком не привожу, примерно так (чтобы смысл был понятен):
СоздаватьСобытие = Ложь;
Если тРезультатПереговоров = Перечисления.РезультатыПереговоров.ЗаключенКонтракт Тогда
СоздаватьСобытие = Истина;
ГруппаНовогоСобытия = Константы.ГруппаСобытийКонтракт.Получить();
ИначеЕсли тРезультатПереговоров = ... Тогда
...
КонецЕсли;
Если СоздаватьСобытие Тогда
НачатьТранзакцию();
Если Модифицированность Тогда
ТекстВопроса = "Для выполнения данной операции необходимо записать документ. Записать?";
Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Если Ответ <> КодВозвратаДиалога.Да Тогда
ОтменитьТранзакцию();
Возврат;
Иначе
Попытка
УспешноЗаписано = ЗаписатьВФорме();
Исключение
Сообщить(ОписаниеОшибки());
ОтменитьТранзакцию();
Возврат;
КонецПопытки;
КонецЕсли;
КонецЕсли;
Если Не УспешноЗаписано Тогда
ОтменитьТранзакцию();
Возврат;
КонецЕсли;
НовоеСобытие = Документы.Событие.СоздатьДокумент();
НовоеСобытие.Заполнить(Ссылка);
НовоеСобытие.ГруппаСобытия = ГруппаНовогоСобытия;
Форма = НовоеСобытие.ПолучитьФорму("CRM_ФормаДокумента");
Результат = Форма.ОткрытьМодально();
Если НЕ НовоеСобытие.Проведен Тогда
ОтменитьТранзакцию();
Иначе
РезультатПереговоров = тРезультатПереговоров;
ЗафиксироватьТранзакцию();
КонецЕсли;
КонецЕсли;
Сейчас транзакции при выполнении данной операции убрала и пока (с субботы) подобных ошибок больше не было.