Вход | Регистрация


Передать форму из вызываемой "ЭтаФорма" к внешней обработке УФ

Передать форму из вызываемой "ЭтаФорма" к внешней обработке УФ
Я
   ig0z
 
17.04.18 - 20:12
собственно весь вопрос в теме, не могу вспомнить или да же сформулировать правивльно
 
 
   Остап Сулейманович
 
1 - 17.04.18 - 20:15
(0) Кто на ком стоял?
Нужно передать этаФорма внешней обработке? Или наоборот? Или где?
   Остап Сулейманович
 
2 - 17.04.18 - 20:17
+ (1) А так смотри описалово к ОткрытьФорму.
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
Видимо 3-й параметр и есть то, что тебе нужно.
   ig0z
 
3 - 17.04.18 - 20:19
(1) из формы документа вызывается подключаемая внешняя обработка, в неё нужно передать форму документа да бы заполнить

Раньше обходился Хранилищем значений, а тут ни вспомнить не найти не получается
   Остап Сулейманович
 
4 - 17.04.18 - 20:26
(3) Для подключаемых форма не передается. Передается объект. Элемент справочника или документ.
   ig0z
 
5 - 17.04.18 - 20:28
(4) хм ..., т.е у меня не получится реализовать заполнение Табеля не записывая его?

или как-то всё же можно?
   ig0z
 
6 - 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 = 'Поле ""ИНН"" успешно заполнено'");
        Сообщение.Сообщить();
    ...
 КонецПроцедуры
Подробнее см. дополнительную обработку Демо: Обработка заполнения в справочнике Дополнительные отчеты и обработки демонстрационной конфигурации.
////////////////////////


В примере ПараметрыВыполнения.ЭтаФорма - это видимо и есть то, что тебе нужно
   ig0z
 
9 - 17.04.18 - 20:45
(8) Благодарю, попробую
   Cyberhawk
 
10 - 17.04.18 - 20:54
Ребятки из БСП добавили тип команды "Заполнение формы", и теперь в коде этой команды можно пользоваться контекстом формы, правда весь код выполняется только на сервере.
Ребятки, делающие БСП, так и не научились модифицировать объект на клиенте без его записи в ИБ.
Т.е. если тебе нужен интерактивчик и не нужно сохранять изменения обекта, то облом-с.
 
 Рекламное место пустует
   Cyberhawk
 
11 - 17.04.18 - 20:55
Впрочем, в вариант команды "Открытие формы" у свойства формы обработки "Владелец" будет сидеть твоя форма. Но толку тебе от этого, скорее всего, будет мало.
   Cyberhawk
 
12 - 17.04.18 - 20:56
Также возможны извращения с получением данных формы в виде ДФС (ДанныеФормыСтруктура), передачу на сервер, получение там объекта БД, модификация, преобразование обратно, возврат на клиент, затем на клиенте КопироватьДанныеФормы
   Cyberhawk
 
13 - 17.04.18 - 20:57
Ну и почитай для затравки (может пригодится): https://www.forum.mista.ru/topic.php?id=768275

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует