Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
Хочу передать ссылку документа из Команды документа в Общую форму (см.рис.)
вместо ?что мне написать? |
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Это зависит от "Типа параметра команды". Если тип параметра команды есть "ДокументСсылка.НужныйДокумент", то можно прямо взять переменную ПараметрКоманды, и её же передать. Другой вопрос, готова ли форма жрать параметр "Ключ".
Исправлено 1 раз(а). Последнее : pasha_usue, 01.12.21 16:58 |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
А я не знаю тип параметра команды... Команда просто вызывает форму, в которой просто выбирается, что именно печатать, и это печатает (см.рис)
|
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Да как не знаю? Кто команду создавал? Alt+Enter - свойства объекта (команда). И вот настройка "Тип параметра команды". Более того, эта настройка определит первоначальное место в интерфейсе, где эта команда появится (потом можно чуть-чуть пошевелить, переопределить). [attachment 35993 1c_scrsht.png] Исправлено 1 раз(а). Последнее : pasha_usue, 01.12.21 18:37 |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
это форма, которая вызывается
|
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
а это её кишки
|
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Там может прийти не документссылка только в случае множественного режима. Тогда придёт массив документссылка. Но режим там же выбирается, в настройках команды.
|
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
суть в следующем: есть документ, в нём куча команд печати различных макетов.
делаю одну кнопку Печать, которая вызывает форму выбора конкретного макета |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
Мне сложно объяснить, поскольку только учусь 1эсу, поэтому прошу прощения за сумбурность
|
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Все. Понял. У этой формы нет ключа. Она не форма объекта. Но эта форма может обработать переданные параметры. Правильнее всего подключить событие ПриСозданииНаСервере. А там уже обработать параметр. Если параметры.свойство("ключ") тогда Моесвойство = параметры.ключ; КонецЕсли; Ps. Только используйте другое имя параметра, не ключ. А то может потом выстрелить. Исправлено 2 раз(а). Последнее : pasha_usue, 01.12.21 18:55 |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
там пока вот так:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если ЭтаФорма.Печать.Пустая() Тогда; ЭтаФорма.Печать = Перечисления.ПечатьДоговора.ГрафикПлатежей; КонецЕсли; КонецПроцедуры это я по-умолчанию заполняю поле ввода |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
а вот это - вызов этой формы команды родительской формы:
&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Парам = новый Структура ("Ключ", ""); ОткрытьФорму("ОбщаяФорма.ПечатьДоговора",парам); КонецПроцедуры вот парам меня смущает, ибо в дочерней форме Печать я буду выводить на печать данные по макетам родительской формы что и как мне передать из формы документа в форму печати? Исправлено 1 раз(а). Последнее : ama68, 01.12.21 19:06 |
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Пробуем ещё раз, но подробно.
1. У нас есть визуальный объект "Команда". Он настроен так, что принимет некоторый "ДокументСсылка". Для примера, пусть это будет "ДокументСсылка.Счёт". У этой команды есть подключенный обработчик - процедура.
2. У нас есть форма, которая будет вызвана методом "ОткрытьФорму" из пункта 1. Эта форма ничего ни о каких объектах не знает, она произвольная. Поэтому нам нужно у ней создать свойство "ОбъектДляПечати" (например). И надо правильно заполнить это свойство, когда мы вызываем форму из родительской команды.
3. Когда пользователь наконец соизволить жамкнуть кнопку "Печать", или что там у нас запланировано. Мы должны взять для отбора, либо для запроса свойство формы "ОбъектДляПечати". И да. Если во всей этой схеме работает "ДокументСсылка.Счёт", то свойство формы ОбъектДляПечати должен быть "ДокументСсылка.Счет" (с рядом исключений). Исправлено 2 раз(а). Последнее : pasha_usue, 01.12.21 19:20 |
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
А теперь про как это работает:
1. На первом этапе, из-за настроек самой команды мы получили объект типа "ДокументСсылка.Счёт" в качестве параметра "ПараметрКоманды" для процедуры "ОбработкаКоманды". Для передачи в вызываемую форму мы создали специальный объект "Структура", который содержит наш же "ДокументСсылка.Счёт", но уже с удобным нам названием поля структуры "ДокументКоторыйПечатаем". 2. На серверных методах формы нам доступен специальный реквизит формы "Параметры" который имеет тип "Структура". Раз форму вызываем мы сами из пункта 1, то серверный обработчик события ПриСозданииНаСервере почти гарантированно увидет в структурые "Параметры" наше свойство "ДокументКоторыйПечатаем". И я намеренно сохраняю печатаемый документ не в одноимённом свойстве формы "ОбъектДляПечати", что б не было недопонимания что это всё - три большие разницы. 3. При печати мы обращаемся уже к свойству "ОбъектДляПечати", в которое прошёл объект "ДокументСсылка.Счёт" через все наши телодвижения (триггер события [1], и вызов формы с параметрами [2]). PS. Блин. Вроде абстракции достаточно простые. А вот получается или нет объяснить, я не понимаю. Исправлено 1 раз(а). Последнее : pasha_usue, 01.12.21 19:36 |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
Здравствуйте!
Извините, что долго не отвечал: приболел... Ваши крайние сообщения я прочёл, попытался вникнуть. Получилось следующее: В модуле команды Печать объекта Документы.Договор.Команды появилась следующая процедура:
В модуле формы ОбщиеФормы.ПечатьДоговора появилась следующая процедура:
Но дело в том, что в объекте Документы.Договор есть несколько команд для печати различных форм в соответствии с имеющимися в объекте макетами (см. рис. [attachment 36004 ]) Поэтому и создана произвольная форма ПечатьДоговора, в которой и выбирается, что именно печатать (см. рис. [attachment 36005 ]) Как мне сделать обработку выборки, чтобы обратиться к родительскому объекту и вызвать процедуру обработки конкретной команды? Исправлено 1 раз(а). Последнее : ama68, 04.12.21 09:10 |
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
А занафига? Объедините все команды печати на родительской форме в группу команд. И при нажатии на кнопку группы выпадет подменю кнопок. Меньше движений пользователю.
[attachment 36009 4ama01.jpg] [attachment 36010 4ama02.png] PS. Компактно, и будет в 2 клика, а не в 4. И кодить не надо. Исправлено 2 раз(а). Последнее : pasha_usue, 04.12.21 20:57 |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
Это-то понятно... Я печать из произвольной формы привёл как наглядный пример, чтобы понять, как в управляемых формах происходит передача параметров туды-сюды между ними...
Никак не могу перестроиться с фокса. Там-то всё просто А пример с печатью через произвольную форму, как мне кажется, наглядно эту взаимосвязь иллюстрирует... Или я неправ? |
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Нет. Не иллюстрирует. Здесь вообще использован специфичный инструмент "команда", который лучше натравливать на модуль менеджера подходящего объекта. И если сделано так, то из вызываемой формы проще вызвать те же методы модуля менеджера, что и в самих командах печати. |
Re: Управляемые формы. Передача параметров | |
---|---|
pasha_usue Сообщений: 3692 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Вот текущая описываемая ситуация больше применима для работы в самой форме, когда требуется вызвать подчинённую форму, и вернуть от подчинённой формы выбранное значение.
Сейчас лучший механизм - ОповеститьОВыборе(ТоЧтоВыбрано) в подчинённой форме. И ОбработкаВыбора(РезультатВыбора, ИсточникВыбора) в родительской форме. |
Re: Управляемые формы. Передача параметров | |
---|---|
ama68 Автор Сообщений: 5278 Откуда: Кострома Дата регистрации: 27.04.2006 |
Вот это я и хочу попробовать, только не знаю, как мне добраться до процедуры обработки необходимой мне команды, соответствующей сделанному мной выбору |
© 2000-2024 Fox Club  |