8.х Получить макет формы

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

  1. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Возникла следующая ситуация:

    1. На жёстком диске имеется ВнешняяОбработка;
    2. В документе "Заказ покупателя" в "ФормеСписка" на панели элементов добавил кнопку "Сделка";
    3. По нажатии на кнопку "Сделка", открываю форму внешней обработки, которая находится на жёстком диске, на этой же форме есть кнопка "Анализ".
    4. В этой же внешней обработке создал Макет для печатной формы.

    Вопрос заключается в следующем: Как мне при нажатии на кнопку "Анализ", открыть имеющийся макет??
  2. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Забыл добавить, что форма "Обычная" НЕ "Управляемая".
  3. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ничего не понятно... Опишите какой вы хотите получить результат.
    Если включить телепатию: почему вы не сделали внешнюю печатную форму или кнопку анализа не перенесли на форму, которую открываете
  4. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Сам макет надо открыть?
    Тогда так:
    Код:
    Макет = ПолучитьМакет("ИмяМакета");
    Макет.Показать();
    Или печатную форму надо сформировать?
  5. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Вы же обсуждали уже эту тему здесь
    Вы же там все уже решили вроде как
  6. Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Там товарищ разбирался с тем, как открыть обработку. Теперь как получить макет в этой обработке.
    Я получал всегда так:
    Код:
    РеквизитФормыВЗначение("Объект").ПолучитьМакет(НаименованиеМакета);
    Но это для тонкого клиента УФ. Попробуйте.
  7. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Код:
    Вы же обсуждали уже эту тему здесь
    Вы же там все уже решили вроде как
    В той тебе нужно было открыть форму внешней обработке, находящуюся на жёстком диске, Вы объяснили и всё получилось, а теперь возникла новая проблема.
  8. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Код:
    РеквизитФормыВЗначение("Объект").ПолучитьМакет(НаименованиеМакета);
    К сожалению не работает в Обычных формах.
  9. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    наверняка по аналогии...
    Код:
    МояОбработка.ПолучитьФорму(, ЭтаФорма);
    
    Код:
     
    МояОбработка.ПолучитьМакет("Макет");
  10. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Попытаюсь объяснить ещё раз:

    1. В документе "Заказ покупателя" на Командной панели создал кнопку "Сделка", действие этой кнопки заключается в том, что она открывает форму Внешней обработки,
    которая находиться на жёстком диске(она не загружена в конфигурацию).
    2. Форма внешней обработки открылась, на этой форме есть кнопка "Анализ".
    3. Так же в этой внешней обработке есть макет, который должен открываться при нажатии на кнопку "Анализ".

    Проблема в том что, в модули обработки я создаю Функцию которая получает макет и получает необходимые данные для вывода.
    Но я не могу получить эту функцию в модуле формы.
    А в модуле формы я не могу получить макет моей внешней обработки. Вот что не получается.
  11. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Так, вы открыли обработку, т.е. форма внешней обработки вам доступна, так? Из этой формы вы нажимаете кнопку Анализ? Не понятно почему не доступна функция? а если просто запустить вашу внешнюю обработку - все работает? Попробуйте в функции в модуле поставить ключевое слово Экспорт
  12. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Ваша обработка показывает нужный Вам результат??
    Может прикрепите обработку!?
  13. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    То что вы перечислили, всё работает, обработка, выполняет нужные действия! Экспорт не помогает.
  14. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Да, результат показывает. Я бы с удовольствием прикрепил, но выдаёт ошибку при загрузке файла
  15. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а какую конкретно ошибку выдает?
  16. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Если я пытаюсь получить функцию, которая находится в модуле обработке, то "Функция не обнаружена".

    Если я пытаюсь в модуле формы в процедуре ПриНажатииКнопкиАнализ получить макет, то функция или процедура "ПолучитьМакет" не определена
  17. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Всё разобрался, нужно было в реквизитах формы добавить реквизит с типом - ВнешняяОбработка
    А затем уже в модуле форме у этого реквизита получить Макет!
  18. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    определи нужную функцию в модуле обработки как экспортную и попробуй так
    Код:
    ЭтотОбъект.ФункцияИзМодуляОбработки();
    проверял на документе, но думаю с обработкой тоже покатит

    p.s. кстати, таким же макаром можно получить и макет объекта, описалово на метод найди в синтакс-помощнике
    Код:
    ЭтотОбъект.ПолучитьМакет(Макет);
    Последнее редактирование: 28 фев 2014
  19. TopicStarter Overlay
    НиколайН
    Offline

    НиколайН Опытный в 1С

    Регистрация:
    14 фев 2014
    Сообщения:
    246
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое!
    Оказалась такая ситуация, что у меня открывалась только форма объекта, а не сам объект, для этого нужно было добавить
    реквизит на форму с типом "Внешняя обработка.ИмяОбработки"

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