|   |   | 
| 
 | Открытие форм - передача значений | ☑ | ||
|---|---|---|---|---|
| 0
    
        Verita 17.02.13✎ 19:27 | 
        Добрый день!
  Ситуация следующая - есть элемент справочника, в реквизитах которого есть поля, которые я не хочу заполнять в форме элемента - необходимо их заполнить на отдельной форме, вызываемой по нажатию кнопки. Проблема в том, что эта самая вторая форма имеет вид "произвольная форма", следовательно не привязана к самому объекту. Открыть с параметрами, а затем их выбрать - не получается код вот: В исходной форме &НаКлиенте Процедура ОткрытьНастройкиСервера(Команда) ПараметрыФормы = новый Структура; ПараметрыФормы.Вставить("СерверSMTP", Объект.СерверSMTP); ПараметрыФормы.Вставить("ПортSMTP",Объект.ПортSMTP); ПараметрыФормы.Вставить("СерверPOP3", Объект.СерверPOP3); ПараметрыФормы.Вставить( "ПортPOP3", Объект.ПортPOP3); Форма = ОткрытьФормуМодально("Справочник.Пользователи.Форма.ФормаНастроек", ПараметрыФормы, ЭтаФорма); КонецПроцедуры В новой форме, где должны задаваться настройки: Процедура ПриОткрытии(Отказ) Элементы.СерверSMTP = Параметры.СерверSMTP; Элементы.ПортSMTP = Параметры.ПортSMTP; Элементы.СерверPOP3 = Параметры.СерверPOP3; Элементы.ПортPOP3 = Параметры.ПортPOP3; КонецПроцедуры Пробовала по-разному - пишет "Поле объекта не обнаружено (СерверSMTP)" | |||
| 1
    
        MrStomak 17.02.13✎ 19:31 | 
        параметры должны быть описаны в соответствующем разделе в форме под теми же именами.     | |||
| 2
    
        Verita 17.02.13✎ 19:46 | 
        (1)Описаны. В реквизитах и параметрах формы под идентичными именами.     | |||
| 3
    
        crotnn 17.02.13✎ 19:52 | 
        Читать параметры надо при создании на сервере, это раз.
  Что такое "Элементы"? Присваивать значения обычно надо реквизитам формы, это два. Ну и традиционно, где фотка? Это три) | |||
| 4
    
        sanja26 17.02.13✎ 20:01 | 
        параметры эти сработают только при создании на сервере.     | |||
| 5
    
        Verita 17.02.13✎ 20:13 | 
        Оно работает!
  Спасибо огромное! Может,еще подскажете, каким инструментом их запилить обратно? В смысле - передать объекту на хранение | |||
| 6
    
        crotnn 17.02.13✎ 20:22 | 
        (5) Либо через параметр закрытия, либо через оповещение. Смотря в каком режиме и для чего открыта форма     | |||
| 7
    
        Verita 17.02.13✎ 20:31 | 
        Думаю, оповещение тут лишнее. Форма открыта модально для ввода реквизитов объекта.
  Насколько я понимаю, для передачи через параметр надо сделать примерно, но не совсем так &НаКлиенте Процедура ПриЗакрытии() ВладелецФормы.СерверSMTP = СерверSMTP; ВладелецФормы.ПортSMTP = ПортSMTP; ВладелецФормы.СерверPOP3 = СерверPOP3; ВладелецФормы.ПортPOP3 = ПортPOP3; КонецПроцедуры Как правильно? | |||
| 8
    
        crotnn 17.02.13✎ 21:10 | 
        Тогда Закрыть(<ПараметрЗакрытия>)     | |||
| 9
    
        Verita 17.02.13✎ 21:40 | 
        Можно еще раз для тех, кто в танке?
  Делаю так &НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрЗакрытия = новый Структура; ПараметрЗакрытия.Вставить("СерверSMTP",СерверSMTP); ПараметрЗакрытия.Вставить("ПортSMTP", ПортSMTP); ПараметрЗакрытия.Вставить("СерверPOP3", СерверPOP3); ПараметрЗакрытия.Вставить( "ПортPOP3", ПортPOP3); ЭтаФорма.Закрыть(ПараметрЗакрытия); КонецПроцедуры Вылетает Dump из-за ЭтаФорма.Закрыть(ПараметрЗакрытия); | |||
| 10
    
        alexei366 17.02.13✎ 23:51 | 
        Попробуй ещё Отказ = истина, наверно мозги ему крутит, при попытке закрыть форму которой уже нет     | |||
| 11
    
        Verita 18.02.13✎ 11:16 | 
        Решила простым нажатием на левую кнопку:
  &НаКлиенте Процедура СохранитьНастройки(Команда) СохранитьНастройкиСерверов(); КонецПроцедуры &НаКлиенте Процедура СохранитьНастройкиСерверов(); ПараметрЗакрытия = новый Структура; ПараметрЗакрытия.Вставить("СерверSMTP",СерверSMTP); ПараметрЗакрытия.Вставить("ПортSMTP", ПортSMTP); ПараметрЗакрытия.Вставить("СерверPOP3", СерверPOP3); ПараметрЗакрытия.Вставить( "ПортPOP3", ПортPOP3); ЭтаФорма.Закрыть(ПараметрЗакрытия); КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |