Новый параметр в печатную форму СчетНаОплату

1. user1004898 28 18.02.19 16:04 Сейчас в теме
В Типовой конфигурации УТ есть макет печатной формы для Заказов Клиента - "Счет на оплату". Но в нем нет параметра "Срок Поставки".
В Макет внес Столбец "Срок Поставки" - ниже параметры-поля "СрокПоставки"

Так не заходит. Столбец отображается, но само значение не выводится.

Понимаю, что вроде из-за того, что сам параметр не обозначен в обработке ПечатьСчетовНаОплату, и в модуле менеджера обработки.

Так ли это?

Делать внешнюю обработку "ПечатьСчетовНаОплату" и в модуль подключать данный параметр "СрокПоставки"?

Или всё таки как-то можно в макете Предприятия всё это сделать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 18.02.19 16:06 Сейчас в теме
естественно, если добавили новый параметр, то откуда программе знать что в него заполнять, и откуда брать...надо и процедуру формирования ПФ менять
4. user1004898 28 18.02.19 16:14 Сейчас в теме
(2)
Сделал внешнюю печатную форму.
Внес сведения об обработке.

Дорисовал в макете ВПФ колонку с СрокПоставки.

В обработку в модуль внес следующее:
.........

ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбласти);
	Товары = Новый Структура;
	Товары.Вставить("НомерСтроки",      1);
	Товары.Вставить("Артикул",          "АРТ-000001");
	Товары.Вставить("СрокПоставки",     100);
	Товары.Вставить("Код",              "000001");
	Товары.Вставить("Товар",            НСтр("ru='Товар (предварительный просмотр)'"));
	Товары.Вставить("Количество",       1);
	Товары.Вставить("ЕдиницаИзмерения", НСтр("ru='шт'"));
	Товары.Вставить("Цена",             118.00);
	Товары.Вставить("СтавкаНДС",        "18%");
	Товары.Вставить("СуммаНДС",         18.00);
	Товары.Вставить("Сумма",            118.00);
.....

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

.....
Показать


Внес в базу, как внешнюю обработку. Получаю: "Недостаточно фактических параметров".

Что еще нужно дописать?
5. Dmitrij-2 45 18.02.19 16:45 Сейчас в теме
(4) Покажите полный текст ошибки
6. user1004898 28 18.02.19 16:49 Сейчас в теме
(5)
Текст так и выглядит "Недостаточно фактических параметров". Ничего больше.
7. Dmitrij-2 45 18.02.19 16:51 Сейчас в теме
(6) Смотрите процедуру "Печать" в модуле объекта печатной формы
8. user1004898 28 18.02.19 16:58 Сейчас в теме
(7)
Подправил
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

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

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


Получил в ответ " Поле объекта не обнаружено (СрокПоставки)
Если ЗначениеЗаполнено(ДанныеПечати.СрокПоставки) Тогда"


Вроде параметр описал в модуле процедуры!
9. Dmitrij-2 45 18.02.19 17:28 Сейчас в теме
(8) в ДанныеПечати есть Срок поставки?
10. user1004898 28 18.02.19 17:52 Сейчас в теме
(9)
Предполагаю, что нет.
А как внести тогда параметр "Срок поставки" для этой печатной формы?
11. pechenka1440 19.02.19 10:02 Сейчас в теме
(8)
ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);

(10) Не тот Вы кусок кода нам скопировали, полагаю нужно ковырять процедуру
ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);

Провалитесь в неё и найдите где заполняются параметры. там же увидите источник данных, это может быть сам документ, или же в процедуре будет запрос. так или иначе будет понятно куда добавить параметр.
user1155678; +1 Ответить
3. Kovekh 18.02.19 16:07 Сейчас в теме
Да, у нас тоже так пользователь однажды сделал и наехал, что ничего не заполняется) В типовой пришлось долго рыскать через расширение, чтобы аккуратно добавить только одно поле в запросе и в структуре)
12. user1004898 28 19.02.19 13:08 Сейчас в теме
Всем спасибо, ограничился тем, что в печатную форму попадает пустое поле для ручного корректирования срока доставки.
Оставьте свое сообщение

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