К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

ОткрытьФорму() в функции

Гость
0 - 05.09.2012 - 21:31
суть дела. в форме журнала добавил текстовое поле, чтоб выводило пиктограмму.
прописал функцию
Функция ПолучитьЗначок()
СпПараметров = СоздатьОбъект("СписокЗначений");
СпПараметров.Установить("Действие","ПолучитьФлагИз менения");
Если ТекущийДокумент.Выбран() = 1 Тогда
СпПараметров.Установить("Конт",ТекущийДокумент);
КонецЕсли;
ОткрытьФорму("Отчет",СпПараметров,КаталогИБ()+"Ext Forms\СписокИзменений.ert");
ФлагИзменения = СпПараметров.Получить("ФлагИзменения");
Возврат ФлагИзменения;

КонецФункции //
но выдает ОткрытьФорму("Отчет",СпПараметров,КаталогИБ()+"Ext Forms\СписокИзменений.ert");
{Журнал.ДокументыПоПокупателям.Форма.ФормаСписка.М одуль(19)**: Открытие окна в данном режиме недоступно!
я вызываю внешний отчет для того чтоб можно было не изменяя конфу менять параметры получения флага изменения.
посоветуйте плиз, что можно ищо)) сделать, не особенно сильно пиная.
заранее спасибо.



Гость
1 - 05.09.2012 - 22:31
Если родительская форма открыта в модальном режиме, то дочерняя может быть открыта только в модальном режиме.
И никак иначе.
Но твоя функция таааакие тормоза будет генерить... ;)
Кстати, после метода открытьформу управлене передается сразу на следующую строку модуля. И модуль отчета должен успеть сделать свою работу :))

Гнилое решение. Хотя и можно побороть ложным закрытием родительской формы, или формексом, но лучше поищи другое решение.
2 - 06.09.2012 - 00:31
вот смотри.. у тебя эта функция будет отрабатывать каждый раз при перерисовке формы.. будет открываться много...много... много.. окошечек/ок...
3 - 06.09.2012 - 00:33
и, даже , если, вобработке окно открываться не будет... о... о.. все равно плохо...
.
так как конфа у тебя все равно изменена - можно попробовать генерить дополнительные глобальные модули формексом...
Гость
4 - 06.09.2012 - 01:26
2-Чучундер > Та неее... Он явно заблокирует открытие формы через статусвозврата(0)...
Но даже если оптимизировать
Перем СпПараметров, Внешняяформа;
Функция ПолучитьЗначок()
Если ТекущийДокумент.Выбран() = 1 Тогда
СпПараметров.Установить("Конт",ТекущийДокумент);
КонецЕсли;
ОткрытьФорму("Отчет",СпПараметров,Внешняяформа);
ФлагИзменения = СпПараметров.Получить("ФлагИзменения");
Возврат ФлагИзменения;
КонецФункции //
........
Внешняяформа = КаталогИБ()+"Ext Forms\СписокИзменений.ert";
СпПараметров = СоздатьОбъект("СписокЗначений");
СпПараметров.Установить("Действие","ПолучитьФлагИз менения");

-- все едино тормоза будут...
Гость
5 - 06.09.2012 - 01:33
+4 И да, ошибку не заметил сразу: в функции КонецЕсли надо перед Возврат запсочить.
Ну и значение ФлагИзменения для Иначе установить ;)
6 - 06.09.2012 - 01:41
(4) да понял я это
7 - 06.09.2012 - 01:46
так, а если попробовать так: открываем форму обработки, оставляем ее открытой, через контекст автообновление открытой формы с передачей значения назад (по типу как сделано "показать остатки" по номенклатуре в типовой тис...
.
но все равно тормозно будет.
.
я бы сделал иначе. через типовые внешние обработки которые вызываются при старте системы (например обработка подключени яоборудования) - через формекс инициализировал бы допглобмодуль, в него напихал бы чего угодно - процедур, функций И КАК ОБЫЧНО обратился бы к ним..
т.е. у автора тупо стояло бы
Функция ПолучитьЗначок()
Возврат ФункцияИзДопГМ(Контекст);
КонецФункции //
Гость
8 - 06.09.2012 - 01:51
7-Чучундер > Внешние приблуды - зло...
Они будут, скажем, на "севене" работать? Кто даст гарантию? То-то...
Гость
9 - 06.09.2012 - 12:27
Ясно. Спасибо за обсуждение. буду явно писать, без вызова внешней обработки.
Гость
10 - 06.09.2012 - 13:25
8-VZ >Они будут, скажем, на "севене" работать? Кто даст гарантию?
Ты не поверишь, но и за саму 1С никто таких гарантий не даст...
Гость
11 - 06.09.2012 - 13:32
10-Sadovnikov > Ну дык... Зачем же себе нагружать проблемы-то?
Одно дело - приблуды жизненно необходимы, другое совсем дело - ежели можно обойтись. В данном случае - можно ;)
Гость
12 - 06.09.2012 - 13:33
11-VZ > Так я ж не спорю. Это я так - за фразу зацепился :)


К списку вопросов






Copyright ©, Все права защищены