|
значение не является значением объектного типа (показать) | ☑ | ||
---|---|---|---|---|
0
GF
31.01.19
✎
08:59
|
Где-то туплю, помогите, пожалуйста.Вылетает ошибка значение не является значением объектного типа (показать). Как преобразовать к объекту, метод получитьОбъект() не срабатывает, программа на него ругается.
&НаКлиенте Процедура ПечатьПакетаДокументов(СразуНаПринтер = Ложь) Для Каждого Стр Из Объект.Отгрузка Цикл Если ЗначениеЗаполнено(Стр.Реализация) Тогда ТабДок = ПечататьУПД(Стр.Реализация); Если СразуНаПринтер Тогда ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); Иначе ТабДок.Показать("Универсальный Передаточный Документ"); КонецЕсли; Иначе Сообщить("Нельзя печатать УПД, если не создана реализация"); КонецЕсли; Стр.Реализация = Это ДокументССылка. Никак не соображу как в обработке сделать так, чтобы если не нужно было сразу печатать, то показывал бы этот документ. Процедура ПечататьУПД(Стр.Реализация); выглядит так &НаСервере Функция ПечататьУПД(РеализацияСсылка) МассивОбъектов = Новый Массив; ПараметрыПечати = Новый Структура; ПараметрыПечати.Вставить("ПечатьВВалюте", Ложь); КоллекцияПечатныхФорм = Новый ТаблицаЗначений; КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ"); КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров"); КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент"); КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("Картинка"); КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету"); НоваяСтрока = КоллекцияПечатныхФорм.Добавить(); //Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ПФ_MXL_УниверсальныйПередаточныйДокумент981"); НоваяСтрока.ИмяМакета = "ПФ_MXL_УниверсальныйПередаточныйДокумент981"; НоваяСтрока.ИмяВРЕГ = "УПД"; НоваяСтрока.Экземпляров = 2; МассивОбъектов.Добавить(РеализацияСсылка); ОбъектыПечати = Новый СписокЗначений; ОбъектыПечати.Добавить(Неопределено, "ДоступныеЗначения"); ПараметрыВывода = Новый Структура("ДоступнаПечатьПоКомплектно, ПараметрыОтправки"); ПараметрыВывода.ДоступнаПечатьПоКомплектно = Ложь; ПараметрыВывода.ПараметрыОтправки = Новый Структура("Получатель, Текст, Тема"); ПараметрыВывода.ПараметрыОтправки.Текст = ""; ПараметрыВывода.ПараметрыОтправки.Тема = ""; Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); Возврат КоллекцияпечатныхФорм.Получить(0).ТабличныйДокумент; КонецФункции |
|||
1
ДенисЧ
31.01.19
✎
09:15
|
Отладчик упёрся рогом и упорно не желает показывать, что у тебя возвращается из функции?
|
|||
2
Повелитель
31.01.19
✎
09:19
|
(1) В отладчике можно за 3 минуты решить, а поговорить то хочется с кем то)))
|
|||
3
Михаил Иванович
31.01.19
✎
09:20
|
(0) Про отладчик уже говорили?
|
|||
4
ДенисЧ
31.01.19
✎
09:21
|
(2) Ну поговорить - это нужно наливать... А тут нельзя...
|
|||
5
Михаил Иванович
31.01.19
✎
09:22
|
(4) И говорить об этом тоже нельзя....
|
|||
6
GF
31.01.19
✎
09:22
|
А что отладчик!?Отладчик говорит, что это документссылка, а я не знаю как сделать так, чтоб показать документ перед печатью.Метод получитьОбъект не отрабатывает. Как еще можно!?
|
|||
7
ZDenis
31.01.19
✎
09:22
|
А мне кажется ТС хочет не то, что вы подумали. Зачем упомянуто "метод получитьОбъект() не срабатывает"?
|
|||
8
ZDenis
31.01.19
✎
09:24
|
(6) "показать документ перед печатью"
Печатную форму или локумент "Реализация"? |
|||
9
GF
31.01.19
✎
09:24
|
При чем в ут 11 этот кусок кода прекрасно отрабатывает, а в унф посылает меня...не могу понять почему, дайте какую нить умную мысль куда смотреть
|
|||
10
GF
31.01.19
✎
09:24
|
Печатную форму
|
|||
11
Михаил Иванович
31.01.19
✎
09:25
|
(8) Документ он хочет показать. Написано.
|
|||
12
ДенисЧ
31.01.19
✎
09:27
|
а) если ты хочешь показать сам документ, то надо использовать ОткрытьФорму()
б) если ты хочешь показать табличный документ, то он у тебя не возвращается. Вот тут отладчик и пригодится |
|||
13
ZDenis
31.01.19
✎
09:27
|
(10) Тогда какая связь с "получитьОбъект()" и отладчик в руки и смотреть что находится в ТабДок перед Показать()
|
|||
14
GF
31.01.19
✎
09:28
|
В табДок находится документссылка на документ расходная накладная
|
|||
15
Галахад
гуру
31.01.19
✎
09:29
|
Так не покатит?
РежимИспользованияДиалогаПечати.Использовать |
|||
16
Михаил Иванович
31.01.19
✎
09:30
|
(14) И? Тебе это ни о чем не говорит?
|
|||
17
ZDenis
31.01.19
✎
09:30
|
(14) Откуда она там взялась? Согласно коду, представленному выше там должен быть табличный документ
|
|||
18
GF
31.01.19
✎
09:31
|
Для Каждого Стр Из Объект.Отгрузка Цикл
Объект.Отгрузка -это ДанныеФормыКоллекция. Вот в том то и дело, что должен быть табдокумент |
|||
19
sieben
31.01.19
✎
09:33
|
(18) Попробуй спросить у автора процедуры Печать?
|
|||
20
GF
31.01.19
✎
10:26
|
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Перем Ошибки; //ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, Обработки.ПечатьАктаОбОказанииУслуг.ИдентификаторПечатнойФормы(Ложь, Ложь)); Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_УниверсальныйПередаточныйДокумент982") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXL_УниверсальныйПередаточныйДокумент982", "Универсальный передаточный документ", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "УниверсальныйПередаточныйДокумент", ПараметрыПечати)); КонецЕсли; Если Ошибки <> Неопределено Тогда ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки); КонецЕсли; // параметры отправки печатных форм по электронной почте УправлениеНебольшойФирмойСервер.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм); КонецПроцедуры |
|||
21
catena
31.01.19
✎
10:50
|
(20)Ну и? Пройтись отладчиком и посмотреть, после какого вызова КоллекцияпечатныхФорм.Получить(0).ТабличныйДокумент становится тыквой.
|
|||
22
stix2010
31.01.19
✎
14:10
|
(21) ну это легко, но мы не ищем легких путей.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |