|   |   | 
| 
 | УФ. В дополнительной форме не могу заполнить реквизит почему? | ☑ | ||
|---|---|---|---|---|
| 0
    
        AlexBor naïve 13.05.21✎ 09:51 | 
        Здравствуйте.  База самописная УФ. Есть справочник в нем основная форма и через нее открываю дополнительную  форму (
 &НаКлиенте Процедура ЛичныеДанные(Команда) ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ЛичныеДанные"); КонецПроцедуры ) на которой разместил несколько реквизитов, но в эти реквизиты не могу занести данные почему? | |||
| 1
    
        AlexBor naïve 13.05.21✎ 10:49 | 
        ???     | |||
| 2
    
        Василий Алибабаевич 13.05.21✎ 10:53 | 
        (1) Код открытия формы есть. Кода заполнения данных нет. Это такой тест на телепатические способности?     | |||
| 3
    
        RomanYS 13.05.21✎ 10:57 | 
        (0) главное понять, что эти две формы не связаны общим контекстом (в отличии от ОФ)... дальше легче будет     | |||
| 4
    
        AlexBor naïve 13.05.21✎ 10:58 | 
        (2) А это что?   
 &НаКлиенте Процедура ЛичныеДанные(Команда) ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ЛичныеДанные"); КонецПроцедуры ) | |||
| 5
    
        AlexBor naïve 13.05.21✎ 11:00 | 
        (2) Кода заполнения нет потому что я хочу руками заполнить     | |||
| 6
    
        AlexBor naïve 13.05.21✎ 11:00 | 
        (3) Хорошо как это понять ))))?     | |||
| 7
    
        RomanYS 13.05.21✎ 11:12 | 
        (6) Просто прими это.
 А дальше ищи похожие примеры. 1. Общего объекта у форм не будет (в УФ это просто невозможно) 2. При открытии формы неплохо бы указать, что исходная является её владельцем. Возможно ещё нужно открываемую форму заполнить 3. Возврат данных в контекст основной формы придётся обрабатывать кодом | |||
| 8
    
        Василий Алибабаевич 13.05.21✎ 11:21 | 
        (6) Это понять очень просто. Дополнительная форма существует сама по себе. И никак не связана с "основной формой" объекта. И ничего не знает о объекте, который редактируется в "основной форме". Поэтому в доп форме нужно вводить свои реквизиты. Их заполнять значениями "Основного реквизита" "основной формы". После закрытия - возвращать отредактированные значения в основную форму.
 Это вам не DataEnvironment от VFP. Здесь все изолировано и взаимодействует только кодом. | |||
| 9
    
        Начинающий_13 13.05.21✎ 11:22 | 
        &НаКлиенте
 Процедура ПрочиеУчетныеДанные(Команда) ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("Заголовок" , "Прочие данные по работнику"); ПараметрыФормы.Вставить("ДанныеНаДату" , ДанныеНаДату); ПараметрыФормы.Вставить("ФизическоеЛицо" , Объект.Ссылка); Если ПараметрыФормы <> Неопределено Тогда ОткрытьФорму("Справочник.маСотрудники.Форма.ФормаПрочиеДанные", ПараметрыФормы, ЭтотОбъект, УникальныйИдентификатор); КонецЕсли; КонецПроцедуры | |||
| 10
    
        Василий Алибабаевич 13.05.21✎ 11:25 | 
        (9) "Объект.Ссылка" - здесь может прятаться белый пушистый лис. Для (например) нового элемента.     | |||
| 11
    
        fisher 13.05.21✎ 11:26 | 
        (0) И какой тип основного реквизита у этой формы (который жирненьким в списке реквизитов)? Не чего-то там "..Объект"?     | |||
| 12
    
        Начинающий_13 13.05.21✎ 11:28 | 
        (10)Здесь основная форма, это форма элемента проблем нет. Параметрыформы - он может не заполнять, т.к. ручками хотит делать.     | |||
| 13
    
        Начинающий_13 13.05.21✎ 11:30 | 
        (0) Если форма открывается, В процедуре присозданиинасервере пиши алгоритм заполнения.     | |||
| 14
    
        BaZZiL 13.05.21✎ 11:40 | 
        Откуда открываешь форму:
 Процедура ОткрытиеДополнительнойФормы() ПараметрыОткрытияДополнительнойФормы = Новый Структура; ПараметрыОткрытияДополнительнойФормы.Вставить("НужныйРеквизит",ЗначениеНужногоРеквизита); ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаЗакрытияДополнительнойФормы",ЭтотОбъект); ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ЛичныеДанные",ПараметрыОткрытияДополнительнойФормы,ЭтаФорма,,,,ОписаниеОповещения); КонецПроцедуры Процедура ОбработкаЗакрытияДополнительнойФормы() //Сделать что надо, когда закрылась дополнительная форма КонецПроцедуры ========================== В ДополнительнойФорме Добавить Параметры на закладке "Параметры" (там же, где команды и реквизиты) Ключевой Параметр живет пока открыта форма, неключевой - только во время ПриСозданииНаСервере() Процедура ПриСозданииНаСервере()// ПриОткрытии() НужныйРеквизит = Параметры.НужныйРеквизит; КонецПроцедуры | |||
| 15
    
        AlexBor naïve 13.05.21✎ 11:49 | 
        (14) (13) (10) (7) Друзья вы мне очень помогли я разобрался у меня все получилось. Спасибо вам за помощь.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |