![]() |
|
v7: Закрываем документ текущего пользователя | ☑ | ||
---|---|---|---|---|
0
фобка
20.10.11
✎
10:24
|
При записи подчиненного документа нужно обновить реквизиты документа основания. В процедуру ПриЗаписи() подчиненного пишу следующее:
ДокЛот = CreateObject("Документ.Лот"); If ДокЛот.FindDocument(ДокОснование) = 1 Тогда Try ДокЛот.Write(); Except Try If OpenForm(ДокЛот.CurrentDocument(),"#ЗакрытиеДокумента") = 0 Then DoMessageBox("Не возможно записать документ! " + LineBreak + ДокОснование + " открыт"); ReturnStatus(0); Return; //Else //Form.Refresh(); EndIf; Except DoMessageBox("Не возможно записать документ! " + LineBreak + ДокОснование + " открыт!!!"); ReturnStatus(0); Return; EndTry; EndTry; EndIf; У док. основания пишу: Procedure ПриАктивацииОкна() //это формекс Form.Refresh(); EndProcedure Procedure OnRefresh() If Form.Parameter = "#ЗакрытиеДокумента" Then Form.Close(0); EndIf; EndProcedure Сюда не попадает, на форме есть вызов функции,в которую попадаю сразу: Function Action() If Form.ActiveControl() = "ТЗПеревозок" Then ПерезаполнитьСоставПеревозки(); EndIf; EndFunction В ней Form.Parameter пустой. Форма док основания активна, но не закрывается. Если что-то активизировать или переклчиться на другие документы, например, и обратно, то только тогда параметр формы обновляется и док закрывается. Как побороть? Заранее спасибо за советы. |
|||
1
фобка
20.10.11
✎
10:30
|
+(0) вторая попытка видимо не нужна, но к делу не относится, просьба не усердствовать в критике кода
|
|||
2
Fragster
гуру
20.10.11
✎
10:32
|
главная критика кода в том, что автор пытается писать на английском, чтобы показать, что он настоящий программист, и 1с пользуется только от безысходности
|
|||
3
Fragster
гуру
20.10.11
✎
10:32
|
особенно доставляет "If ... Тогда"
|
|||
4
1Сергей
20.10.11
✎
10:33
|
Да, читать код невозможно
|
|||
5
фобка
20.10.11
✎
10:33
|
(3) переписывал код нерадивого программиста, на транслите пишу почти 8 лет. Больше нет замечаний?
|
|||
6
filh
20.10.11
✎
10:46
|
найти контекст и закрыть окно, не?
|
|||
7
filh
20.10.11
✎
11:03
|
а, блин, разобрался я в этих буквах латинских.
Тебе вообще другое надо. Конт = ""; Если ОткрытьФорму(ДокЛот.ТекущийДокумент(), Конт) = 1 Тогда Конт.Форма.Закрыть(0); КонецЕсли; |
|||
8
фобка
20.10.11
✎
11:08
|
(7) Работает, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |