//Перед загрузкой данных
ТаблицаДокументов = Новый ТаблицаЗначений;
ТаблицаДокументов.Колонки.Добавить("Ссылка");
ТаблицаДокументов.Колонки.Добавить("Действие");
Параметры.Вставить("ТаблицаДокументов",ТаблицаДокументов);
//После загрузки объекта
Если ИмяТипаОбъекта = "Документ"
И Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
Если Не ОбъектНайден Тогда
Объект.Записать();
ОбъектМодифицирован = Ложь;
КонецЕсли;
НоваяСтрока = Параметры.ТаблицаДокументов.Добавить();
НоваяСтрока.Ссылка = Объект.Ссылка;
Если Объект.Проведен Тогда
НоваяСтрока.Действие = "Проведение";
ИначеЕсли Объект.ПометкаУдаления Тогда
НоваяСтрока.Действие = "Удаление";
Иначе
НоваяСтрока.Действие = "Отмена";
КонецЕсли;
//Если ПараметрыОбъекта.Получить("Проведен") Тогда
// НоваяСтрока.Действие = "Проведение";
// ИначеЕсли ПараметрыОбъекта.Получить("ПометкаУдаления") Тогда
// НоваяСтрока.Действие = "Удаление";
// Иначе
// НоваяСтрока.Действие = "Отмена";
//КонецЕсли;
КонецЕсли;
После загрузки данных
ТекстСообщенияЗаписи = "";
ТекстСообщенияОшибки = "";
Для каждого СтрокаТч Из Параметры.ТаблицаДокументов Цикл
Если СтрокаТч.Действие = "Отмена" И Не СтрокаТч.Ссылка.Проведен Тогда
Если СтрокаТч.Ссылка.ПометкаУдаления Тогда //Для снятия пометки удаления
Попытка
ДокОбъект = СтрокаТч.Ссылка.ПолучитьОбъект();
ДокОбъект.ПометкаУдаления = Ложь;
ДокОбъект.Записать();
Исключение
КонецПопытки;
КонецЕсли;
Продолжить;
КонецЕсли;
Если СтрокаТч.Действие = "Проведение" Тогда
РежимЗаписи = РежимЗаписиДокумента.Проведение;
Иначе
РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения;
КонецЕсли;
Попытка
ДокОбъект = СтрокаТч.Ссылка.ПолучитьОбъект();
Если (СтрокаТч.Действие <> "Удаление" Или СтрокаТч.Ссылка.Проведен) Тогда
ДокОбъект.Записать(РежимЗаписи);
ТекстСообщенияЗаписи = ТекстСообщенияЗаписи +?(РежимЗаписи = РежимЗаписиДокумента.Проведение,
"Проведен ","Отменено проведение ")
+ Строка(СтрокаТч.Ссылка) + Символы.ПС;
КонецЕсли;
Если СтрокаТч.Действие = "Удаление" Тогда
ДокОбъект.ПометкаУдаления = Истина;
ДокОбъект.Записать();
ИначеЕсли СтрокаТч.Ссылка.ПометкаУдаления Тогда
ДокОбъект.ПометкаУдаления = Ложь;
ДокОбъект.Записать();
КонецЕсли;
Исключение
ТекстСообщенияОшибки = ТекстСообщенияОшибки + Строка(СтрокаТч.Ссылка)+ " : "+ОписаниеОшибки()+ Символы.ПС;
КонецПопытки;
КонецЦикла;
Если Не ПустаяСтрока(ТекстСообщенияЗаписи) Тогда
Сообщить(ТекстСообщенияЗаписи);
КонецЕсли;
Если Не ПустаяСтрока(ТекстСообщенияОшибки) Тогда
Сообщить("Ошибки при отмене проведения: "+ Символы.ПС + ТекстСообщенияОшибки);
КонецЕсли;
Параметры.Удалить("ТаблицаДокументов");
{13} Переменной ОбъектМодифицирован присвоено значение, но оно нигде не используется
Не переносите код таким образом
Добавление данных по регистру в документ "Перенос данных" в ЗУП
ПеренестиЗащищаемыеОбластиПерсональныхДанных (БСП)
ЗаполнитьДанныеРегистраВерсииКлассификаторовОбластейДанных (БСП)
#1, 08 октября 2020 14:25
Что это? Для какого переноса? как это использовать?