Имя: Пароль:
1C
1C 7.7
v7: Отменить проведение из открытого документа...
0 vitalka
 
04.02.12
18:28
В 1С7 можно отменить проведение только закрыв форму документа.
Хочу повесить на форму кнопку кот. закрывала бы форму, отменяла проведение документа и открывала его заново.

как бы это попроще сделать?
1 Рэйв
 
04.02.12
18:31
(0)Через обработку. Закрывая и проводя  ты или теряешь объект или блокируешь проведение.
2 andrewks
 
04.02.12
18:31
проще - руками
3 vitalka
 
04.02.12
18:44
(1)А если кнопка будет в панели инструментов и на кнопке обработка, как обработке передать документ форма которого открыта? и как из обработки закрыть форму?
4 vitalka
 
04.02.12
18:49
(1)Наверно всетаки на форме документа должна быть кнопка передающая текущий документ в обработку и закрывающая форму, а обработка в цикле пытается отменить проведение, а когда получится открывает форму.

выходит, что-то совершенно дикое)))
5 fanat31
 
04.02.12
19:17
Ща попробую...
6 Cthulhu
 
04.02.12
19:32
//(3): не так. типа так (например). В форме документа:
ОткрытьФорму("Обработка.ПоКонтекстуФормыДокументаОтменитьПроведениеПереОткрыть",Контекст);
//в Обработке ПоКонтекстуФормыДокументаОтменитьПроведениеПереОткрыть:
Перем тДокум,тКонт;
Процедура ПриОткрытии() //предопределенная
 тКонт=Форма.Параметр; тДокум=тКонт.ТекущийДокумент();
 Форма.Параметр.Форма.Закрыть(0); Форма.ОбработкаОжилания("Обана",1);
КонецПроцедуры //ПриОткрытии
Процедура Обана()
 Перем ВыбДок;
 Если ТипЗначенияСтр(тКонт)="ГрупповойКонтекст" Тогда Возврат КонецЕсли;
 ВыбДок.НайтиДокумент(тДокум); ВыбДок.СделатьНеПроведенным();
 ОткрытьФорму(ВыбДок.ТекйщийДокумент());
 Форма.ОбработкаОжидания("",0); Форма.Закрыть(0);
КонецПроцедуры //Обана
// только важно чтобы на морде обработки хоть какой-то элемент управления лежал
// (иначе форма не открывается - глюкофича такая в семерке)
7 Эмбеддер
 
04.02.12
19:57
Кардинальное решение проблемы - использовать обычную форму, но заполнять ее данными документа
8 aka AMIGO
 
04.02.12
19:57
в три действия можно решить задачу:
1. на форме повесить кнопку "Открыть в журнале". Если есть - нажать её.
2. закрыть документ, если в процедуре документа не стоит оператор закрытия формы документа
3.в журнале сделать док непроведенным.

//не понимаю, зачем процедуру отмены проведения включать в процесс штатной работы..
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс