[РЕШЕНО] Как правильно открыть форму документа и заполнить реквизиты?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Bkmz, 16 ноя 2017.

  1. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    459
    Симпатии:
    13
    Баллы:
    29
    Из обработки на управляемых формах хочу открыть форму документа на обычных формах.
    Я сделал так:

    Код:
    ФормаПеремещениеОС = ПолучитьФорму("Документ.ПеремещениеОС.Форма.ФормаДокумента");
    ФормаПеремещениеОС.ОтражатьВБухгалтерскомУчете = Ложь;
    ФормаПеремещениеОС.СобытиеОС = ПолучитьСобытие();
    ....
    ФормаПеремещениеОС.Открыть();
    
    Было коллегой высказно сомнение что так делать не совсем правильно.
    Что нужно сделать как-то так:

    Код:
    ПараметрыЗаполнения = Новый Структура;
    ПараметрыЗаполнения.Вставить("ОтражатьВБухгалтерскомУчете", Ложь);
    ПараметрыЗаполнения.Вставить("СобытиеОС", ПолучитьСобытие());
    ....
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ПараметрыЗаполнения);    
    ФормаПеремещениеОС = ПолучитьФорму("Документ.ПеремещениеОС.Форма.ФормаДокумента", ПараметрыФормы, ЭтаФорма);
    ФормаПеремещениеОС.Открыть();
    
    Вот только я не пойму где мне ловить параметры ЗначенияЗаполнения. Так вообще можно сделать?
    Насколько я знаю это для ввода на основании.
  2. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    164
    Баллы:
    104
    Коллега обманул.
  3. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    459
    Симпатии:
    13
    Баллы:
    29
    Т.е. в том как я это делал нет ничего крамольного? Дело в том что все работает в этом случае.

    А по поводу использования "ЗначенияЗаполнения". Надо было в реквизитах просто поставить птичку "Заполнить из данных заполнения".
    Но тоже есть одно НО, не все реквизиты заполняются тем что я передаю. Некоторые значения переопределяются видимо в процессе выполнения каких-то обработок событий.
    Еще по путный вопрос как с помощью параметра "ЗначенияЗаполнения" заполнять табличные части?
  4. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    164
    Баллы:
    104
    Я не понял, обработка на управляемых формах запущена в обычном приложении и нужно открыть обычную форму заполненной? И ЗначенияЗаполнения работает???
  5. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    459
    Симпатии:
    13
    Баллы:
    29
    Да все правильно. Обработка на управляемых формах встроена в конфигуратор. Режим запуска обычное приложение. Платформа 8.3.10.2561
  6. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    164
    Баллы:
    104
    И что это реально работает? ЗначенияЗаполнения? Это ж фишка управляемого приложения
  7. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    459
    Симпатии:
    13
    Баллы:
    29
    Да реально работает. Из управляемой формы вызываю:

    Код:
    ПараметрыЗаполнения = Новый Структура;
    ПараметрыЗаполнения.Вставить("ОтражатьВБухгалтерскомУчете", Ложь);
    ПараметрыЗаполнения.Вставить("СобытиеОС", ПолучитьСобытие());
    ....
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ПараметрыЗаполнения);  
    ФормаПеремещениеОС = ПолучитьФорму("Документ.ПеремещениеОС.Форма.ФормаДокумента", ПараметрыФормы, ЭтаФорма);
    ФормаПеремещениеОС.Открыть();
    И реквизитам ОтражатьВБухгалтерскомУчете и СобытиеОС ставлю галку "Заполнить из данных заполнения" и оно их заполняет