8.х Как ПолучитьФорму документа

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

  1. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Добрый день.
    Извиняюсь за наверное глупейший и элементарный вопрос, но у меня уже крыша едет...
    Каким образом можно получить форму документа (и в конце концов открыть) модульно?
    Управляемые формы обычно стараюсь стороной обходить, но здесь меня прижали.
    Код:
    &НаСервере
    Процедура
        ....
        ОткрытьФормуДокумента()
    КонецПроцедуры
    
    Процедура ОткрытьФормуДокумента с пометкой &НаКлиенте. Потому что иначе просто выдает ошибку "Интерактивные операции недоступны".
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    формы вы можете открыть только на клиенте - на сервере ее просто некому показывать
    Vladius нравится это.
  3. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Извиняюсь за дебильный вопрос.
    Т.е. мне лучше все выполнять на клиенте за исключением
    Код:
    Новый ТаблицаЗначений
    и подобных ему?
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    откуда вы ее получаете?
  5. Thelearning
    Offline

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

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Вам что конкретно нужно сделать? Вычисления лучше выполнять на сервере, но следует учитывать, что с сервера нельзя вызвать клиентскую процедуру. Опишите суть задачи.
  6. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Суть проще некуда (по крайней мере я так считал, основываясь на опыте неуправляемых форм):
    Требуется модульно создать документ, заполнить и открыть (из внешней обработки).
    Код:
    &НаСервере
    Процедура СоздатьДокумент()
        тТабл=Новый ТаблицаЗначений;
       
        //Здесь куча операций происходит...
       
        тДок=Документы.ОтчетОРозничныхПродажах.СоздатьДокумент();
        тФорма=тДок.ПолучитьФорму("ФормаДокумента");
    
    Происходит ошибка "Интерактивные операции недоступны" и я пытаюсь вывести команду, открывающую документ, "наружу" (отдельной процедурой).
    Эта Процедура требует к себе "&НаКлиенте", но, как справедливо заметил Thelearning, нельзя с сервера обратиться к процедуре/функции, выполняющейся &НаКлиенте.
    Т.е. мне лучше всего все делать &НаКлиенте, а такие вещи как "Новый ТаблицаЗначений" выполнять &НаСервере и возвращать значение?
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    да, думаю так и надо
    Alex_fess нравится это.
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Вы с клиента вызывайте создание документа. Т.е. в вашей обработке повесьте кнопку, в ней обработчик вызова серверной процедуры по созданию документа.
    Alex_fess нравится это.
  9. Thelearning
    Offline

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

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

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Всем огромное спасибо за помощь!
    Слегка отвлеченный вопрос: Вам легко было перейти на управляемые формы?
  11. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    пока все в тестовом режиме, потому не могу сказать однозначно...
  12. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    В смысле конфигурации или платформы?
  13. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну сначала надо просто изучить отличия, чтоб с головой то в рабочих базах погрузиться. Вот потому даже не тестовый - а режим изучения, по мере появления свободного времени
  14. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Книги качественные (которые реально помогли понять суть структуры построения кода в УФ) можете посоветовать?
  15. Thelearning
    Offline

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

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е. Ю. Хрусталева

    Разработка управляемого интерфейса

    Если есть доступ на ИТС то _http://its.1c.ru/db/pubmanagedui#content:999999:1
    Alex_fess нравится это.
  16. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Спс

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