В модуле формы документа Чек необходимо запретить печать табличной формы пока документ не проведён. Написал следующее условие:
Процедура Печать()
Чек=СоздатьОбъект("Документ.Чек");
Чек.ВыбратьДокументы();
Если Чек.ТекущийДокумент.Проведен()=1 Тогда
Сейчас - Поле агрегатного объекта не обнаружено (ТекущийДокумент)
Как спозиционироваться именно на том документе из формы которого будет вызываться процедура Печать() (при условии, что пользователем может быть одновременно открыто сразу несколько форм документов), чтобы ТекущийДокумент вернул ссылку на него, чтобы можно было проверить условие проведённости?
(0) в модуле формы просто Проведен(). Никаких выборок и СоздатьОбъект не надо для работы с текущим документом. Все поля и методы документа доступны в контексте формы.
(0) У тебя выборка открывется, но не присходит позиционирования. Нужно примерно так:
Чек.ВыбратьДокументы();
Пока Чек.ПолучитьДокумент() = 1 Цикл
...
КонецЦикла;
опять же
нафига Чек.ТекущийДокумент.Проведен()
достаточно Чек.Проведен()
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший