Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Опыт замены ВПФ расширением.

Опыт замены ВПФ расширением.
Я
   kachesov
 
20.10.16 - 13:50
Добрый день!
Хочу запилить ВПФ расширением.

Читаю на сайте ИТС:
"Вместо поставки внешних печатных форм в виде внешних обработок рекомендуется вести их разработку с помощью расширений конфигурации. Для поставки команд печати внешних печатных форм в расширении конфигурации необходимо:
1. Добавить в расширение конфигурации обработку и включить ее в состав подсистемы ПодключаемыеОтчетыИОбработки."

И тут возникла первая проблема: отсутствие подсистемы "ПодключаемыеОтчетыИОбработки". 
Есть подсистемы: "ДополнительныеОтчетыИОбработки" в подсистеме "СтандартныеПодсистемы" и "ДополнительныеОтчетыИОбработкиВМоделиСервиса" в подсистеме "ТехнологияСервиса".
Но добавление в эти подсистемы не даёт результата..

Код обработки в модуле менеджера:

#Область ПрограммныйИнтерфейс


// Определяет состав программного интерфейса для интеграции с конфигурацией.

//
// Параметры:

// Настройки - Структура - Настройки интеграции этого объекта.
// См. возвращаемое значение функции ПодключаемыеКоманды.НастройкиПодключаемыхОтчетовИОбработок().

Процедура ПриОпределенииНастроек(Настройки) Экспорт
    Сообщить("ПриОпределенииНастроек");
    
    Настройки.Размещение.Добавить(Метаданные.Документы.РеализацияТоваровУслуг);
    Настройки.ДобавитьКомандыПечати = Истина;
    
КонецПроцедуры

// Заполняет список команд печати.

//
// Параметры:

// КомандыПечати - ТаблицаЗначений - Подробнее см. в УправлениеПечатью.СоздатьКоллекциюКомандПечати().
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    Сообщить("ДобавитьКомандыПечати");
    
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "УниверсальныйПередаточныйДокумент";
    КомандаПечати.Представление = НСтр("ru = 'Универсальный передаточный документ (с литрами)'");
    КомандаПечати.Обработчик    = "УчетНДСКлиент.ВыполнитьКомандуПечатиУниверсальныхПередаточныхДокументов";
    КомандаПечати.ДополнительныеПараметры.Вставить("ИдентификаторВКомплекте","УниверсальныйПередаточныйДокументКомплект");
    КомандаПечати.Порядок = 60;
    
КонецПроцедуры

#КонецОбласти

И ещё процедура печати..
Но все эти функции не вызываются.
Подскажите, как быть)
 
 
   oslokot
 
1 - 20.10.16 - 14:09
Жесть какая. они реально это рекомендуют?

ВПФ-то хороша тем что для ее правки не надо никого выгонять из базы. Чего не скажешь про расширения.
   kachesov
 
2 - 20.10.16 - 14:14
(1) но некоторые ПФ очень сложно сделать ВПФ..
я вот взялся за это после того как изрядно намучился с ВПФ УПД для БП 3.0
   kachesov
 
3 - 20.10.16 - 14:16
(1) плюс во ВПФ нельзя использовать отладчик
   oslokot
 
4 - 20.10.16 - 14:23
че там сложного то? нарисовать табдокумент или вывести его?

и отлаживать как обычную обработку, потом за минуту ввести ее в ВПФ
   kachesov
 
5 - 20.10.16 - 14:41
(4) а у вас случайно нет любого примера ВПФ УПД для БП 3.0?)
я сделал несколько ВПФ, но с этой не разобрался..
   oslokot
 
6 - 20.10.16 - 14:43
(5) к сожалению, нет
   kachesov
 
7 - 20.10.16 - 14:48
(6) А можете порекомендовать какой либо материал по созданию ВПФ? (инструкции, книги, видео-уроки, ссылки и т.д)
   oslokot
 
8 - 20.10.16 - 14:50
так в интернетах полно информации

может кто еще из участников форума подкинет
   mszsuz
 
9 - 20.10.16 - 14:51
Скачайте демо БСП - там есть пример
   kachesov
 
10 - 20.10.16 - 17:14
(8) Подскажете пожалуйста)
Я сделал ВПФ УПД. Она работает.
У меня есть форма из которой раньше запрашивался ТОРГ-12, а теперь нужно запросить УПД.
В форме есть кнопка, которая обращается к процедуре "Печать".
Для печати УПД в функцию "Печать" необходимо передать 4 параметра:

Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)

С первым всё понятно:

    МассивОбъектов = Новый Массив;
    МассивОбъектов.Добавить(Объект.СсылкаНаОбъект);

А вот остальные три мне неясно откуда взять) Не подскажете?)
 
 Рекламное место пустует
   kachesov
 
11 - 20.10.16 - 17:54
(8) КоллекцияПечатныхФорм, ПараметрыВывода прожевал так..

    КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
    ПараметрыВывода = Новый Структура;

Осталось с ОбъектыПечати разобраться.
   kachesov
 
12 - 20.10.16 - 18:00
Казалось бы
    ОбъектыПечати = Новый СписокЗначений;
        ОбъектыПечати.ЗагрузитьЗначения(МассивОбъектов);
Но нет..
   kachesov
 
13 - 20.10.16 - 18:23
Всё не так.. Ночевать сегодня буду на работе)
   Dmitrii
 
14 - 20.10.16 - 19:40
(0) >>  отсутствие подсистемы "ПодключаемыеОтчетыИОбработки"

Потому что надо смотреть какая версия БСП встроена в твою конфигурацию.
В последних версия БП 3.0 эта подсистема уже есть. Там БСП версии 2.3.3.76 или выше.
   Dmitrii
 
15 - 20.10.16 - 19:44
(1) >> они реально это рекомендуют?

Да. Идеалогия такова, что расширения - это миниконфигурация, позволяющая более тесно интегрировать отчеты и обработки с основной конфой. Например, делать отчеты связанными с контекстом (как, внешние обработки заполнения и печати).

>> ВПФ-то хороша тем что для ее правки не надо никого выгонять из базы. Чего не скажешь про расширения.

Не вижу в этом особых проблем с расширениями. Насколько я знаю, обновление расширения тоже не требует обязательного выхода из базы.
   oslokot
 
16 - 21.10.16 - 07:31
(15)  "Не вижу в этом особых проблем с расширениями. Насколько я знаю, обновление расширения тоже не требует обязательного выхода из базы."
обновление нет, применение изменений - да
   Курцвейл
 
17 - 21.10.16 - 07:37
(16) Поэтому ВПФ лучше чем расширение

Задача расширения это облегчения обновления типовых.
Все остальное от лукавого (включая фантазии созидателей БСП)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует