| 
    
        
     
     | 
    
  | 
Передать форму из вызываемой "ЭтаФорма" к внешней обработке УФ | ☑ | ||
|---|---|---|---|---|
| 
    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     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |