1с не открывается форма элемента справочника
Открытие форм
Область применения: управляемое приложение, мобильное приложение.
1. Для открытия форм следует применять метод глобального контекста ОткрытьФорму (при использовании версии платформы 1С:Предприятие 8.2 и более ранних версий - также ОткрытьФормуМодально ). Применение альтернативного способа, с получением формы и ее последующим открытием с помощью метода ПолучитьФорму , не рекомендуется.
Рекомендация обусловлена соображениями
- повышения устойчивости кода, работающего с формой, за счет разделения программного интерфейса для работы с формой и деталей ее внутренней реализации,
- а также сохранения единой стилистики кода прикладных решений.
Кроме того, применение глобального метода ОткрытьФорму гарантирует выполнение инициализации формы на сервере в обработчике ПриСозданииНаСервере . Этот подход помогает сосредоточить весь код инициализации формы в одном месте и исключает "случайное" обращение к серверу, связанное с инициализацией формы, между строками кода
2. В случаях когда форма требует параметризации при открытии, все ее параметры следует указывать в наборе параметров формы. Таким образом, набор параметров формы декларативно описывает возможности формы по ее параметризации.
Параметры формы из этого набора могут быть указаны в вызывающем коде при открытии формы ( ОткрытьФорму ).
3. Не следует применять другие способы параметризации формы при открытии. Например, нужно избегать обращения к методам и свойствам формы после ее открытия.
Например, вместо
следует по той же причине использовать параметры формы:
ОткрытьФорму("ОбщаяФорма.ПутеводительПоСистеме", Новый Структура("РежимОткрытия", "Приветствие"));
4. Для получения результата работы формы, вместо непосредственного обращения к элементам и реквизитам формы
ФормаВопроса = ПолучитьФорму("ОбщаяФорма.ФормаВопроса");
ФормаВопроса.ОткрытьМодально();
Если ФормаВопроса.БольшеНеПоказыватьНапоминание Тогда
// …
следует использовать процедуры-обработчики оповещений, которые будут вызваны при завершении работы пользователя с формой:
Оповещение = Новый ОписаниеОповещения("БольшеНеПоказыватьНапоминаниеЗавершение", ЭтотОбъект);
ОткрытьФорму("ОбщаяФорма.ФормаВопроса". Оповещение, РежимОткрытияОкнаФормы.БлокироватьВеcьИнтерфейс);
.
&НаКлиенте
Процедура БольшеНеПоказыватьНапоминаниеЗавершение(БольшеНеПоказыватьНапоминание, Параметры) Экспорт
Если БольшеНеПоказыватьНапоминание = Неопределено Тогда
Возврат;
КонецЕсли;
Если БольшеНеПоказыватьНапоминание Тогда
// …
При этом возвращаемое значение формы формируется в коде модуля формы с помощью метода формы Закрыть .
5. Другие ограничения:
- Обработчик события формы ПриОткрытии не должен содержать код по открытию какой-либо другой формы, так как это может привести к нарушению порядка отображения окон. В этом случае рекомендуется использовать обработчик ожидания на короткий интервал или открывать другие формы интерактивно, например, по нажатию на кнопку.
- Не рекомендуется выполнять программное открытие и закрытие формы в одном обработчике. Такие действия должны быть разнесены по времени. Например, закрытие формы можно выполнять в обработчике ожидания.
- При использовании в конфигурации Библиотека стандартных подсистем и разработке форм (рабочих мест), предназначенных только для внешних пользователей, следует явно блокировать открытие таких форм в сеансах "обычных" пользователей. Для этого следует устанавливать параметр Отказ при создании формы на сервере с помощью функции ЭтоСеансВнешнегоПользователя общего модуля Пользователи или ПользователиКлиент :
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не ПользователиКлиентСервер.ЭтоСеансВнешнегоПользователя() Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
…
КонецПроцедуры
6. Следующие виды форм должны быть всегда доступны пользователю в режиме 1С:Предприятия из меню "Все функции" вне зависимости от того, размещены ли соответствующие объекты в командном интерфейсе приложения или нет:
Права полные, формы в конфигураторе нет, создается автоматически при запуске. Вся не активная, нельзя ничего изменить и записать. В чем дело?
проверь права как на отдельные элементы, так и на справочник в целом Ctrl - Alt - Enter, глянь что в модуле объекта.
(0) Как вариант возможно не совпадает режим работы предприятия и вида формы - управляемая/обычная.
(1) Права есть на все.
(2) Форма создается автоматически, на вид совпадает с режимом 1С.
(3) Нет.
(5) Инфа 100%? Управляемые формы работают. А неуправляемые наоборот?
(7) Очередная чушь от лёши. Формы нет, куда ты это запихнёшь?
Согласен что это очередная херня от 1С. Дебилы блин! !! !!
(12) Что именно сфотать?
В конфигураторе форма не создана. Все права есть.
В управляемом режиме открывается полнофункциональная управляемая форма, в неуправляемом режиме открывается полностью недоступная форма.
(14) Проверь настройку конфы "Использовать управляемые формы в обычном режим"
Насколько я помню, сейчас с помощью подписок на события можно отлавливать и открытие формы. Может имеет смысл их проверить?
Я вот не понимаю, в чем смысл несколько дней сидеть и орать на форуме, что "что это очередная херня от 1С. Дебилы блин! ", когда за пару минут можно накидать форму. Доступность формы, при ее отсутствии определяется основным режимом запуска конфигурации. В управляемом приложении будет доступна управляемая, в обычном обычная. Если хочется и там и там - придется рисовать форму.
+(20) Присоединяюсь, надо пробовать делать свою обычную форму..
(20) >> Доступность формы, при ее отсутствии определяется основным режимом запуска конфигурации.
Это где ставится?
(24) сам нашел. надеюсь поможет. Но согласитесь, это бредовое ограничение!
(20) Спасибо, помогло! Вот для чего я создавал тему и орал два дня. Решил проблему!
Если просто накидать форму, то так ответа на мой вопрос было не получить.
Программное открытие формы элемента справочника с заполнением параметров
Здравствуйте. в собственной конфигурации есть справочник "ЖурналРегистрацииОбъектныхГрафиков".
Перенос данных из справочника в табличную часть формы документа
Здравствуйте. Создаю документ в конфигурации Бухгалтерия предприятия, редакция 2.0 (2.0.43.6) на.
Выбор данных для формы документа из табличной части справочника
Всем доброго времени суток! Ситуация. Есть справочник клиентов, в котором есть табличная часть с.
Проблема с заполнением документа из формы
Доброго времени суток! Столкнулся с проблемой следующего содержания: есть документ, на нем.
Alwarus, почему не передается?
Добавлено через 1 минуту
Alwarus, ты его туда передал вот так
ПараметрыФормы = Новый Структура("Наименование", ПараметрКоманды); ОткрытьФорму("Документ.ПерсональныеДанные.Форма.ФормаДокумен та", ПараметрыФормы,
Но такой параметр ты должен обработать вручную в процедуре ПриСозданииНаСервере
Добавлено через 2 минуты
По второму варианту выдает ошибку:
: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("Документ.ПерсональныеДанные.Форма.ФормаДокумен та", ПараметрыФормы);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'val':
форма: Элемент
имя: val
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ПолеФормы'
Наверно и при этом надо создать процедуру ПриСозданииНаСервере. Или ПриОткрытии?
Alwarus, что стоит в Тип параметр команды - в свойствах команды?
Добавлено через 3 минуты
Alwarus, и почему нельзя использовать команды формы?
Тип команды СправочникСсылка.Пациент
Команды формы наверно можно использовать, создал кнопку на форме с командой в модуле объекта:
Решение
Добавлено через 48 секунд
Ошибка отображения типов:
Отсутствует отображение для типа 'ПолеФормы'
Ошибка о чем говорит?
Что ты передаешь на сервере Хрень, сервер не знает таких типов как "ПолеФормы"
Забудь навсегда слово ЭЛЕМЕНТЫ. к данным так обращаться НЕЛЬЗЯ!
2
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", Новый Структура("Пациент", Объект.Ссылка));
ОткрытьФорму("Документ.ПерсональныеДанные.Форма.ФормаДокумен та", ПараметрыФормы); Заработало, спасибо! И за совет про Элемент тоже. )) Интересно получается, мы создаем структуру с ключом "ЗначенияЗаполнения" и значением, которое получаем созданием еще одной структуры с ключом по справочнику "Пациент" и значением-ссылкой на него, правильно?
А почему выдает такую же ошибку при работе с командой справочника? Там же не было ссылки на элементы формы.
Добавлено через 1 минуту
Открытие формы на добавление записи с автоматическим заполнением связанного поля
Приветствую всех! Помогите разобраться! В БД имеются две таблицы, связанные через поле "код.
Вызов значения из справочника в коде формы документа
Имеется процедура, которая вызывается при изменении параметра в табличной части. Суть такова, что.
Открытие формы на добавления на основе данных из другой формы
Помогите решить две проблемы: 1. Есть "форма 1" со свободным полем "Код предприятия", нужно чтобы.
Очистка данных формы, открытие другой формы
И снова здравствуйте, дорогие жители форума. Столкнулся с простой на первый взгляд проблемой, но.
Автоматическое открытие формы справочника при переходе в Подсистему.
Как можно реализовать, чтобы когда я нажимаю на подсистему, при переходе сразу открывалсь форма.
Открытие формы\документа во фрейме
Всем привет. Столкнулся с проблемой, пока не знаю как её разрулить (все в web) 1. Есть.
Допустим находим ссылку на элемент справочника и желаем открыть форму элемента (именно этого элемента, так же как при нажатии кнопки изменить при выделенном элементе в форме справочника).
В тослтом клиенте можно было СсылкаНаЭлСправ.ПолучитьФорму(); и тд.
А как открыть форму элемента в Управляемом приложении?
Заранее премного благодарен.
Помощь в написании контрольных, курсовых и дипломных работ здесь
Как открыть форму только в одном приложении
Приветсвую, собсна вопрос в заголовке. Пример: 1) Запустили одну форму, потом другую, обе друг от.
Как открыть подчиненную форму из другой подчиненной в MDI - приложении?
Доброго времени суток! Есть MDI приложение главная форма JFrame(main) и подчиненные.
Как программно открыть новую форму с кнопкой и прогрессбаром?
Всем привет! Подскажите плиз, как можно программно создать формочку с кнопкой отмены и.
Программно развернуть дочернюю форму в MDI приложении
В программе имеется главная форма (MDIForm) и несколько дочерних (MDIChild), при закрытии дочерней.
а я хотел бы программно открыть форму элемента уже записанного, открыть для редактирования.
Так же как это бы было, если я в ручную в форме списка нажал на одного из контрагентов двойным щелчком или нажал конопку изменить .
в синтакс помощнике в глобальном методе ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) третьим параметром стоит Владелец. Как мне кажется именно здесь нужно каким то образом указать данного контрагента.
Однако описание Достаточно Скудное :
<Владелец> (необязательный) Владелец формы - форма или элемент управления другой формы.
Читайте также: