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

Автор Тема: Вывод на печать объектов по ссылкам  (Прочитано 740 раз)

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

Оффлайн Paranoik0007

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-28
  • Сайт: 
  • Профессия: ГлавБух
Добрый день! помогите пожалуйста реализовать решение:
Редакция 3.0 (3.0.43.252), внешняя обработка, формируется список, получаю ссылки на полученные объекты, при нажатии на команду нужно вывести на печать все объекты каждой строки. Ткните пальцем где копать, уже весь интернет облазил... я надеялся что всё будет просто, наподобие ...ПолучитьОбъект().Печать("названиемакета")... а на деле всё слишком замудрёно надо делать... :dfbsdfbsdf:

Процедура, на которой остановился:

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


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1098
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
пока на уровне теории...

в 3.0 процедуры печати - это не процедуры в модуле объекта как было раньше,
а процедуры модуля менеджера.
то есть вызывать их надо что то вроде
    ДОкументы.Реализация.Печать(<<МассивСсылокНаРеализации>>);
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Paranoik0007

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-28
  • Сайт: 
  • Профессия: ГлавБух
Друзья, пытаюсь вывести вот таким кодом:

&НаСервере

Процедура ПечатьДокументовЛИЦНаСервере()

 Для каждого Строка из Объект.СписокЗагружаемыхДокументовЛИЦ Цикл

 Если ЗначениеЗаполнено(Строка.Документ) И ЗначениеЗаполнено(Строка.ДокументСФ) И ЗначениеЗаполнено(Строка.ДокументСчет) Тогда Иначе Продолжить КонецЕсли;

 Документ = Строка.Документ.ПолучитьОбъект();

 ДокументСФ = Строка.ДокументСФ.ПолучитьОбъект();

 ДокументСчет = Строка.ДокументСчет.ПолучитьОбъект();

 //потом печатаем акты

 МассивДокумента = Новый Массив();

 МассивДокумента.Добавить(Документ);

 ПараметрыПечати = Новый Структура;

 КоллекцияПечатныхФормДокумента = Новый ТаблицаЗначений;

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("ИмяВРЕГ");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("ИмяМакета");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("ИмяФайлаПечатнойФормы");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("Картинка");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("Экземпляров");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("ПолныйПутьКМакету");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("СинонимМакета");

 КоллекцияПечатныхФормДокумента.Колонки.Добавить("ТабличныйДокумент");

 КоллекцияПечатныхФормДокументаСтрока = КоллекцияПечатныхФормДокумента.Добавить();

 КоллекцияПечатныхФормДокументаСтрока.ИмяВРЕГ = "Акт";

 КоллекцияПечатныхФормДокументаСтрока.ИмяМакета = "Акт";

 КоллекцияПечатныхФормДокументаСтрока.Экземпляров = 2;

 КоллекцияПечатныхФормДокументаТабДок = КоллекцияПечатныхФормДокумента.Получить(0).ТабличныйДокумент;

 КоллекцияПечатныхФормДокументаТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

 ОбъектыПечатиДокумента = Новый СписокЗначений;

 ПараметрыВыводаДокумента = Новый Структура("ДоступнаПечатьПоКомплектно,ПараметрыОтправки");

 ПараметрыВыводаДокумента.ПараметрыОтправки = Новый Структура("Получатель,Текст,Тема");

 //и вот наконец выводим все параметры на печать...

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

 КонеЦцикла;

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




И в итоге выдает вот такую ошибку, не могу понять что не так....

{Форма.Форма.Форма(847)}: Значение не является значением объектного типа (Напечатать)

 КоллекцияПечатныхФормДокументаТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);







что это может быть?

Оффлайн Kironten

  • *****
  • Сообщений: 879
  • РЕПУТАЦИЯ: 183
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
И в итоге выдает вот такую ошибку, не могу понять что не так....

{Форма.Форма.Форма(847)}: Значение не является значением объектного типа (Напечатать)

 КоллекцияПечатныхФормДокументаТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

что это может быть?

Как минимум ошибка тут:
КоллекцияПечатныхФормДокументаТабДок = КоллекцияПечатныхФормДокумента.Получить(0).ТабличныйДокумент;
Вы пытаетесь получить значение из колонки "ТабличныйДокумент", а вы его туда до этого помещали?

Оффлайн Paranoik0007

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-28
  • Сайт: 
  • Профессия: ГлавБух
Думаю эти две строки вообще не нужны
А если их убрать то всё равно не печатает, ничего не происходит вообще...
по шагам, вижу что заходит на перебор имения макета,  и нужный макет проскакивает. и в итоге ничего не происходит. не пойму как заставить е\е работать...


вот это "если", процедура Печать проскакивает....

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

Оффлайн Kironten

  • *****
  • Сообщений: 879
  • РЕПУТАЦИЯ: 183
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Думаю эти две строки вообще не нужны
А если их убрать то всё равно не печатает, ничего не происходит вообще...
по шагам, вижу что заходит на перебор имения макета,  и нужный макет проскакивает. и в итоге ничего не происходит. не пойму как заставить е\е работать...


вот это "если", процедура Печать проскакивает....

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


Теги:
 

УТ 11.В документе "Заявка на расходование денежных средств" нет кнопки "Печать"!

Автор Valery3103Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 3695
Последний ответ 29 Июн 2012, 18:37
от LexaK
Печать справки "Б"

Автор wvlasРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 2114
Последний ответ 27 Апр 2016, 18:01
от wvlas
Как "поймать" нажатие на кнопку "Печать" в открываемом макете(табличный документ)?

Автор taramz5Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1070
Последний ответ 14 Фев 2017, 14:27
от ilyay
Вывод комментария в документ "Расходная накладная" из документа "Заказ покупателя"

Автор ОльгаПлРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 135
Последний ответ 07 Окт 2017, 19:03
от Norfolk
Расширение меню кнопки "Печать"

Автор dab2Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 5997
Последний ответ 23 Июл 2010, 13:26
от dab2

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
93 Сообщений
alex0402
53 Сообщений
AIFrame
43 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
38 Сообщений
Oldman06
31 Сообщений
Golickoff Golickoff
30 Сообщений
vitasw
29 Сообщений
MuI_I_Ika MuI_I_Ika
19 Сообщений
DmitriyF DmitriyF
14 Сообщений
BuhRust
13 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal