ОткрытьФорму() в функции суть дела. в форме журнала добавил текстовое поле, чтоб выводило пиктограмму. прописал функцию Функция ПолучитьЗначок() СпПараметров = СоздатьОбъект("СписокЗначений"); СпПараметров.Установить("Действие","ПолучитьФлагИзменения"); Если ТекущийДокумент.Выбран() = 1 Тогда СпПараметров.Установить("Конт",ТекущийДокумент); КонецЕсли; ОткрытьФорму("Отчет",СпПараметров,КаталогИБ()+"ExtForms\СписокИзменений.ert"); ФлагИзменения = СпПараметров.Получить("ФлагИзменения"); Возврат ФлагИзменения; КонецФункции // но выдает ОткрытьФорму("Отчет",СпПараметров,КаталогИБ()+"ExtForms\СписокИзменений.ert"); {Журнал.ДокументыПоПокупателям.Форма.ФормаСписка.Модуль(19)**: Открытие окна в данном режиме недоступно! я вызываю внешний отчет для того чтоб можно было не изменяя конфу менять параметры получения флага изменения. посоветуйте плиз, что можно ищо)) сделать, не особенно сильно пиная. заранее спасибо. |
Если родительская форма открыта в модальном режиме, то дочерняя может быть открыта только в модальном режиме. И никак иначе. Но твоя функция таааакие тормоза будет генерить... ;) Кстати, после метода открытьформу управлене передается сразу на следующую строку модуля. И модуль отчета должен успеть сделать свою работу :)) Гнилое решение. Хотя и можно побороть ложным закрытием родительской формы, или формексом, но лучше поищи другое решение. |
вот смотри.. у тебя эта функция будет отрабатывать каждый раз при перерисовке формы.. будет открываться много...много... много.. окошечек/ок... |
и, даже , если, вобработке окно открываться не будет... о... о.. все равно плохо... . так как конфа у тебя все равно изменена - можно попробовать генерить дополнительные глобальные модули формексом... |
2-Чучундер > Та неее... Он явно заблокирует открытие формы через статусвозврата(0)... Но даже если оптимизировать [em]Перем СпПараметров, Внешняяформа; Функция ПолучитьЗначок() Если ТекущийДокумент.Выбран() = 1 Тогда СпПараметров.Установить("Конт",ТекущийДокумент); КонецЕсли; ОткрытьФорму("Отчет",СпПараметров,Внешняяформа); ФлагИзменения = СпПараметров.Получить("ФлагИзменения"); Возврат ФлагИзменения; КонецФункции // ........ Внешняяформа = КаталогИБ()+"Ext Forms\СписокИзменений.ert"; СпПараметров = СоздатьОбъект("СписокЗначений"); СпПараметров.Установить("Действие","ПолучитьФлагИз менения");[/em] -- все едино тормоза будут... |
+4 И да, ошибку не заметил сразу: в функции [em]КонецЕсли[/em] надо перед [em]Возврат[/em] запсочить. Ну и значение [em]ФлагИзменения[/em] для [em]Иначе[/em] установить ;) |
(4) да понял я это |
так, а если попробовать так: открываем форму обработки, оставляем ее открытой, через контекст автообновление открытой формы с передачей значения назад (по типу как сделано "показать остатки" по номенклатуре в типовой тис... . но все равно тормозно будет. . я бы сделал иначе. через типовые внешние обработки которые вызываются при старте системы (например обработка подключени яоборудования) - через формекс инициализировал бы допглобмодуль, в него напихал бы чего угодно - процедур, функций И КАК ОБЫЧНО обратился бы к ним.. т.е. у автора тупо стояло бы Функция ПолучитьЗначок() Возврат ФункцияИзДопГМ(Контекст); КонецФункции // |
7-Чучундер > Внешние приблуды - зло... Они будут, скажем, на "севене" работать? Кто даст гарантию? То-то... |
Ясно. Спасибо за обсуждение. буду явно писать, без вызова внешней обработки. |
8-VZ >[em]Они будут, скажем, на "севене" работать? Кто даст гарантию?[/em] Ты не поверишь, но и за саму 1С никто таких гарантий не даст... |
10-Sadovnikov > Ну дык... Зачем же себе нагружать проблемы-то? Одно дело - приблуды жизненно необходимы, другое совсем дело - ежели можно обойтись. В данном случае - можно ;) |
11-VZ > Так я ж не спорю. Это я так - за фразу зацепился :) |
Текущее время: 12:39. Часовой пояс GMT +3. |