Добрый день. Помогите, пожалуйста, справиться с проблемой. Код процедуры:
Код:
Поцедура ИзменитьОперацию(Операция)
Если Операция.Проведен() = 0 Тогда
Если Операция.Провести() = 0 Тогда
Сообщить("документ " + Операция + " не проведен", "!");
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
При выполнении метода Операция.Провести() появляется ошибка:
Если ТекущаяОперация.Провести() = 0 Тогда
{Обработка.СозданиеКонтрагентовПоОперациям.Форма.Модуль(146)}: Не выбран документ!
Процедура вызывается следующим образом:
Код:
Операция = ТекущаяВыписка.ПервичныйДокумент;
ИзменитьОперацию(Операция);
Пробовал в процедуре перед проводить следующим образом:
Код:
ТекущаяОперация.ТекущийДокумент().Провести()
Но ошибка повторяется. Пробовал переписать код (вставил код получения документа перед проведением):
Код:
Поцедура ИзменитьОперацию(Операция)
ТекущаяОперация = СоздатьОбъект("Документ");
Если ТекущаяОперация.ВыбратьПоНомеру(Операция.НомерДок, Операция.ДатаДок) = 0 Тогда
Сообщить("неудалось выбрать текущую операцию с номером " + Операция.НомерДок, "!");
Возврат;
КонецЕсли;
Если ТекущаяОперация.ПолучитьДокумент() = 0 Тогда
Сообщить("неудалось получить текущую операцию с номером " + Операция.НомерДок, "!");
Возврат;
КонецЕсли;
Если ТекущаяОперация.Проведен() = 0 Тогда
Если ТекущаяОперация.Провести() = 0 Тогда
Сообщить("документ " + ТекущаяОперация + " не проведен", "!");
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
В этом случае все работает. Да вот беда - имеются документы с одинаковыми номерами, т.е. для их извлечения необходимо использовать другой способ (не ВыбратьПоНомеру), что накладно.
Я все же не понимаю - как мне "выбрать" этот документ в первой версии реализации процедуры?
Заранее спасибо!