8.х Задание параметра внешнего отчета

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

  1. TopicStarter Overlay
    antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    Платформа 8.2, обычное приложение.

    Есть внешний отчет. Он зарегистрирован в справочнике в виде ХранилищаЗначения, от туда подгружается и используется.
    Код:
    ВнешняяОбработка = Справочники.ВнешниеОбработки.НайтиПоКоду(КодВнешнейОбработки);
    ДвоичныеДанные = ВнешняяОбработка.ХранилищеВнешнейОбработки.Получить();
    ТабДокумент = Неопределено;
    ИмяФайла = ПолучитьИмяВременногоФайла("epf");
        Попытка
            ДвоичныеДанные.Записать(ИмяФайла);
            Обработка = ВнешниеОбработки.Создать(ИмяФайла);
            Обработка.СсылкаНаОбъект = ВхДок;
           
            ТабДокумент = Обработка.Печать();
            ТабДокумент.Показать(ВнешняяОбработка.Наименование + "(" + глДокСтр(ВхДок) + ")");
           
            УдалитьФайлы(ИмяФайла);
      Исключение
            Сообщить("Не удалось сформировать внешнюю печатную форму!", СтатусСообщения.Обычное);
            Сообщить(ОписаниеОшибки(), СтатусСообщения.Обычное);
      КонецПопытки;
    В отчете есть используемый в условии отбора параметр.
    Вопрос: как задать значение этого параметра для этого отчета? Как его передать отчету после его загрузки?
  2. Annie
    Offline

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

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Отчет на СКД? Тогда в зависимости от того, что надо установить, элемент отбора или параметр.
    В любом случае надо юзать КомпоновщикНастроек.
  3. GlukAl
    Offline

    GlukAl Опытный в 1С

    Регистрация:
    4 окт 2012
    Сообщения:
    187
    Симпатии:
    7
    Баллы:
    29
    в вашем коде уже есть пример:
    Код:
    Обработка.СсылкаНаОбъект = ВхДок;
    или вы хотите использовать стандартные механизмы печати внешних форм ??
  4. TopicStarter Overlay
    antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    на уровне СКД там все норм сделано, в условии запроса есть ссылка на параметр
    да, хочу использовать механизм печати внешних форм, это видно из размещения обработки
    забил реквизит СсылкаНаОбъект во внешний отчет , но при присвоении значения выводит ошибку "поле не найдено"; по идее
    Код:
    Обработка.ИмяРеквизита = Значение;
    где тип Обработки - ВнешняяОбработкаОбъект, должно работать как часы, но чето не получается)
    в отладке смотрю значение Обработки - в свойствах только ИспользуемоеИмяФайла, а должно быть еще КомпоновщикНастроек, СхемаКомпоновкиДанных, ЭтотОбъект, + все реквизиты; что за объект юзаю непонятно

    p.s. ребят, а как картинку вставить в форум без загрузки на внешний файообменник? на форуме есть на профиле свое хранилище картинок, чтоб от туда ссылку давать на пост?
    Последнее редактирование: 28 фев 2014
  5. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    antares еще раз уточните, а то я запутался. В первом посте про внешний отчет, в четвертом про механизм печати внешних форм. У вас подключаемая внешняя печатная форма или внешний отчет?
    Если внешняя печатная форма - то параметры туда и так ведь передаются типовыми средствами (настраивается в форме регистрации внешней обработке, в табличном поле колонка "параметры").
  6. TopicStarter Overlay
    antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    я просто пытаюсь говорить на языке оппонентов)) нет конечно никаких печатных форм, тем более внешних; есть формы объектов, но к печати они никакого отношения не имеют; речь идет о внешнем отчете, который загружается из справочника - там он сохранен в двоичном виде, назначается объекту ВнешняяОбработка/ВнешнийОтчет и используется для печати; так вот в СхемеКомпановкиДанных, в условии запроса, используется параметр - как мне передать значение этому параметру в схеме компановки после того как отчет загружен из хранилища в объект?
  7. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Поменяйте на
    Код:
    Обработка = ВнешниеОтчеты.Создать(ИмяФайла);
  8. TopicStarter Overlay
    antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    появились контейнеры КомпоновщикНастроек и СхемаКомпоновкиДанных, то что реквизит в отладке не был виден сам тупанул, работал с экземпляром в хранилище значений, а не с измененной версией на диске))

    дело в том что это код из общего модуля конфы, не охота его менять, им может воспользоваться другой документ со своими обработками для печати, и там уже возможно будет объект ВнешняяОбработка, а не ВнешнийОтчет; может мне отчет сделать на основе созданного макета внешней обработки в виде СКД? пока не представляю как макет с СКД из обработки использовать для создания табличного документа

    и еще, возможно ли в настройках СКД, например в условии запроса источника данных, использовать указания на реквизит ВнешнегоОтчета/ВнешнейОбработки? я чето потыкался в настройках и нигде не увидел выбора созданного реквизита отчета; еще раз - программно назначить значение параметра я знаю как, меня интересует ссылка на реквизит отчета в режиме настроки самого СКД; чтоб назначить значение реквизиту при создании объекта отчета, а при создании и печати табличного документа он уже сам взял значение из реквизита
    Последнее редактирование: 28 фев 2014
  9. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Точно также как и из отчета. Программно формируется и выводится. Готовых примеров программного формирования отчета из макета СКД в гугле честно говоря куча.

    Устанавливайте программно их перед формированием отчета.
    Не знаю какая у вас конфигурация. В УПП в общем модуле "ТиповыеОтчеты" есть набор процедур, позволяющих облегчить жизнь.
  10. TopicStarter Overlay
    antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    конфа - отраслевое решение от ПартнерСофт, там есть механизм подгрузки в интерфейсные меню специализированых внешних отчетов, связанных через запись в специальном справочнике с объектами этих интерфейсов

    допустим я назначил значение реквизиту внешнего отчета перед формированием ТабДок-а, но на него надо же както в условии отбора сослаться, а в настройках СКД я нигде не нашел возможности указать/выбрать реквизит отчета в качестве аргумента/операнда условия; я так понимаю, что напрямую ссылаться на объявленный реквизит отчета в настройках СКД нельзя, поэтому возможна передача значения в условие запроса только программно; я прав?
  11. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    да

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