8.х Как программно открыть форму документа в управляемом приложении?

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

  1. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Самый обычный код, но при открытии формы все группировки слетают и все поля выводятся вертикально
    Если открывать форму не программно, таких проблем не наблюдается
    Код:
            ОтветНаЗаказ = Документы.ОтветНаЗаказ.СоздатьДокумент();
            ОтветНаЗаказ.Организация    = ПрисоединенныйФайл.Организация;
            ОтветНаЗаказ.Контрагент     = ПрисоединенныйФайл.Контрагент;
           
            Для Каждого Строка из ЭД.line Цикл
                НоваяСтрока                           = ОтветНаЗаказ.НоменклатураТЧ.Добавить();
                НоваяСтрока.Номенклатура              = Справочники.Номенклатура.НайтиПоНаименованию(Строка.fullName);
                НоваяСтрока.Решение                   = Перечисления.СТТ_РешениеПоТоварнойПозиции.ACCEPTED5;
                НоваяСтрока.КоличествоЗаказано        = Строка.quantityOrdered;
            КонецЦикла;     
    
    
            ОтветНаЗаказ.ПолучитьФорму("ФормаДокумента").Открыть();
  2. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    В УФ не все так просто )))) Та форма, что у Вас открывается формируется автоматически, при этом форма созданная в конфигураторе игнорируется. Вам нужно открыть форму еще не записанного документа?
  3. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Да, ну в крайнем случае документ можно записать, хотя это не совсем правильно для текущей задачи))

    P.S. Пытался предварительно записать документ - не помогает
  4. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Код:
    &НаКлиенте
    Процедура ОткрытьФормуНезаписанногоДокумента(Команда)
      
        мФорма = ПолучитьФорму("Документ.РеализацияТоваровИУслуг.ФормаОбъекта");
        ДокОбъект = мФорма.Объект;
      
        ОткрытьФормуНезаписанногоДокументаНаСервере(ДокОбъект);
        КопироватьДанныеФормы(ДокОбъект, мФорма.Объект);
        мФорма.Открыть();
      
    КонецПроцедуры
    
    &НаСервере
    Процедура ОткрытьФормуНезаписанногоДокументаНаСервере(ДокОбъект)
      
        ДокОбъект.Клиент = Справочники.Контрагенты.НайтиПоКоду("000000004");
      
    КонецПроцедуры
    
    Вот пример. Идея в том, чтобы получить форму документа (пустую), заполнить ее на сервере, а потом скопировать свойства объекта в эту форму. (Файл примера прикрепить не могу, пишет, что нельзя такие файлы загружать)
    Yury и Euronymous нравится это.
  5. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Круто, спасибо, помогло:) УФ опасная вещь:)... и капризная :mad:
    Есть какая-нибудь халявная полезная литература на данную тему?

    P.S. До сих пор не могу вкурить как так умудрились док создать, без "Создать" вообще творцом себя не чувствую :cool:
    Последнее редактирование: 21 фев 2014
  6. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    У Вас есть доступ на ИТС? Там есть книга в электронном виде "Разработка управляемого приложения". Вот ее классно прочитать. Там много полезного )))))) http://its.1c.ru/db/pubmanagedui#content:999999:1
    Ну или купить эту книгу.
    rshakiro нравится это.
  7. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Никак не получается записать документ, это тоже прикол УФ?:( Метод объекта не обнаружен (Записать)
    Или как я и думал мы просто открыли и заполнили форму, не создавая объект? :confused:
    Что-то я туплю >_<
    Последнее редактирование: 21 фев 2014
  8. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Так оно и есть )
    У формы объекта тоже есть метод "Записать()". Им и воспользуйтесь.
    Код:
    мФорма.Записать();
    Euronymous нравится это.
  9. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Странно, ругалось на параметр, хотя он не обязательный
    Пришлось сделать так, хотя вряд ли это можно посчитать правильным:
    Код:
    ЭтаФорма.Записать(Новый Структура);
    Спасибо за помощь :)

Поделиться этой страницей