[РЕШЕНО] БП 3.0 Внешний отчет

Тема в разделе ""1С:Бухгалтерия БП"", создана пользователем Shrek_kz, 31 мар 2015.

  1. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Друзья подскажите пожалуйста как создать в 8.3 внешний отчет а точнее он есть сам отчет но какие нужно процедуры для его регистрации и запуска в предприятии или ткните где это разжевано.
    С внешней печатной формой документа разобрался т.к. мног есть примеров в инете и статьи а вот с отчетом никак.
  2. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Вот такие у меня процедуры:

    Код:
    функция СведенияОВнешнейОбработке() export
      ПараметрыРегистрации = Новый Структура;
      ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет"); //может быть – ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов…
      ПараметрыРегистрации.Вставить("Назначение", "");
      ПараметрыРегистрации.Вставить("Наименование", "Остатки в кубах"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
      ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
      ПараметрыРегистрации.Вставить("Версия", "1.0");
      ПараметрыРегистрации.Вставить("Информация", "Остатки в кубах ");
      ТаблицаКоманд = ПолучитьТаблицуКоманд();
      ДобавитьКоманду(ТаблицаКоманд, "Остатки в кубах", "Остатки в кубах", "ОткрытиеФормы", Истина, "");
      ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
      Возврат ПараметрыРегистрации;
    КонецФункции
    
    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
      НоваяКоманда = ТаблицаКоманд.Добавить();
      НоваяКоманда.Представление = Представление;
      НоваяКоманда.Идентификатор = Идентификатор;
      НоваяКоманда.Использование = Использование;
      НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
      НоваяКоманда.Модификатор = Модификатор;
    КонецПроцедуры
    
    Функция ПолучитьТаблицуКоманд()
      Команды = Новый ТаблицаЗначений;
      Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
      Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
      Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
      Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
      Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
      Возврат Команды;
    КонецФункции
    Если открывать через Файл - Открыть то нормально все. Если через доп.отчеты прописать то при запуске пишет что:
    Метод объекта не обнаружен "ВыполнитьКоманду"
    Последнее редактирование модератором: 31 мар 2015
  3. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Отчет - это просто отчет. Вы его откуда запускать то хотите?
  4. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Через Администрирование ДопОтчеты добавил свой отчет в несколько мест и запускаю например из вкладки Продажа - Отчеты - Дополнительные отчеты - Выбираю свой "Остатки в кубах"
    Последнее редактирование: 31 мар 2015
  5. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Никто не в курсе никому не нужно внешние отчеты цеплять???
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Видимо, трудностей по сравнению с подключнием ВПФ не испытывают. Возьмите любой отчет конфигурации, сохраните в виде внешнего и подключтите. Для его работы понадобится убрать все вызовы функций/процедур из общих модулей, использующих для своего исполнения метаданные.
  7. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Дело в том что через Открыть он открывается и делает то что нужно а вот если его встроить то нет!
    --- Объединение сообщений, 1 апр 2015 ---
    Если сохранить родной отчет например АнализВерсииОбъектов то через открыть он открывается а встроить не дает потому что ему нужна процедура СведенияОВнешнейОбработке
    Так что тут не так все просто как вы говорите!!!
    Последнее редактирование: 1 апр 2015
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Вы же делаете:

    ДобавитьКоманду(ТаблицаКоманд, "Остатки в кубах", "Остатки в кубах", "ОткрытиеФормы", Истина, "");

    Этот самый метод "ВыполнитьКоманду" где-нибудь в форме отчета фигурирует?
  9. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Так создайте в контексте клиентского выполнения и будет вам Щастье :)
  11. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Я не совсем понял где и что нужно прописать...
  12. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Вы с программированием 1С на каком уровне знакомы? Что такое контекст выполнения знаете? Какой контекст в каких модулях доступен знаете?

    Если вы создали внешний отчет, написали нужные процедуры/функции для возможности использования его в качестве внешнего, то почему не доделали? Про создание внешних отчетов так же есть информация в интернете, в свободном доступе, если уж обучаться программированию 1С вы не планируете, но вам необходимо здесь и сейчас решить какую-то на ваш взгляд простую задачу автоматизации.

    Поймите простую вещь: программировать 1С нельзя вот так, "с наскока", необходимо понимание происходящих процессов.
  13. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    С 7 знаком очень даже хорошо с 8 тока начинаю поэтому не владею ее структурой в полной мере еще. Да и не важно я не об этом спрашиваю а вопрос то общий как создать внешний отчет и запустить его из дополнительных. Собственно все!
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Если вопрос в таком ключе: то 80% вы уже сделали для того, чтобы отчет вообще мог подключаться в качестве внешнего, осталось доделать, чтобы еще и работал.

    Гугл на тему "ВыполнитьКоманду" много интересного знает :)
  15. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    ВыполнитьКоманду должна вызываться где-то?
    Что в ней писать не нашел нигде?
  16. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Вы почитайте в синтаксис-помощнике про ВыполнитьКоманду().
  17. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Да если бы все так просто.
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
    // Реализация логики команды
    Если ИдентификаторКоманды = ... Тогда...
    ИначеЕсли ...
    КонецПроцедуры

    Что тут должно быть пример кто-нибудь дайте кто реально делал и подключал внешний отчет!!!
  18. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Из СП:
  19. TopicStarter Overlay
    Shrek_kz
    Offline

    Shrek_kz Новичок в 1С

    Регистрация:
    31 мар 2015
    Сообщения:
    37
    Симпатии:
    1
    Баллы:
    4
    Это я видел! Что за команда то должна быть?
  20. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Команда, которую хотите выполнить.

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