| 
    
            
         
         | 
    
    
  | 
Объясните почему не работает? | ☑ | ||
|---|---|---|---|---|
| 
    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
 
        он может быть не записан еще  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |