![]() |
|
Передать форму из вызываемой "ЭтаФорма" к внешней обработке УФ | ☑ | ||
---|---|---|---|---|
0
ig0z
17.04.18
✎
20:12
|
собственно весь вопрос в теме, не могу вспомнить или да же сформулировать правивльно
|
|||
1
Остап Сулейманович
17.04.18
✎
20:15
|
(0) Кто на ком стоял?
Нужно передать этаФорма внешней обработке? Или наоборот? Или где? |
|||
2
Остап Сулейманович
17.04.18
✎
20:17
|
+ (1) А так смотри описалово к ОткрытьФорму.
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>) Видимо 3-й параметр и есть то, что тебе нужно. |
|||
3
ig0z
17.04.18
✎
20:19
|
(1) из формы документа вызывается подключаемая внешняя обработка, в неё нужно передать форму документа да бы заполнить
Раньше обходился Хранилищем значений, а тут ни вспомнить не найти не получается |
|||
4
Остап Сулейманович
17.04.18
✎
20:26
|
(3) Для подключаемых форма не передается. Передается объект. Элемент справочника или документ.
|
|||
5
ig0z
17.04.18
✎
20:28
|
(4) хм ..., т.е у меня не получится реализовать заполнение Табеля не записывая его?
или как-то всё же можно? |
|||
6
ig0z
17.04.18
✎
20:29
|
(4) если получу форму и открою её, то можно изменить таблицы и реквизиты не записывая, НО все что до этого не было записано в открытом исчезнет
|
|||
7
Остап Сулейманович
17.04.18
✎
20:32
|
(5) Получится. Но! Не нужно изобретать велосипед. Открой документацию по БСП и почитай там за обработки заполнения.
|
|||
8
Остап Сулейманович
17.04.18
✎
20:38
|
(7) Вот из документации по БСП :
///////////////////////// Пример: обработка заполнения данных формы без записи объекта Для типа обработок ЗаполнениеОбъекта предусмотрена возможность работать напрямую с данными формы (а не со ссылкой на объект), что позволяет не выполнять принудительную запись объекта в форме ни до, ни после выполнения обработки. Пример команды заполнения данных формы: Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации =ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1"); ПараметрыРегистрации.Вид =ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта(); ПараметрыРегистрации.Версия = "1.2"; ПараметрыРегистрации.Назначение.Добавить("Справочник._ДемоКонтрагенты"); НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = НСтр("ru = 'Заполнить реквизит ""ИНН"" не записывая объект (заполнение формы)'"); НоваяКоманда.Идентификатор = "ЗаполнитьИНН"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыЗаполнениеФормы(); Возврат ПараметрыРегистрации; КонецФункции Процедура ВыполнитьКоманду(ИмяКоманды, ОбъектыНазначения, ПараметрыВыполнения) Экспорт Если ИмяКоманды = "ЗаполнитьИНН" Тогда Генератор = Новый ГенераторСлучайныхЧисел; ЭтаФорма = ПараметрыВыполнения.ЭтаФорма; ЭтаФорма.Объект.ИНН = Формат(Генератор.СлучайноеЧисло(1, 999999999), "ЧЦ=12; ЧДЦ=0; ЧВН=; ЧГ="); ЭтаФорма.Модифицированность = Истина; Сообщение = Новый СообщениеПользователю(); Сообщение.Поле = "Объект.ИНН"; Сообщение.Текст = НСтр("ru = 'Поле ""ИНН"" успешно заполнено'"); Сообщение.Сообщить(); ... КонецПроцедуры Подробнее см. дополнительную обработку Демо: Обработка заполнения в справочнике Дополнительные отчеты и обработки демонстрационной конфигурации. //////////////////////// В примере ПараметрыВыполнения.ЭтаФорма - это видимо и есть то, что тебе нужно |
|||
9
ig0z
17.04.18
✎
20:45
|
(8) Благодарю, попробую
|
|||
10
Cyberhawk
17.04.18
✎
20:54
|
Ребятки из БСП добавили тип команды "Заполнение формы", и теперь в коде этой команды можно пользоваться контекстом формы, правда весь код выполняется только на сервере.
Ребятки, делающие БСП, так и не научились модифицировать объект на клиенте без его записи в ИБ. Т.е. если тебе нужен интерактивчик и не нужно сохранять изменения обекта, то облом-с. |
|||
11
Cyberhawk
17.04.18
✎
20:55
|
Впрочем, в вариант команды "Открытие формы" у свойства формы обработки "Владелец" будет сидеть твоя форма. Но толку тебе от этого, скорее всего, будет мало.
|
|||
12
Cyberhawk
17.04.18
✎
20:56
|
Также возможны извращения с получением данных формы в виде ДФС (ДанныеФормыСтруктура), передачу на сервер, получение там объекта БД, модификация, преобразование обратно, возврат на клиент, затем на клиенте КопироватьДанныеФормы
|
|||
13
Cyberhawk
17.04.18
✎
20:57
|
Ну и почитай для затравки (может пригодится): https://www.forum.mista.ru/topic.php?id=768275
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |