|
Объясните почему не работает? | ☑ | ||
---|---|---|---|---|
0
Aswed
22.02.17
✎
15:39
|
Делаю обычную внешнюю печатную форму. Там есть кусок примитивного кода, без всяких излишеств
Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | СчетНаОплатуТовары.Ссылка, | СчетНаОплатуТовары.НомерСтроки, | СчетНаОплатуТовары.Номенклатура, | СчетНаОплатуТовары.Количество, | СчетНаОплатуТовары.ЕдиницаИзмерения, | СчетНаОплатуТовары.Коэффициент, | СчетНаОплатуТовары.Цена, | СчетНаОплатуТовары.Сумма, | СчетНаОплатуТовары.СтавкаНДС, | СчетНаОплатуТовары.СуммаНДС, | СчетНаОплатуТовары.ХарактеристикаНоменклатуры, | СчетНаОплатуТовары.СуммаВсего, | СчетНаОплатуТовары.СуммаСкидки, | СчетНаОплатуТовары.ПроцентСкидки, | СчетНаОплатуТовары.Комментарий, | СчетНаОплатуТовары.СкидкаНаТовар, | СчетНаОплатуТовары.ПроцентСкидкиСтроки, | СчетНаОплатуТовары.СуммаСкидкиСтроки, | СчетНаОплатуТовары.Номенклатура.Код КАК Код |ИЗ | Документ.СчетНаОплату.Товары КАК СчетНаОплатуТовары |ГДЕ | СчетНаОплатуТовары.Ссылка = &Ссылка"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, Выборка); ТабДокумент.Вывести(ОбластьСтрока); дкДобавитьИтогиПоСтранице(Выборка,СтруктураИтоговПоСтранице); КонецЦикла; Когда запускаю эту форму в режиме отладки и интерактивно нажимаю "Напечатать" то все отрабатывает как и должно. Но вот как только подключаю её через "Внешние формы" этот кусок кода не выполняется. Такое ощущение что запрос не дает никакого результата. Может кто нибудь разъяснить что за полтергейст? ЗЫ 8.1 |
|||
1
Лефмихалыч
22.02.17
✎
15:41
|
ссылка пустая
или ссылка на объект другого типа или весь вышестоящий код завернут в #Если КЛиент или еще 100500 вариантов, все из которых лежат до этого кода |
|||
2
Митяйский
22.02.17
✎
15:41
|
Новые заморочки с запуском внешних обработок. Нету прав на их запуск, скорее всего.
|
|||
3
DrShad
22.02.17
✎
15:42
|
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект.Ссылка);
|
|||
4
Naf2017
22.02.17
✎
15:42
|
Возврат ТабДокумент;
|
|||
5
Лефмихалыч
22.02.17
✎
15:42
|
(3) это ни чего не меняет
|
|||
6
СамыйУмный
22.02.17
✎
15:42
|
Если ты подключаешь внешнюю печатную форму, если не ошибаюсь, у тебя должна быть в модуле обработки функция Печать(), которая должна возвращать табличную часть
|
|||
7
Лефмихалыч
22.02.17
✎
15:43
|
(2) новые заморочки в 8.1?
|
|||
8
СамыйУмный
22.02.17
✎
15:43
|
Печать() Экспорт
Вот так |
|||
9
Hmster
22.02.17
✎
15:43
|
одно время 81 падала на конструкции
|ГДЕ | СчетНаОплатуТовары.Ссылка.Ссылка = &Ссылка" А вообще в чем проблема зайти отладчиком и посмотреть что происходит? |
|||
10
DrShad
22.02.17
✎
15:43
|
(6) что!?
|
|||
11
anatoly
22.02.17
✎
15:44
|
(0) этот код в модуле формы или в модуле объекта?
в какой процедуре? |
|||
12
Лефмихалыч
22.02.17
✎
15:44
|
(10) чо ты к словам придираешься?
|
|||
13
youalex
22.02.17
✎
15:44
|
В отладке можешь посмотреть (чтобы работала отладка, нужно чтобы оно сохраняло внешники с разрешением .epf (стандартно - сохраняет как .tmp))
|
|||
14
СамыйУмный
22.02.17
✎
15:45
|
(10) например в УТ 10.3, когда подключаешь внешнюю печатную форму,
у тебя во внешней обработки должна быть функция Печать экспортная, которая возвращает табличнуючасть, далее обработку подключаешь и она печатает. |
|||
15
Лефмихалыч
22.02.17
✎
15:47
|
(14) табличный документ, а не табличную часть - он об этом
|
|||
16
СамыйУмный
22.02.17
✎
15:48
|
И еще, должен быть реквизит СсылкаНаОбъект с типом документа, и тогда этот кусок кода исправь:
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект.Ссылка) на Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); |
|||
17
СамыйУмный
22.02.17
✎
15:48
|
(15) Спасибо, это я и имел ввиду.
|
|||
18
DrShad
22.02.17
✎
15:48
|
(14) какую ТЧ и куда возвращает? и самое интересное нафейхоа?
|
|||
19
СамыйУмный
22.02.17
✎
15:49
|
(18) Не ТЧ а ТД, я ошибся.
|
|||
20
Aswed
22.02.17
✎
15:59
|
(6) Она и есть. Этот код оттуда.
|
|||
21
Лефмихалыч
22.02.17
✎
16:00
|
(20) этот код рабочий. Проблема либо в другом коде, либо в параметре
|
|||
22
Aswed
22.02.17
✎
16:00
|
(9) В том что когда запускаю ее отдельно, не в составе справочника, она отрабатывает как надо.
А когда подключаю к справочнику, кусок кода тупо пролетает, как будто запрос не возвращает результата. |
|||
23
Aswed
22.02.17
✎
16:01
|
(11) Модуль объекта.
Процедура Печать() Экспорт |
|||
24
DrShad
22.02.17
✎
16:03
|
(22) ну так запрос не даст результата только если параметр неверный
|
|||
25
DrShad
22.02.17
✎
16:03
|
напиши Сообщить(СсылкаНаОбъект.Ссылка) и глянь что там
|
|||
26
Лефмихалыч
22.02.17
✎
16:04
|
(25) в 8.1, кажется, упадет это с грохотом. Надо ЗаписьЖурналаРегистрации()
|
|||
27
Aswed
22.02.17
✎
16:07
|
(25) Только что сделал.
выскочила что не обнаружена процедура "Печать" |
|||
28
DrShad
22.02.17
✎
16:08
|
(27) а вот тут поподробней )))
|
|||
29
Aswed
22.02.17
✎
16:09
|
(28) Ну судя по всему при попытке посмотреть что там такое процедура Печать() выпадет с ошибкой.
А там запуск этой процедуры через Попытку. |
|||
30
Hmster
22.02.17
✎
16:09
|
(27) слово Экспорт есть?
|
|||
31
Лефмихалыч
22.02.17
✎
16:09
|
pfff!
|
|||
32
Лефмихалыч
22.02.17
✎
16:10
|
говорил же, что ошибка выше.
Перенести свою эту печать из модуля формы в модуль объекта |
|||
33
СамыйУмный
22.02.17
✎
16:10
|
Почему процедура если функция должна быть?
|
|||
34
Aswed
22.02.17
✎
16:11
|
(32) Она там и есть.
(33) Ясен пень что функция. |
|||
35
DrShad
22.02.17
✎
16:11
|
[А там запуск этой процедуры через Попытку.] вот это поворот
|
|||
36
Aswed
22.02.17
✎
16:12
|
+ (34) Не могу понять что же тогда передается в эту процедуру в качестве Объекта, если другие подобные формы работают без проблем. Вызываемые из того же справочника.
|
|||
37
Aswed
22.02.17
✎
16:12
|
(35) В чем поворот?
Из модуля справочника с внешними печатными формами Попытка ТабДокумент = ВнешниеОбработки.Создать(ИмяФайлаПечатнойФормы).Печать(ДокументОбъект,ТабДокумент); Исключение ТабДокумент = ВнешниеОтчеты.Создать(ИмяФайлаПечатнойФормы).Печать(ДокументОбъект,ТабДокумент); КонецПопытки; |
|||
38
Жан Пердежон
22.02.17
✎
16:15
|
попробуй выключить и включить (с)
|
|||
39
youalex
22.02.17
✎
16:18
|
(37) посмотри конфигурятником файл, который ИмяФайлаПечатнойФормы
попробуй темп почистить |
|||
40
DrShad
22.02.17
✎
16:21
|
(39) +1
скорее всего кэш что-то не то исполняет |
|||
41
Hmster
22.02.17
✎
16:27
|
Вообще ДокументОбъект печатать это круто, по феншую положено ДокументСсылка
|
|||
42
Aswed
22.02.17
✎
16:54
|
(41) Это мать его АльфаАвто((((
|
|||
43
Aswed
22.02.17
✎
17:00
|
Посмотрел в момент вызова процедуры Печать передается документ объект СчетНаОплату, не пойму что там не так
|
|||
44
h-sp
22.02.17
✎
17:02
|
(43) может у него ссылка пустая. проверь
|
|||
45
DrShad
22.02.17
✎
17:12
|
(44) +1
он может быть не записан еще |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |