|
Отладка ВПФ | ☑ | ||
---|---|---|---|---|
0
Лентаf
29.12.18
✎
10:42
|
Привет!
Есть ВПФ для последней ут 11, есть какие-то простые варианты ее отладки? |
|||
1
Лентаf
29.12.18
✎
10:46
|
знаю что можно написать этот код на форме и вызывать документ по ссылке но это долго.
|
|||
2
Фрэнки
29.12.18
✎
10:47
|
(1) затолкай ее в расширение :-)
|
|||
3
Фрэнки
29.12.18
✎
10:51
|
Уверяю, что это Вам настолько понравится, что примете командирское решение больше не пользоваться ВПФ, а использовать печатные формы в расширениях
|
|||
4
Лентаf
29.12.18
✎
10:52
|
(3) расширения пока не трогал, есть гайдец?
|
|||
5
Лентаf
29.12.18
✎
10:53
|
http://catalog.mista.ru/public/594348/ типа такого?
|
|||
6
Aleksey
29.12.18
✎
10:56
|
||||
7
Фрэнки
29.12.18
✎
10:58
|
(5) Да. Это рабочий рецепт. Причем, у меня таким способом есть подмена текстов в ячейках результирующего документа, что даже можно не переделывать всю кухню у печатной формы целиком, а конкретное узкое место подправить.
|
|||
8
Aleksey
29.12.18
✎
11:01
|
(5) ТОлько все таки правильнее писать после, а не вместо
|
|||
9
yzimin
29.12.18
✎
11:01
|
(3) А чем принципиально удобнее, если не рассматривать критическим скорость работы? Сами сейчас на последнем релизе, но за 5 лет накопилось достаточно много ВПФ
|
|||
10
Aleksey
29.12.18
✎
11:09
|
(9) Типа не такой как все
|
|||
11
Фрэнки
29.12.18
✎
11:15
|
(9) На практике получилось так, что я переходил на УФ, а мне потребовалось в печатную форму дописать какую-то ерунду. Ну вот просто не хотелось переписывать полностью всю цепочку обработки данных из документа для вывода в печ-форму. Ну вот... готовую таб документ из результата расширением перехватил и в нем ячеки отредактировал и вернул в типовую.
Это был мой первый опыт :-) Ну а затем понравилсь простота отладки, установки уже готового комплекта в программу клиента и т.п. Права же никакие можно не настраивать и т.д. |
|||
12
Фрэнки
29.12.18
✎
11:29
|
Вот ниже пример.
Получил М-11 типовую и дополнительно в нее нужно было выдавать в ячейки ФИО ответственных лиц. Ответственных в документы Заказчик согласился сохранять в ДопСведениях &Вместо("ПечатьМ11") Функция ИЗО1_ПечатьМ11(МассивОбъектов, ОбъектыПечати) ТабДокумент = ПродолжитьВызов(МассивОбъектов, ОбъектыПечати); ЗначениеСсылка = ОбъектыПечати[0].Значение; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДополнительныеСведения.Значение КАК Значение, | ДополнительныеСведения.Свойство.Имя КАК ИмяСвойства |ИЗ | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения |ГДЕ | ДополнительныеСведения.Объект = &ЗначениеСсылка"; Запрос.УстановитьПараметр("ЗначениеСсылка", ЗначениеСсылка); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат ТабДокумент; КонецЕсли; // дальше всякие манипуляции с ячейками ТабДокумента Возврат ТабДокумент; КонецФункции |
|||
13
Фрэнки
29.12.18
✎
11:31
|
в продолжение к 12
отдельно можно с использованием Расширения допилить возможность редактирования ДопСведений не типовым образом, который не всякому пендитному заказчику придется по вкусу, в тоже в расширяемой форме от типового документа. т.е. типовой замок остается на конфе - типовая полностью типовая. Допил исключительно средствами расширения |
|||
14
Aleksey
29.12.18
✎
11:39
|
(12) Ну правка это одно. А вот новые ПФ это другое.
К примеру если нужно добавить МХ-1, МХ3 в БП. И вот тут встает вопрос Расширение VS ВПФ |
|||
15
Фрэнки
29.12.18
✎
11:44
|
Абсолютно уверен, что для тебя такое программирование не составляет трудностей, так что за копипасту кода прошу не обижаться :-)
&Вместо("ДобавитьКомандыПечати") Процедура ИЗО1_ДобавитьКомандыПечати(КомандыПечати) // Добавляемая форма в расширение - Акт списания ТН КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "АктСписанияТН"; КомандаПечати.Представление = НСтр("ru = 'Акт списания ТН'"); КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати"; КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокумента"; // здесь перечислены все формы - куда добавлять кнопку КомандаПечати.Порядок = 10; ПродолжитьВызов(КомандыПечати); КонецПроцедуры &Вместо("Печать") Процедура ИЗО1_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) // Добавляемая форма в расширение - по идентификатору, указанному выше ДобавитьКомандыПечати Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "АктСписанияТН") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "АктСписанияТН", "Акт списания ТН", ИЗО1_ПечатьФормыАктСписанияТН(МассивОбъектов, ОбъектыПечати)); КонецЕсли; ПродолжитьВызов(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); КонецПроцедуры |
|||
16
Фрэнки
29.12.18
✎
11:46
|
и дальше в 15
добавляем всю писанину абсолютно также как с ВПФ Функция ИЗО1_ПечатьФормыАктСписанияТН(МассивОбъектов, ОбъектыПечати) Экспорт УстановитьПривилегированныйРежим(Истина); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТребованиеНакладная_АктСписания"; // дальше всякий код Возврат ТабДокумент; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |