К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Помощь с созданием внешней печатной формы для Бух. для Украины, ред. 2

Гость
0 - 17.01.2019 - 18:18
1С:Предприятие 8.3 (8.3.10.2561)
Бухгалтерия для Украины, редакция 2.0. (2.0.13.1) управляемые формы (конфигурация на поддержке).

Сделал внешнюю печатную форму.
Подключил к конфигурации.

При выполнении выдает ошибку
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент. Модуль(439)**: Ошибка при вызове метода контекста (ПолучитьФорму)
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма);
по причине:
Ошибка инициализации модуля: ВнешняяОбработка.СчетНаОплатуПокупателюПечатьСКода миУКТЗЕД.Форма.Форма.Форма
по причине:
{ВнешняяОбработка.СчетНаОплатуПокупателюПечатьСКод амиУКТЗЕД.Форма.Форма.Форма(6,13)**: Процедура или функция с указанным именем не определена (ПечатьДокумента)
ПечФорма = <<?>>ПечатьДокумента(ОбъектыНазначения);

В модуле объекта есть Функция ПечатьДокумента(МассивОбъектов) Экспорт



Гость
1 - 17.01.2019 - 18:36
Может при регистрации впф указан не тот способ вызова обработки,1с хочет открыть форму, а формы нет
Гость
2 - 17.01.2019 - 18:40
В параметрах регистрации заполнил так


Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.СчетНаОплатуПо купателю");

ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
//имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Наименование", НСтр("ru='Счет на оплату с кодами УКТВЭД';uk='Рахунок на оплату з кодами УКТЗЄД'"));
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма Счет на оплату покупателю с кодами УКТВЭД");

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

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = НСтр("ru='Счет на оплату с кодами УКТВЭД';uk='Рахунок на оплату з кодами УКТЗЄД'");
НоваяКоманда.Идентификатор = "ПФ_MXL_СчетЗаказ_УКТВЭД";
НоваяКоманда.Использование = "ВызовКлиентскогоМетода";
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

КонецФункции
Гость
3 - 17.01.2019 - 18:58
Выше описаную ошибку поборол

Спасибо USSR за подсказку

НоваяКоманда.Использование = "ВызовКлиентскогоМетода"; вызываеться процедура печать из Формы

НоваяКоманда.Использование = "ВызовСерверногоМетода"; вызываеться процедура печать из МодуляОбъекта
Гость
4 - 17.01.2019 - 19:00
при этом появилась другая ошибка

{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль (233)**: В обработчике печати не был сформирован табличный документ для: СчетЗаказ_УКТВЭД
ВызватьИсключение(ТекстСообщенияОбОшибке);
Гость
5 - 17.01.2019 - 19:31
(2)Ваша функция печати в модуле обработки должна возвращать сформированный табличный документ. Я не в курсе украинских конфигураций, в российских она называется просто "Печать"
Гость
6 - 17.01.2019 - 19:32
Вы найдите и посмотрите работающую обработку для этой конфигурации
Гость
7 - 17.01.2019 - 21:24
6-USSR >
Так она его возвращает, по крайней мере должна.
Вот текст процедуры печать и функции ПечатьДокумента

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

УправлениеПечатью.ВывестиТабличныйДокументВКоллекц ию(
КоллекцияПечатныхФорм,
НСтр("ru='Счет на оплату с кодами УКТВЭД';uk='Рахунок на оплату з кодами УКТЗЄД'"),
НСтр("ru='Счет на оплату с кодами УКТВЭД';uk='Рахунок на оплату з кодами УКТЗЄД'"),
ПечатьДокумента(МассивОбъектов)
);

КонецПроцедуры

Функция ПечатьДокумента(МассивОбъектов) Экспорт

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";


.....
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);

Возврат ТабДокумент;

КонецФункции
Гость
8 - 18.01.2019 - 02:31
(7)а такая строчка у Вас есть ?)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПеча тныхФорм, <ИмяМакета>) Тогда
Если есть, то внимательно смотрите на нее ))
Гость
9 - 18.01.2019 - 10:53
8-USSR >

Такой строчки нет...

Но такая Функция в общем модуле УправлениеПечатью есть...
Гость
10 - 18.01.2019 - 12:06
(9)ну вот и смотри что у тебя делается, у тебя табличный документ не добавляется в коллекцию печатных форм. Поставь точку прерывания в этом модуле. Но обычно проверка идет там, где я написал, в модуле ВПФ
Гость
11 - 18.01.2019 - 12:13
10-USSR >

Только не это внешняя печатная форма и точку останова не могу поставить, вернее ставил, не останавливаеться на ней.
Гость
12 - 18.01.2019 - 12:44
в впф то понятно не поставить) хотя можно, но это отдельная песня. Смотри проверки на включение в коллекцию печатных форм по имени макета
Гость
13 - 18.01.2019 - 14:55
12-USSR >
Спасибо за помощь

Пошел другим путем скачал шаблон для ВПФ и сделал на его основе.

Все получилось.
Гость
14 - 18.01.2019 - 15:07
Так надо же причину понять, разве цель впы слепить, цель научиться
Гость
15 - 18.01.2019 - 15:44
14-USSR >
Давно не захаживал на этот форум. Даже пришлось заново региться. Подскажи где можно тебе в карму плюсануть? Чего-то не нашел... А вроде когда то было.
Гость
16 - 18.01.2019 - 15:51
(15) это лишнее. Я ж не корысти ради. Хороших выходных. Кстати, попробуй ту же впф сделать как обработку в контексте расширения
Гость
17 - 18.01.2019 - 16:08
16-USSR >

Спасибо, тебе тоже хорошо отдохнуть на выходных.


К списку вопросов






Copyright ©, Все права защищены