Имя: Пароль:
1C
1С v8
Выгрузка в ТЗ данных из запроса
,
0 Neona
 
02.10.15
13:26
Добрый день.
Прошу подсказать в чем может быть проблема.
Во внешней печатной форме пытаюсь выгрузить в ТЗ часть данных из выборки запроса, но выходит ошибка:
Не удалось сформировать внешнюю печатную форму!
Значение не является значением объектного типа (Выгрузить)
Вот пример кода:

Шапка = Выборка;
Шапка.Следующий();
ТабЧасть = Шапка.Материалы.Выгрузить();

Если использую код в  конфигурации (например в общем модуле), то все прекрасно работает. Конфа БГУ (редакция 1.0)
Спасибо.
1 Альбатрос
 
02.10.15
13:27
скобок нет
2 ЧеловекДуши
 
02.10.15
13:30
(0) Какой тип у "Материалы" ?
3 ЧеловекДуши
 
02.10.15
13:30
(1) Тут дело не в скобках :)
4 ЧеловекДуши
 
02.10.15
13:31
+(0)Запрос покажи, ну так, чисто пятница... :)
5 Enterprise
 
02.10.15
13:31
(4) а почему кстати больше нет пятниц тут?
6 Neona
 
05.10.15
04:39
Запрос стандартный, взят из типовой 1С, находиться общем модуле 1С БГУ.
Но вот работать во внешней обработке - не хочет (
Делаю внешнюю печатную форму, что бы не изменять конфу еще больше. Но вот с ТЗ - никак не получается поработать во внешней обработке, ибо не дает выгрузить :(
7 jurassic
 
05.10.15
05:18
а что, Выборка - это та самая выборка из запроса? та, которая в принципе не умеет выгружаться?
8 mehfk
 
05.10.15
05:26
(7) Прозри.

Вангую, что выборка пустая. Отладчик в помощь.
9 patria0muerte
 
05.10.15
05:33
Как вариант - просто написать так:

Шапка = Выборка;
Если Шапка.Следующий() Тогда
    ТабЧасть = Шапка.Материалы.Выгрузить();
КонецЕсли;
10 jurassic
 
05.10.15
05:34
(8) у меня кофе кончился, прозираю с трудом
11 patria0muerte
 
05.10.15
05:55
(10) В данном случае - Шапка.Материалы - должен вернуть РезультатЗапроса, т.к. это (судя по всему) табличная часть документа.

Т.е. как то так:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
    АвансовыйОтчет.Ссылка,
    АвансовыйОтчет.ВыданныеАвансы.(
        Ссылка,
        НомерСтроки,
        ДокументАванса,
        Сумма
    )
ИЗ
    Документ.АвансовыйОтчет КАК АвансовыйОтчет"
РезультатЗапроса = Запрос.Выполнить(); //Получаем результат запроса
Выборка = РезультатЗапроса.Выбрать(); // Получаем выборку
Если Выборка.Следующий() Тогда //Открываем выборку
ВЫданныеАвансы = Выборка.ВыданныеАвансы; //Получаем РЕЗУЛЬТАТ ЗАПРОСА
ТЗ = ВыданныеАвансы.Выгрузить(); //Таблица значений
КонецЕсли
12 ПротоМФ
 
05.10.15
05:57
выгружается результат запроса, а не выборка
Запрос.Выполнить().Выгрузить()
а не
Запрос.Выполнить().Выбрать().Выгрузить()
13 jurassic
 
05.10.15
06:11
ну Шапка=Неопределено тогда
14 FIXXXL
 
05.10.15
07:00
В запрос наверняка ссылка как парамеир передается
Ну и напиши просто Ссылка.ТЧ.Выгрузить()
15 Neona
 
05.10.15
07:42
Спасибо всем отписавшимся.
Давайте исходить из того, что запрос написан, верно. ИБО ! :)
Печатаю из того же документа но использую печатную форму приписанную в конфе. Все ок, ошибок нет печатная форма выводится.
Переношу те же функции и процедуры во внешнюю обработку, открываю тот же документ, что и раньше, но использую внешнюю печтаную форму, выходит ошибка:
Не удалось сформировать внешнюю печатную форму!
Значение не является значением объектного типа (Выгрузить)
Может все же есть какие то нюансы при работе с внешними обработками ?
16 Мимохожий Однако
 
05.10.15
08:02
В каком модуле перенесённые процедуры? Отладчик боишься включать?
17 Neona
 
05.10.15
08:03
(14) Да, как вариант, счас попробую, но все же хотелось понять почему валится сия ошибка)
18 patria0muerte
 
05.10.15
08:04
(15) В запрос то что попадает? Хоть выбирается чего? Отладчиком проверь или код сюда кинь вместе с запросом и установкой параметров.
19 jurassic
 
05.10.15
08:04
(17) ты можешь даже ветку почитать ради этого
20 Neona
 
05.10.15
08:05
(16) в модуле объекта (согласно справке, как создавать внешние печатные формы). Пробовал в модуль формы скидывать(хотя бы часть функций и процедур), что бы просмотреть отладчиком, но тогда не видится функция печать(), которая опять таки должна быть в модуле объекта.
21 Neona
 
05.10.15
08:07
(18) написано же: ЗАПРОС РАБОТАЕТ КОРРЕКТНО в конфигурации, только во внешней обработке не хочет. конкретно переносится
печатная форма 0504204 и все необходимые её функции и процедуры.
22 jurassic
 
05.10.15
08:09
(21) Если НЕ ЗначениеЗаполнено(Шапка) Тогда Сообщить("Подайте..")
23 Neona
 
05.10.15
08:15
(22) Ваш сарказ - не к месту. И для справки значение - заполнено.
24 jurassic
 
05.10.15
08:15
(23) и чо там?
25 Neona
 
05.10.15
08:19
(24) Данные из ьабл. части документа. Но вот только я их не могу выгрузить в ТЗ. А если через цикл обходить - все гуд. Ну, что посоветуешь ?
26 jurassic
 
05.10.15
08:20
(25) какого типа эти данные?
27 patria0muerte
 
05.10.15
08:22
Конкретно в Шапка.Материалы у тебя что?
28 ЧеловекДуши
 
05.10.15
08:42
(26) Ему религия не позволяет отладчик запустить :)
29 ЧеловекДуши
 
05.10.15
08:42
(27) Его спрашивали, он не знает, но твердо верит, что там ТЗ :)
30 Neona
 
05.10.15
08:50
Прошу прощения за флуд ( реально запрос не отрабатывал.
А по поводу отладчика, функции и процедуры в модуле объекта.
31 patria0muerte
 
05.10.15
08:58
(28) Плохо, что ТЗ... должен быть РезультатЗапроса ))
32 Neona
 
05.10.15
09:01
(31) в ТЗ я выгружаю данные из Результата запроса, что в этом плохого ?
33 Мимохожий Однако
 
05.10.15
09:18
(32)Обычно не выгружают в ТЗ, а обрабатывают Выборку из запроса.
(20)Функция Печать() Экспорт?
34 Neona
 
05.10.15
09:50
(33) да.Там в выборке есть данные и из шапки документа и так же из табличной части. Вот собственно и выгружают табличную часть в ТЗ. Причем весь код - полностью 1С из типовой)
Мой косяк в том (в этом моменте стыдно-стыдно), что переделывал же свою внешнюю обработку и там тупо в ссылке на объект была указана ссылка на другой документ...
Вот а насколько мне известно в модуле объекта - пользоваться отладчиком - нельзя. Вот отсюда все и пошло-поехало (
35 RomanYS
 
05.10.15
09:51
"в модуле объекта - пользоваться отладчиком - нельзя" - это совсем не так
36 Neona
 
05.10.15
10:04
(35) можно подробнее?
37 Горогуля
 
05.10.15
10:26
(36) в модуле объекта - пользоваться отладчиком - можно
38 patria0muerte
 
05.10.15
10:33
(36) Пользоваться отладчиком можно ВЕЗДЕ. Даже если это управляемое приложение на сервере - серверные процедуры отлаживаются с помощью ключа /debug.

Не уверен правда насчет мобильного приложения.

В твоем случае - в БГУ 1.0 - хоть в самые дебри с отладчиком наперевес лезь.
39 Горогуля
 
05.10.15
10:34
а я бы поотлаживал веб-приложение, но не знаю, как. отладка - подключение?
40 RomanYS
 
05.10.15
10:43
(36) проблема отладки внешних печатных форм - обработка сохраняется во временный файл и запускается этот временный файл(который конечно не открыт в конфигураторе).

Решение: добавляешь форму, выводишь на нее СсылкаНаОбъект и кнопку с
Печать()
или
Печать().Показать()

и отлаживай сколько хочешь
41 Neona
 
05.10.15
10:45
Спасибо, понял.
42 mehfk
 
05.10.15
10:45
(39) На ИТС есть соответствующая статья.
43 Альбатрос
 
05.10.15
10:50
(34) "Вот а насколько мне известно в модуле объекта - пользоваться отладчиком - нельзя."
Вот это поворот!
44 patria0muerte
 
05.10.15
10:53
45 jurassic
 
05.10.15
11:16
(44) спасибо
46 Neona
 
06.10.15
04:48
(43) Я написал, что мне неизвестно, а ваш сарказм в этом топике, как минимум лишний. Ибо толкового ничего не написали.
47 patria0muerte
 
06.10.15
05:28
(46) Здесь все смотрят на длину полосочки. Чем длиннее полосочка - тем смешнее глупый вопрос. Судя по твоей полосочке, ты на этом форуме уже 4,5 года (т.е. по логике и 1сишь столько же). С учетом этого - пост (34) - просто трэш и угар
48 jurassic
 
06.10.15
06:04
(46) >Ибо толкового ничего не написали
не стесняйся, говори прямо: ничего толкового не увидел
49 Neona
 
06.10.15
08:38
(48) Ты я посмотрю в каждой бочке затычка ? Те кто знает, взяли и написали в чем косяк и что делать. Моя ошибка быля - я написал.А кто в коментах испражняется могет и только, тему и засоряют.
50 Neona
 
06.10.15
08:39
(47) Очередной любитель чем нибудь да помериться? Ну-ну, где еще трэш и угар?