Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 23:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: ВПФ Розница 2.0 с БСП  (Прочитано 6675 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LordSolar

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-03-01
  • Сайт: 
  • Профессия: Ученик 1С
Помогите советом пожалуйста.
 Разрабатываю ВПФ для Розница 2.0, называется Внешний договор. Печатается из документа Реализация товаров.
 Но вот проблема при печати выводится пустой макет, а данные из документа не берутся. В чём ошибка?

// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ РЕГИСТРАЦИИ ОБРАБОТКИ
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
 
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
МассивНазначений.Добавить("Документ.РеализацияТоваров");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
 
ПараметрыРегистрации.Вставить("Наименование", "Внешний договор");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Версия", "1.1"); 
ПараметрыРегистрации.Вставить("Информация", "Печатная форма Внешний договор к документу Реализация товаров");
 
ТаблицаКоманд = ПолучитьТаблицуКоманд();
 
ДобавитьКоманду(ТаблицаКоманд, "Внешний договор", "ВнешнийДоговор", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
 
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
 
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
   Команды = Новый ТаблицаЗначений;
   Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
   Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
   Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
   Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

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

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

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

Запрос = Новый Запрос ("ВЫБРАТЬ
   | РеализацияТоваров.Номер КАК Номер,
   | РеализацияТоваров.Дата КАК Дата,
   | РеализацияТоваров.Организация КАК Организация,
   | РеализацияТоваров.Контрагент КАК Получатель,
   | РеализацияТоваров.СуммаДокумента КАК СуммаДок,
   | РеализацияТоваров.УчитыватьНДС КАК УчитыватьНДС,
   | РеализацияТоваров.ЦенаВключаетНДС КАК ЦенаВключаетНДС
   |ИЗ
   | Документ.РеализацияТоваров КАК РеализацияТоваров
   |ГДЕ
   | РеализацияТоваров.Ссылка В (&Ссылка)");
Запрос.УстановитьПараметр("Ссылка" ,МассивОбъектов);
Выборка = Запрос.Выполнить().Выбрать();

Макет = ПолучитьМакет("ПФ_Договор");
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаДоговора");
ОбластьМакета.Параметры.ДоговорНомер = "Договор № " + Выборка.Номер;
ОбластьМакета.Параметры.ДатаДоговора = Выборка.Дата;
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции // СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)

Никаких ошибок не выдаёт. На экран выводится строки "Договор №" без самого номера, дата соответственно тоже не выводится.Через табло проверяю МассивОбъектов значение массив, тип массив.

 P.S. Сначала я переносил эту ВПФ с Розницы 1.0 но когда столкнулся с этой проблемой начал делать заново. Пересмотрел кучу видео и перечитал статей, вроде всё по инстукции, но данные из документа не цепляет


Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Запрос.УстановитьПараметр("Ссылка" ,МассивОбъектов);
Выборка = Запрос.Выполнить().Выбрать();
Макет = ПолучитьМакет("ПФ_Договор");
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаДоговора");
ОбластьМакета.Параметры.ДоговорНомер = "Договор № " + Выборка.Номер;
ОбластьМакета.Параметры.ДатаДоговора = Выборка.Дата;
ТабДокумент.Вывести(ОбластьМакета);

Наверное это из за того что вы не получили результат!
Запрос.УстановитьПараметр("Ссылка" ,МассивОбъектов); 
Выборка = Запрос.Выполнить().Выбрать();
Результат = Выборка.Получить(0);
А дальше все то что вы делали только уже присваиваете результат.номер ну и так далее!
Помогли, отблагодари!

Оффлайн LordSolar

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-03-01
  • Сайт: 
  • Профессия: Ученик 1С
К сожалению Результат пустой тип Неопределоно, вот Выборка тип ВыборкаИзРезультатаЗапроса Значение - Ошибка чтения значения :(
Может есть ещё варианты.
Заранее спасибо

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Выложите ВПФ! посмотрю
Помогли, отблагодари!

Оффлайн LordSolar

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-03-01
  • Сайт: 
  • Профессия: Ученик 1С
Ссылка на ВПФ
Договор

Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
С получить не получается почему то, сделал так
	Пока Выборка.Следующий() цикл
Макет = ПолучитьМакет("ПФ_Договор");
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаДоговора");
ОбластьМакета.Параметры.ДоговорНомер = "Договор № " + Выборка.Номер;
ОбластьМакета.Параметры.ДатаДоговора = Выборка.Дата;
ТабДокумент.Вывести(ОбластьМакета);
Прервать;
КонецЦикла;

Помогли, отблагодари!

Оффлайн LordSolar

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-03-01
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо огромное,очень помогли, буду дальше работать


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 241
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal