|
Открытие одной формы внутри другой | ☑ | ||
---|---|---|---|---|
0
Drunk_Snake
05.03.13
✎
13:30
|
Возможно ли такое?
Открываем форму обработки, видим там 2 закладки. На первой у нас открывается форма списка справочника Номенклатура, на второй форма отчета о продажах. Формы я взял для примера. Заказчик очень хочет соединить несколько работающих систем в одну обработку. Переность вручную элементы форм и обработчики событий - займет не одну неделю. А вот если б было можно только указать ссылки, было бы просто замечательно. Гугл говорит, что я пьян, и чтоб я шел домой =( Поэтому обращаюсь к вам. |
|||
1
Ursus maritimus
05.03.13
✎
13:30
|
(0) Гугл прав
|
|||
2
Владимир1С
05.03.13
✎
13:36
|
(0) // Заказчик очень хочет соединить несколько работающих систем в одну обработку. // пусть НАПИШЕТ НА БУМАГЕ что именно, и для каких ЦЕЛЕЙ, он считает, надо делать по его задумке. Не техзадание, а описание конечных целей, и подетальнее.
|
|||
3
Смешной 1С
05.03.13
✎
13:39
|
"Заказчик очень хочет" и "Переность вручную элементы форм и обработчики событий - займет не одну неделю" - выставляй сумму за такую работу заказчику и посмотри, хочет он до сих пор или нет:)
А так, да, (1) |
|||
4
1C-band
05.03.13
✎
13:40
|
(0) Это не Access.
|
|||
5
Владимир1С
05.03.13
✎
13:40
|
(0) пусть купит монитор 30 дюймов и разместит там разные формы по желанию.
|
|||
6
Fragster
гуру
05.03.13
✎
13:41
|
Глобальный контекст (Global context)
ОткрытьФорму (OpenForm) Вариант синтаксиса: По названию Синтаксис: ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) Параметры: <ИмяФормы> (обязательный) Тип: Строка. Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора"). Имена форм по умолчанию ФормаОбъекта (ObjectForm) - форма объекта по умолчанию; ФормаГруппы (FolderForm) - форма группы по умолчанию; ФормаЗаписи (RecordForm) - форма записи регистра по умолчанию; ФормаСписка (ListForm) - форма списка по умолчанию; ФормаВыбора (ChoiceForm) - форма выбора по умолчанию; ФормаВыбораГруппы (FolderChoiceForm) - форма выбора группы по умолчанию; ФормаКонстант (ConstantsForm) - форма констант по умолчанию; Форма (Form) - форма отчета и обработки по умолчанию; ФормаНастроек (SettingsForm) - форма настроек отчета по умолчанию; ФормаЗагрузки (LoadForm) - форма загрузки настроек; ФормаСохранения (SaveForm) - форма сохранения настроек; ФормаВарианта (VariantForm) - форма редактирования варианта отчета; ФормаЗагрузкиПользовательскихНастроекОтчетов (ReportUserSettingsLoadForm) - форма загрузки настроек отчета; ФормаСохраненияПользовательскихНастроекОтчетов (ReportUserSettingsSaveForm) - форма сохранения настроек отчета; ФормаЗагрузкиВариантовОтчетов (ReportVariantsLoadForm) - форма загрузки варианта отчета; ФормаСохраненияВариантовОтчетов (ReportVariantsSaveForm) - форма сохранения варианта отчета; ФормаЗагрузкиНастроекДанныхФорм (FormDataSettingsLoadForm) - форма загрузки настроек данных форм; ФормаСохраненияНастроекДанныхФорм (FormDataSettingsSaveForm) - форма сохранения настроек данных форм. Имена ФормаЗагрузкиПользовательскихНастроекОтчетов, ФормаСохраненияПользовательскихНастроекОтчетов, ФормаЗагрузкиВариантовОтчетов, ФормаСохраненияВариантовОтчетов, ФормаЗагрузкиНастроекДанныхФорм и ФормаСохраненияНастроекДанныхФорм нужно использовать без имени объектов метаданных. Для внешних отчетов и обработок имя формы задается следующим образом: ВнешнийОтчет.<имя отчета>.Форма.<имя формы>; ВнешнийОтчет.<имя отчета>.<имя стандартной формы>; ВнешняяОбработка.<имя обработки>.Форма.<имя формы>; ВнешняяОбработка.<имя обработки>.<имя стандартной формы>. При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе с помощью метода Подключить или Подключить соответственно. <Имя отчета> и <имя обработки> - это имена, под которыми зарегистрированы внешний отчет или обработка. <Параметры> (необязательный) Тип: Структура. Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры. П = Новый Структура("Ключ", Поставщик); Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П); Форма.Открыть(); <Владелец> (необязательный) Владелец формы - форма или элемент управления другой формы. <Уникальность> (необязательный) Тип: Произвольный. В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма. Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск. Значение по умолчанию: Ложь <Окно> (необязательный) Тип: ОкноКлиентскогоПриложения;ВариантОткрытияОкна. Окно приложения, в котором будет открыта форма. Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы. Если указан тип ВариантОткрытияОкна, окно формы будет создано согласно выбранному варианту. Вариант синтаксиса: По форме Синтаксис: ОткрытьФорму(<Форма>, <Окно>) Параметры: <Форма> (обязательный) Тип: Форма; УправляемаяФорма. Форма или управляемая форма. В режиме тонкого и веб-клиентов только управляемая форма. <Окно> (необязательный) Тип: ОкноКлиентскогоПриложения; ВариантОткрытияОкна. Окно приложения, в котором будет открыта форма. Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы. В случае использования ВариантОткрытияОкна, окно формы будет создано согласно выбранному варианту. Возвращаемое значение: Тип: Форма; УправляемаяФорма. Описание: Открывает и возвращает форму или управляемую форму. В тонком и веб-клиенте только управляемую форму. Перед открытием осуществляется поиск уже открытой такой же формы. Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности. Можно открывать уже полученную форму. В этом случае в параметрах передается уже полученная форма и окно, в котором открыть форму. Можно открыть по имени формы. В этом случае в параметры передаются имя формы, параметры формы, владелец, ключ уникальности и окно, в котором должна быть открыта форма. Доступность: Тонкий клиент, веб-клиент, толстый клиент. Примечание: Для варианта "По названию" параметры вызова аналогичны параметрам метода ПолучитьФорму. Обычные формы внешних обработок не поддерживаются. В управляемом приложении не следует выполнять программное открытие и закрытие одной и той же формы в одном вызове встроенного языка. Если при открытии обычной формы в параметре <ИмяФормы> указано не стандартное имя формы, передаваемые параметры не обрабатываются. В процессе выполнения может быть несколько обращений к серверу. Часть из них кэшируются. Как минимум одно обращение к серверу есть всегда и оно не кэшируется. Кэширование зависит от версии платформы и версии конфигурации в целом. Если установлена низкая скорость соединения и не указывается текущая строка, то кэшируется форма выбора. Очистка кэша осуществляется с периодичностью в 20 мин. Удаляются формы, которые не использовались в этот период времени. |
|||
7
kosts
05.03.13
✎
13:41
|
(0) Формы можно делать прикрепляемыми, возможно это выход...
|
|||
8
Fragster
гуру
05.03.13
✎
13:42
|
В УФ, в общем, в подсистему можно встроить
|
|||
9
Владимир1С
05.03.13
✎
13:42
|
(7) и что толку ? просто полистать в одной форме независимые данные - для этого можно просто открыть несколько форм на 30 дюймах
|
|||
10
mikecool
05.03.13
✎
13:43
|
(0) по этому поводу кажется Гений эрегировал одно время, резюмируя "ваша 1Сэ овно"
|
|||
11
jsmith82
05.03.13
✎
13:47
|
это не .NET Framework! это 1с, а значит, нельзя
|
|||
12
jsmith82
05.03.13
✎
13:48
|
(10) гениально
|
|||
13
jsmith82
05.03.13
✎
13:49
|
в крайнем случае через обработку выбора и оповещения
|
|||
14
Drunk_Snake
05.03.13
✎
13:50
|
(6) Кэп, ты? Синтаксис-помощником пользоваться умеют все (ну или почти все).
(12) +1 Если в ОткрытьФорму передать параметр ПолучитьОкна()[0], то новая форма открывается на рабочем столе. И все бы было хорошо, если б она открывалась только в той области, которую занимает обработка. А открывается на весь рабочий стол =( Как этого избежать - ума не приложу |
|||
15
Владимир1С
05.03.13
✎
13:51
|
Без озвучки конкретных требований по взаимоувязке данных и отчётов говорить особо не о чем.
|
|||
16
Drunk_Snake
05.03.13
✎
13:54
|
(15) Есть 2 формы.
1) "Мои задачи" в которой отображаются задачи, поставленные текущем пользователю. 2) "Задачи исполнителей" - там находятся задачи, поставленные текущим пользователем. Формы сильно отличаются составом элементов формы и процедурами. Нужно, чтоб на рабочем столе открывалась некая унифицированная форма, в которой были бы закладки. И при переключении между ними мы попадали на нужный нам интерфейс. Так более доходчиво? |
|||
17
mikecool
05.03.13
✎
13:56
|
нарисуй все формы в одной с закладками, по условиям - либо показывай закладки, либо отображай нужную станицу
|
|||
18
Drunk_Snake
05.03.13
✎
13:59
|
(15)(17) По большому счету, ни о какой увязке речи не идет.
Просто очень хочется избежать создания вручную новой формы, содержащей все элементы предыдущих. И основная проблема - это совмещение программного кода 2х форм, так как слишком много имен объектов дублируется. |
|||
19
olegves
05.03.13
✎
13:59
|
(0) сделай все реквизиты в одной форме и управляй видимостью, кто ж тебе мешает?
|
|||
20
MSII
05.03.13
✎
14:00
|
(18) А если сделать новую форму исключительно для отлова события переключения по закладкам. При переключении страницы открывать нужную форму, закрывать ненужную.
|
|||
21
olegves
05.03.13
✎
14:01
|
+(19) а еще в УФ есть хорошая фича = отображать в закладках. И код писать не надо
|
|||
22
Drunk_Snake
05.03.13
✎
14:02
|
(20) (21) Вот можно подробнее. Как это сделать?
|
|||
23
Drunk_Snake
05.03.13
✎
14:02
|
(20) Я именно об этом изначально и спрашивал
|
|||
24
olegves
05.03.13
✎
14:05
|
(22-23) главное меню - Сервис - Параметры - Режим открытия форм - в закладках. После этого перестартовать 1С
|
|||
25
MSII
05.03.13
✎
14:07
|
(22) Формы-то управляемые, нет?
|
|||
26
Drunk_Snake
05.03.13
✎
14:10
|
||||
27
MSII
05.03.13
✎
14:19
|
Пробовал обе формы на рабочий стол вытащить и переключать их видимость?
|
|||
28
MSII
05.03.13
✎
14:30
|
Нет, не вариант.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |