7.7 Печать из других форм

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Herby, 23 май 2013.

  1. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    Имеется отчет (неважно что он делает), необходимо из этого отчета выводить печатную форму, которая формируется из справочника (тоже неважно какого).

    Т.е. я открываю справочник из отчета, передаю нужные параметры, но почему-то процедура печати этого справочника не видит свою таблицу-шаблон, по которой должна формироваться нужная мне форма. Пишет: "Файл Таблица не найден".

    Если же например выводить эту форму не из справочника, а из другого отчета, то форма другого отчета видит свою таблицу-шаблон без
    проблем.

    Делал примеры абсолютно одинаковые что для справочника, что для отчета - с отчетом все работает, со справочником не хочет

    Либо я чего-то не догоняю, либо это какой-то странный запрет со стороны движка 1С.


    PS: Проблема в том, что процедура печати в справочнике слишком большая, и не хочется ее дублировать в новом отчете, и в глобальный модуль тоже не хотелось бы переносить.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Макет внешний или внутренний? Попробуйте применить метод ИсходнаяТаблица
  3. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    макет внутренний - в справочнике, из которого пытаюсь выполнить процедуру печати. метод ИсходнаяТаблица уже был применен.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если релиз платформы выше 23го проблем с макетами быть не должно. Отладчиком "пробегать" пробовали? Инициализация объекта "таблица" происходит в самой процедуре печать?
  5. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    отладчиком пробовал. объект "таблица" - создается.
    у меня 21 релиз. сейчас попробую 27 накатить и сравню.
  6. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    на 27 релизе также(
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Магия 5го уровня...... Удаленно глянуть можно?
  8. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    сомневаюсь, что у меня ошибка в коде, но на всякий случай приведу пример:

    вот непосредственно действия по открытию справочника из моего нового отчета:

    Код:
    сзПараметры = СоздатьОбъект("СписокЗначений");
    сзПараметры.ДобавитьЗначение("ПечатьИстории","Действие");
    сзПараметры.ДобавитьЗначение(ДатаНач,"ДатаНач");
    сзПараметры.ДобавитьЗначение(ДатаКон,"ДатаКон");
    
    ОткрытьФорму(знКлиент, сзПараметры,0); // знКлиент - элемент справочника "Клиенты"
    

    вот процедура приОткрытии() - справочника, из которого я хочу запустить процедуру печати:

    Код:
    Процедура приОткрытии()
    Перем сзПараметры, Действие, дНач, дКон;
    
    сзПараметры = Форма.Параметр;
    
    Действие  = сзПараметры.Получить("Действие")
    Если Действие = "ПечатьИстории" Тогда
    дНач = сзПараметры.Получить("ДатаНач");
    дКон = сзПараметры.Получить("ДатаКон");
    
    ПечатьИстории(дНач,дКон); // вызов процедуры печати
    КонецЕсли;
    
    // ........
    // ........
    КонецПроцедуры
    
    вот фрагмент самой процедуры печати справочника:

    Код:
    Процедура ПечатьИстории(дНач,дКон)
    Перем Таб;
    
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица"); // и сообстенно здесь валится в ошибку.
    
    // .......
    
    // .......
    
    КонецПроцедуры
    
    Таблица "Таблица", как я уже писал, внутренняя таблица справочника.
    на методе ИсходнаяТаблица("Таблица") - валится в ошибку - неверное имя Таблица и выдается окно с предупреждением Файл Таблица не найден.

    Если открыть справочник интерактивно, то печать выполняется, метод ИсходнаяТаблица срабатывает.
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте вообще убрать метод ИсходнаяТаблица или переименуйте макет скажем в История ну и соответственно
    Код:
    Таб.ИсходнаяТаблица("История")
  10. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    переименование не помогает, без указания метода ИсходнаяТаблица валится в другую ошибку.
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    в какую?
  12. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26

    на вывод секции шапки - "Секция не найдена Шапка":

    Код:
    Таб = СоздатьОбъект("Таблица");
    //Таб.ИсходнаяТаблица("История");
    Таб.ВывестиСекцию("Шапка");
    
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    вооооооооооо.. Значит таблицу-то она нашла!
    Теперь переходим с самому макету...
  14. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    неизвестно что она там находит. я пробовал макет перебрасывать в общие таблицы. из общих таблиц тоже не видит.
    Ладно.. в принципе это все не очень критично... в глобальный модуль печатьистории перекину....

    просто уже хотелось бы узнать почему так происходит
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Мне все же кажется, что вы что-то упускаете. Не видя конфигурации трудно сказать что именно.
  16. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Выложите, хотя бы, МДшник для анализа. В противном случае можно долго "гадать".
  17. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    МД в категории коммерческой тайны фирмы)
    я ради эксперимента попробовал в типовых. Тоже самое. макеты форм элементов справочников отчеты не видят.
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ну а удаленно есть шанс глянуть? (больно уж любопытно)
  19. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Здравствуйте.
    У меня была такая же проблема с таблицей. Чтобы она отображалась, я скопировала таблицу справочника в таблицу обработки. А сейчас перенесла её в общие таблицы. Всё работает. Можно так же вынести таблицу в отдельный файл, но мне такой вариант не подходит.
    Я думаю, что причина в том, что текущей формой при поиске таблицы остается форма обработки. Как-то её надо переназначить, но я не знаю, как.

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