Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 08:07

Отмена сделанных операций при ошибке в данных

Автор Максипес, 14 июл 2015, 11:46

0 Пользователей и 1 гость просматривают эту тему.

Максипес

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

Пример:

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

по идее можно сначала пробежаться по ним отдельным циклом и если все ОК в другом цикле грузить в БД.. но может есть способ последовательно их туда грузить проверяя каждую и в случае первой ошибки отменять загрузку уже сделанных?

по отдельной записи так можно сделать

Зап1 = Документы.Сделки.СоздатьДокумент();
    Зап1.Цена = МассивСтр[10];
    ..
    Зап1.Операция = МассивСтр[3];
Зап1.Записать();


тут запись отдельно в конце делается.. и тут можно просто не выполнять последнюю команду и все.

mixqn

выполняйте загрузку в транзакции
НачатьТранзакцию() в начале
ЗафиксироватьТранзакцию() в конце в случае, если все успешно
ОтменитьТранзакцию() в случае любого сбоя

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск