Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как дождаться закрытия формы? (число прочтений - 2411 )
Kondarat
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Как дождаться закрытия формы?
27. Августа 2010 :: 09:54
Печать  
Пользователю после программного формирования открывается документ;

Код
Выбрать все
ОткрытьФорму(Реализация.ТекущийДокумент(), КонтОткрытойФормы); 



Дальше после закрытия этой формы должен появиться документ ПКО тем же макаром.

Так вот как отреагировать на закрытие формы и не дать раньше появиться ПКО?

Ведь при использовании ОткрытьФорму() система не останавливается а идет дальше.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Как дождаться закрытия формы?
Ответ #1 - 27. Августа 2010 :: 09:56
Печать  
ОткрытьФормуМодально()
  
Наверх
IP записан
 
Kondarat
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: Как дождаться закрытия формы?
Ответ #2 - 27. Августа 2010 :: 09:58
Печать  
leshik писал(а) 27. Августа 2010 :: 09:56:
ОткрытьФормуМодально()


Это да, известно. Так раньше и было.Однако как выяснилось не мой случай.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как дождаться закрытия формы?
Ответ #3 - 27. Августа 2010 :: 10:06
Печать  
Тупо текст на форму  и проверять ТипЗначения(Конт).. как только не равен 100 - форму закрыли.. вперёд и с песней.
Можно и в ОбработкуОжидания закинуть..
Можно и из закрываемой формы первую форму пнуть - способов вагон.
  
Наверх
 
IP записан
 
Kondarat
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: Как дождаться закрытия формы?
Ответ #4 - 27. Августа 2010 :: 10:21
Печать  
Eprst писал(а) 27. Августа 2010 :: 10:06:
Тупо текст на форму  и проверять ТипЗначения(Конт).. как только не равен 100 - форму закрыли.. вперёд и с песней.
Можно и в ОбработкуОжидания закинуть..
Можно и из закрываемой формы первую форму пнуть - способов вагон.


Упс. Похоже причина не в этом.

Суть проблемы:
Есть обработка МониторКассира. Кассиру приносят заявку, он сканит штрих=код и затем последовательно создаются и записываются  документы Реализация и ПКО с выводом на экран в модальном режиме. Кассир последовательно жмет кнопки ОК, документы проводятся и отражаются у него в мониторе.

Все было в общем не плохо до недавнего времени. Замучали пользователями жалобами на постоянно возникающие блокировки в транзакции.

Выставил в параметрах системы Время ожидания захвата... в 0. Вроде жалоб на некомфортную работу не стало.  Однако стали валься из программы кассиры. В окне сообщения ошибка следующего характера:

На этой строке
ОткрытьФормуМодально(Реализация.ТекущийДокумент(), КонтекстФормы); жалуется на блокировку таблицы журнала.

Ну я и ступил, подумав, что в монополе система блокирует журнал.
Только, что проведенный у себя эксперимент ошибки не воспроизвел. Чё теперь делать? где рыть?...










  
Наверх
 
IP записан
 
Kondarat
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 21. Декабря 2007
Re: Как дождаться закрытия формы?
Ответ #5 - 27. Августа 2010 :: 10:27
Печать  
Вот собственно и сам код реализующий проблемный участок.
Может в нем что-то не так?

Код
Выбрать все
	Попытка
		Реализация.Записать();
	Исключение
		Сообщить("Не могу создать документ Реализация на основании " + ДокЗаявка + " " + ОписаниеОшибки(), "!");
		Возврат 0;
	КонецПопытки;

	КонтекстФормы = "";
	ОткрытьФормуМодально(Реализация.ТекущийДокумент(), КонтекстФормы);

	Если ТипЗначенияСтр(КонтекстФормы) = "Документ" Тогда
		Реализация = КонтекстФормы;
	КонецЕсли;

	Возврат Реализация.ТекущийДокумент(); 







  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать