8.х Как из серверного общего модуля вызвать клиентскую процедуру (ПолучитьФорму)?

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

  1. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Добрый день. Подскажите пожалуйста, как из серверного общего модуля вызвать клиентскую процедуру (ПолучитьФорму) (режим обычного приложения, толстый клиент)? Я создал новый общий модуль с1_Клиентский с галочкой Клиент (обычное приложение), но при обращении к его процедуре получаю ошибку: "переменная не определена с1_Клиентский". Если же в с1_Клиентский поставить еще галочку Сервер, то ругается на процедуру в нем -

    Код:
    Функция ВернутьФорму(Обработка) Экспорт
       
        Возврат Обработка.ПолучитьФорму();     
       
    КонецФункции
    пишет, что интерактивные операции недоступны. Как решить проблему?
  2. Thelearning
    Offline

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

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    С сервера вызвать клиентскую процедуру вызвать нельзя. Поменяйте логику работы. А что вообще сделать нужно?
  3. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    В моей процедуре в серверном общ. модуле создается отчет и записывается на жесткий диск. Поэтому и вызывается ПолучитьФорму - чтобы получить форму отчета. Сейчас попробую сделать
    Код:
    #Если Клиент Тогда
           
                ФормаОтч = НовОтч.ПолучитьФорму();
           
    #КонецЕсли
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Зачем вам клиент, если результат отчета можно сразу сохранить на диск ?
  5. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    alexburn, чтобы создать отчет мне нужно вызвать ПолучитьФорму, а она доступна только на толстом клиенте.
    Код:
    ///1 - формируем отчет
            НовОтч = Обработки._ОтчетВедомостьПоДвижениюДенежныхСредств.Создать();
            ФормаОтч = НовОтч.ПолучитьФорму();
            //ФормаОтч.Открыть();
            НовОтч.ДатаНач = НачалоМесяца(ТекущаяДата());
            НовОтч.ДатаКон = ТекущаяДата();
            НовОтч.ВидДенежныхСредств = Перечисления.ВидыДенежныхСредств.Безналичные;
            НовОтч.СформироватьОтчет(ФормаОтч.ЭлементыФормы.ТД);
           
            ///2 - Сохраняем отчет на жестком диске в основном каталоге файлов пользователя
    ИмяФ = ОснКаталог+?(Прав(ОснКаталог,1)="\","","\")+"ОтчетДДС-Н.htm";
            ФормаОтч.ЭлементыФормы.ТД.Записать(ИмяФ,ТипФайлаТабличногоДокумента.HTML4);
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Потому что она у вас находится в модуле формы, а не объекта:), да еще без экспорта.
  7. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    alexburn, что "находится в модуле формы, а не объекта, да еще без экспорта", вы о чем? как надо сделать?
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Я о том, что функция формирования отчета у вас находится в модуле формы, а не объекта.
  9. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    "СформироватьОтчет" находится в модуле объекта, проверил.
  10. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    с Экспортом

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