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 > Так я ж не спорю. Это я так - за фразу зацепился :) | |
| Интернет-форум Краснодарского края и Краснодара |