ВПФ в "Управление мебельной фабрикой"

1. MindParadox 24.02.21 15:28 Сейчас в теме
Конфигурация "Управление мебельной фабрикой".
Извиняюсь, конечно, вопрос задаю уже не впервые...может кто подскажет....
ВПФ, табличный документ. При тестировании (ч/з Файл открыть - открываю обработку ВПФ, выбираю документ) всё нормально: ПФ заполняется (все параметры в ПФ отображаются). Но как только подключаю ВПФ к базе - параметры не отображаются (одни пробелы).
В чем мой косяк, как исправить?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Nubsdale 24.02.21 16:06 Сейчас в теме
(1) скорее всего параметры регистрации неправильно написаны
2. user633533_encantado 11 24.02.21 15:32 Сейчас в теме
О каких неотображаемых параметрах идет речь ?

Мы можете картинку показать с проблемой ?
4. MindParadox 24.02.21 16:21 Сейчас в теме
(2) В макете обозначаю Дата, Номер, Контрагент и прочее как Параметр или Шаблон.
При тесте: Дата - 24.02.20, Номе - номер заказа, Контрагент - Наименование контрагента и т.д.
После подключения: Дата - пробел, Номер - пробел, Контрагент - пробел
Извиняюсь за рисунок...
Слева - после теста (ч/з Файл открыть) - номер, дата, контрагент есть
Справа - после подключения...номера, даты и контрагента нет...
Прикрепленные файлы:
5. MindParadox 24.02.21 16:23 Сейчас в теме
(3) Согласно справке для ВПФ нужны: только СведенияОбОбработке и ф. Печать (без параметров).
Команда прописывается, отрабатывает...правда не так, как нужно... Ошибок не выдает.
6. user633533_encantado 11 24.02.21 16:27 Сейчас в теме
(5) Откуда печатная форма берет контрагента, когда обработка запускается как подключенная ? Как вы передаете в модуль формирования макета параметр "контрагент" ?
7. MindParadox 24.02.21 16:32 Сейчас в теме
(6) в справке указано, что у ВПФ должен быть реквизит "Документ" со ссылкой на документ
Прикрепленные файлы:
скрин по типу ВПФ.odt
реквизит ВПФ.odt
8. user633533_encantado 11 24.02.21 16:42 Сейчас в теме
(7) Попробуйте добавить реквизит "СылкаНаОбъект" к обработке с типом "ссылка вашего документа.
9. MindParadox 24.02.21 16:43 Сейчас в теме
(6) Очень упрощенно, но суть такова:


Функция СведенияОбОбработке() Экспорт
	
	СведенияОбработки = Новый Структура();
	СведенияОбработки.Вставить("Наименование", 		"ДоговорСПокупателем");
	СведенияОбработки.Вставить("ВидОбработки",		Перечисления.ВидыДополнительныхОбработок.ПечатнаяФормаДокумента);
	
	Возврат СведенияОбработки;
	
КонецФункции

Функция Печать()Экспорт 
	
	ТабДок = Новый ТабличныйДокумент;
	//
	ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ДоговорСПокупателем";
	Макет = ПолучитьМакет("ДоговорСПокупателем");
	
	Область = Макет.ПолучитьОбласть("Заголовок");
	//
	Область.Параметры.Номер = Документ.Номер;
	Область.Параметры.ДатаДок   	= Формат(Документ.Дата,"ДЛФ=ДД");
	Область.Параметры.Контрагент	= Документ.Контрагент;
	
	ТабДок.Вывести(Область);
	
	Возврат ТабДок;
	
	КонецФункции
Показать
10. MindParadox 24.02.21 16:52 Сейчас в теме
(8) Добавил. Нет изменений.
11. user633533_encantado 11 24.02.21 17:02 Сейчас в теме
(10) Область.Параметры.Контрагент = СсылкаНаОбъект.Контрагент;
12. MindParadox 24.02.21 17:10 Сейчас в теме
(11) Нет. Дает ошибку.

{ВнешняяОбработка.ДоговорСПокупателем.МодульОбъекта(24,33)}: Переменная не определена (СсылкаНаОбъект)
Область.Параметры.Контрагент = <<?>>СсылкаНаОбъект.Контрагент; (Проверка: Толстый клиент (обычное приложение))
13. user633533_encantado 11 24.02.21 17:15 Сейчас в теме
(12) Значит вы не добавили реквизит, как сказали.
14. MindParadox 24.02.21 17:27 Сейчас в теме
(13) Прописал в реквизитах обработки... или я что-то не понял?
Прикрепленные файлы:
СсылкаНаОбъект.odt
15. user633533_encantado 11 24.02.21 18:04 Сейчас в теме
(14) Не то конечно. Это должен быть реквизит обработки, а не формы. С документом тоже так делали ?
16. MindParadox 24.02.21 18:21 Сейчас в теме
(15)
Что сказать...матчасть мне надо изучать!
Убрал добавленный реквизит из реквизита формы.
А так верно? Если верно, то не пойму - два реквизита с одинаковыми ссылками....
Прикрепленные файлы:
РеквизитОбработки.odt
17. user633533_encantado 11 24.02.21 18:26 Сейчас в теме
(16) Чего гадать и задавать этот вопрос: проверьте отдельно с каждым. думаю правильно будет "документ", как написано в инструкции.
18. MindParadox 24.02.21 18:35 Сейчас в теме
(17) Так изначально я так и сделал. Точно как по инструкции: реквизит "Документ" так и прописал.
В том-то и дело: при тестировании всё в ПФ показывается, а как только подключу и из формы самого документа вывожу на печать - выходит макет только с текстовой частью (информация из "параметров" и "шаблонов" не выводится)....

Уже даже так прописал:
ф. СведенияОбОбработке()

ф. Печать() (в ней вышел на ф. ПечатьДоговора (Документ)

ф. ПечатьДоговора (Документ)
запросом собрал всё

...в итоге всё по прежнему...

жуть какая-то...
19. dmitriy.peshkov 25.02.21 15:31 Сейчас в теме
Немного не так

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

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;  
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;

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

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ДоговорСПокупателем", "ДоговорСПокупателем", ПечатьДокумента(МассивОбъектов[0], ОбъектыПечати, Ложь));
	
КонецПроцедуры // Печать()


Функция ПечатьДокумента(МассивОбъектов, ОбъектыПечати, СуммыВРублях = Ложь)



 ТабДок = Новый ТабличныйДокумент;
    //
    ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ДоговорСПокупателем";
    Макет = ПолучитьМакет("ДоговорСПокупателем");
    
    Область = Макет.ПолучитьОбласть("Заголовок");
    //
    Область.Параметры.Номер = Документ.Номер;
    Область.Параметры.ДатаДок       = Формат(МассивОбъектов.Дата,"ДЛФ=ДД");
    Область.Параметры.Контрагент    = МассивОбъектов.Контрагент;
    
    ТабДок.Вывести(Область);


Возврат ТабДокумент;
	
КонецФункции // ПечатьДокумента()
Показать


Посмотри что получиться
20. MindParadox 26.02.21 07:20 Сейчас в теме
(19) Так тоже пробовал. Не проходит.
БСП нет. Ф.СведенияОВнешнейОбработке - нет, система дает ошибку.
Я выше отправлял скрин из справки: должны быть СведенияОбОбработке и ф. Печать (без параметров).
21. dmitriy.peshkov 26.02.21 07:44 Сейчас в теме
22. MindParadox 26.02.21 08:42 Сейчас в теме
(21) Макет заполнен частично. Но суть проблемы: при тестировании (из Пользователя, Файл - Открыть, все параметры заполняются), а после подключения к базе - вместо параметров пробелы.
Загружается обработка без проблем: есть команда, ошибок при выполнении нет и прочее.
Прикрепленные файлы:
6.5.ДоговорСПокупателем.epf
23. dmitriy.peshkov 26.02.21 09:13 Сейчас в теме
Посмотри должно отработать
Прикрепленные файлы:
ДоговорСПокупателем.epf
24. MindParadox 26.02.21 09:24 Сейчас в теме
(23) При попытке через Файл-Открыть ошибка такая:
ВнешняяОбработка.ДоговорСПокупателем.Форма.Форма.Форма(3,1)}: Переменная не определена (УниверсальныеМеханизмы)
<<?>>УниверсальныеМеханизмы.НапечататьДокумент(Печать());

При попытке загрузить в базу ошибка на скрине.
Прикрепленные файлы:
вариант без СведенийОбОбработке.odt
25. zh_elle 10.03.21 08:57 Сейчас в теме
Добрый день.
Можно вопрос не по теме? Давно вы используете конфигурацию "Управление мебельной фабрикой"? Можно с вами пообщаться о ваших впечатлениях, подводных камнях?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот