Имя: Пароль:
1C
1С v8
поле объекта не обнаружено
, ,
0 Ruslan1c
 
22.09.14
08:49
Приветствую,товарищи. Нужно выбрать из документа "Требование накладная" из табличной части "Материалы заказчика" поля.
Запрос = Новый Запрос;

    Запрос.Текст = "ВЫБРАТЬ
                   |    ТребованиеНакладнаяМатериалыЗаказчика.НомерСтроки,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.ЕдиницаИзмерения,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.ЕдиницаИзмерения.Код КАК КодОКЕИ,
|    ТребованиеНакладнаяМатериалыЗаказчика.КоличествоОтпущено,                              |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.Код КАК Код
    
                   |ИЗ
                   |    Документ.ТребованиеНакладная.МатериалыЗаказчика КАК ТребованиеНакладнаяМатериалыЗаказчика
                   |ГДЕ
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Ссылка = &Ссылка";

Поле КоличествоОтпущено уже убрал из кода,но все равно при попытке печатать документ пишет  "Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (КоличествоОтпущено)". Что не так и как вообще корректно добавить эту строку в код?
22 Любопытная
 
22.09.14
09:17
(20) Ты не врешь. Ты не понимаешь, что делаешь. Это разные вещи. Весь код печати давай сюда, а то по обрывкам фраз я сегодня не отгадываю, настроение не то
23 yusose
 
22.09.14
09:17
(0) Убрать эту строку и добавить конструктором?..
24 Ruslan1c
 
22.09.14
09:19
Функция Печать() Экспорт

    Запрос = Новый Запрос;

    Запрос.Текст = "ВЫБРАТЬ
                   |    ТребованиеНакладнаяМатериалыЗаказчика.НомерСтроки,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.ЕдиницаИзмерения,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.ЕдиницаИзмерения.Код КАК КодОКЕИ,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.Код КАК Код
                   |ИЗ
                   |    Документ.ТребованиеНакладная.МатериалыЗаказчика КАК ТребованиеНакладнаяМатериалыЗаказчика
                   |ГДЕ
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    
    Макет = ПолучитьМакет("Макет");

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Очистить();

    СведенияОПоклажедателе    = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Контрагент, СсылкаНаОбъект.Дата);
    НаименованиеПоклажедателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоклажедателе, "ПолноеНаименование,");
    АдресПоклажедателя        = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоклажедателе, "ЮридическийАдрес,");

    СведенияОХранителе        = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата);
    НаименованиеХранителя     = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОХранителе, "ПолноеНаименование,");
    АдресХранителя            = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОХранителе, "ЮридическийАдрес,");
    
    ОблЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОблЗаголовок.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
    ОблЗаголовок.Параметры.ДатаДокумента  = СсылкаНаОбъект.Дата;
    ОблЗаголовок.Параметры.ОКПО           = СсылкаНаОбъект.Организация.КодПоОКПО;
    ОблЗаголовок.Параметры.ОКПО1          = СсылкаНаОбъект.Контрагент.КодПоОКПО;
    ОблЗаголовок.Параметры.НомерДоговора  = СсылкаНаОбъект.ДоговорКонтрагента.Номер;
    ОблЗаголовок.Параметры.ДатаДоговора   = СсылкаНаОбъект.ДоговорКонтрагента.Дата;

    ОблЗаголовок.Параметры.ПредставлениеХранителя     = НаименованиеХранителя + " " + АдресХранителя;
    ОблЗаголовок.Параметры.ПредставлениеПоклажедателя = НаименованиеПоклажедателя + " " + АдресПоклажедателя;

    ТабДок.Вывести(ОблЗаголовок);

    ОблШапка = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(ОблШапка);

    ОблИтого = Макет.ПолучитьОбласть("Итого");
    
    ОблСтрока   = Макет.ПолучитьОбласть("Строка");
        
    Для Каждого стр из РезультатЗапроса Цикл
        
        ОблСтрока.Параметры.Заполнить(стр);
        ТабДок.Вывести(ОблСтрока);
    КонецЦикла;


    ОблПодвал = Макет.ПолучитьОбласть("Подвал");
    ТабДок.Вывести(ОблПодвал);

    ТабДок.ТолькоПросмотр = Истина;

    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.ОтображатьСетку = Ложь;

    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

    ТабДок.Показать("МХ-3 документа " + Строка(СсылкаНаОбъект));

КонецФункции // Печать()
25 Wobland
 
22.09.14
09:19
(22) хорошо, если даст то, что выполняется. а не то, что у него в пофигураторе открыто
26 Wobland
 
22.09.14
09:20
>РезультатЗапроса = Запрос.Выполнить().Выгрузить();
за такое больно бьют линейкой, но не обращай внимания
27 Ненавижу 1С
 
гуру
22.09.14
09:21
(24) там нет упоминания про КоличествоОтпущено
28 Wobland
 
22.09.14
09:21
ну чо? мы видим то, что есть в базе. результат запроса что ли пуст? таковы данные БД
29 Ненавижу 1С
 
гуру
22.09.14
09:21
(26) думаю не критично
30 Wobland
 
22.09.14
09:22
(27) вырезал уже, не надо ему этого ;)
31 Ruslan1c
 
22.09.14
09:25
нет,мне это надо. всмысле КоличествоОтпущено, только ошибку на него выдает. и выводит пустую форму
32 Wobland
 
22.09.14
09:25
(31) предлагаю перестать нести чушь. какое, в пень, КоличествоОтпущено?
33 Ruslan1c
 
22.09.14
09:29
в табличной части есть поле номенклатура, КоличествоЗатребовано, КоличествоОтпущено, СчетУчета и т.д. вот мне надо вывести это поле
34 Wobland
 
22.09.14
09:30
(33) вперёд!
35 Ruslan1c
 
22.09.14
09:31
спасибо
36 Ruslan1c
 
22.09.14
09:31
за помощь и понимание
37 yusose
 
22.09.14
09:40
(36) встань отладчиком на нужную строчку, и посмотри, что у тебя в ней? и полный код с КоличествоОтпущено сюда
38 Wobland
 
22.09.14
09:41
(37) расскажи человеку, как встать на нужную строчку в ВПФ. мне так лениво...
39 yusose
 
22.09.14
09:43
(38) могу и рассказать, если захочет... мне не лениво :)
40 dmpl
 
22.09.14
09:45
(26) За что линейкой-то? Один фиг все строки обходить, а так - гарантированно сервер только 1 раз дергаем. И строк там немного - не более 100000.

(32) А в какой типовой есть МатериалыЗаказчика?
41 dmpl
 
22.09.14
09:47
(38) Остановка по ошибке?
42 User_Agronom
 
22.09.14
09:50
Пробуй изменить запрос так:
Запрос.Текст = "ВЫБРАТЬ
                   |    ТребованиеНакладнаяМатериалыЗаказчика.НомерСтроки,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.ЕдиницаИзмерения,
                   |    ТребованиеНакладнаяМатериалыЗаказчика.ЕдиницаИзмерения.Код КАК КодОКЕИ,
|    1 КАК КоличествоОтпущено,                              |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.Код КАК Код
    
                   |ИЗ
                   |    Документ.ТребованиеНакладная.МатериалыЗаказчика КАК ТребованиеНакладнаяМатериалыЗаказчика
                   |ГДЕ
                   |    ТребованиеНакладнаяМатериалыЗаказчика.Ссылка = &Ссылка";


Заработало?
Или напиши какая конфа и версия.
43 Wobland
 
22.09.14
09:53
(40) за лишнюю ТЗ
44 dmpl
 
22.09.14
09:56
(43) И что? Один фиг надо либо несколько раз сервер дергать, либо выделять память для кеша результата запроса.
45 Wobland
 
22.09.14
09:58
(44) нене, со мной спорить не надо. есть требование на экзамене
46 Ненавижу 1С
 
гуру
22.09.14
09:58
(45) экзамен это еще не показатель
47 User_Agronom
 
22.09.14
10:00
(46) Показатель. Чем больше Ваш код отвечает требованиям экзамена, тем меньше Ваша склонность к быдлокоду.
48 Ruslan1c
 
22.09.14
10:08
нет,не заработало
49 Ruslan1c
 
22.09.14
10:08
1С:Предприятие 8.3 (8.3.5.1119)
50 Ruslan1c
 
22.09.14
10:09
yusose и если Вам не трудно, расскажите  как встать на нужную строчку в ВПФ?
51 User_Agronom
 
22.09.14
10:09
(48) Какая ошибка?
52 User_Agronom
 
22.09.14
10:09
Та же?
53 User_Agronom
 
22.09.14
10:10
Запрос конструктор открыл?
54 Ruslan1c
 
22.09.14
10:10
ошибок нет,но форма по прежнему пуста
55 Wobland
 
22.09.14
10:11
(46) (47) соласен с обоими ;)
56 dmpl
 
22.09.14
10:21
(45) Во времена 8.0 наоборот не рекомендовалось последовательно выборку обходить. Делаем вывод - разработчики сами не знают как лучше.
57 User_Agronom
 
22.09.14
10:31
(54) А в этом документе в этой табличной части что-нибудь есть?
Настроить можно, ошибка у тебя какая-то детская. Но нужно видеть конфигурацию и модуль обработки печатной-формы.
58 Ruslan1c
 
22.09.14
10:33
да,в табличной части все заполнено
59 Любопытная
 
22.09.14
10:40
(58) В конфигураторе на ТЧ посмотри, есть ли у нее такие реквизиты. А то мало ли что там на форме нарисовали...
60 Ruslan1c
 
22.09.14
10:43
да,реквизиты то такие есть
61 User_Agronom
 
22.09.14
10:44
(58) Попробуй вставить команду


    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    ст = РезультатЗапроса.ВыбратьСтроку();
    Макет = ПолучитьМакет("Макет");

Как будет табличка на экране: скриншот выложи.
62 Ruslan1c
 
22.09.14
10:51
еще один тупой вопрос, как скриншот сюда выложить?
63 Wobland
 
22.09.14
10:54
(62) ссылкой
http://i.imgur.com/Q1voqsO.png
64 yusose
 
22.09.14
10:55
(50) добавь в конце, после кода:

//отладочный код при независимом открытии
Док ="";

ОбъектВыбран=ВвестиЗначение(Док,,Новый ОписаниеТипов("ДокументСсылка.ТребованиеНакладная"));
Если ОбъектВыбран Тогда
    СсылкаНаОбъект = Док;
КонецЕсли;
ТаБДок=Печать();
//ТабДок.Показать();

затем открывай из предприятия с помощью кнопки "Открыть файл"-предложит выбрать документ, для которого нужно сформировать печ. форму.
//ТабДок.Показать();-если не будет выводить на экран, раскомментируй строчку
65 User_Agronom
 
22.09.14
10:57
(62) radikal.ru
грузи туда картинку, и пиши про ссыль сюда
66 yusose
 
22.09.14
10:57
вообщем, можешь ставить точку останова в своем коде, и при независимом открытии можно отлаживать
67 Wobland
 
22.09.14
11:02
(64) как-то сложно. я думал, ты форму предложишь создать
(0) создай форму и делай файл-открыть. отлаживается легко
68 Ruslan1c
 
22.09.14
11:04
у меня после этой таблички

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    ст = РезультатЗапроса.ВыбратьСтроку();
    Макет = ПолучитьМакет("Макет");

завис весь 1С
69 yusose
 
22.09.14
11:12
(67) а чего сложного? одинаково получается, я просто этот код копирую всегда при создании ВПХ, и юзаю :)
70 Wobland
 
22.09.14
11:12
(68) он не завис, он в отладке. ты таки добрался до отладки, поздравляю
71 User_Agronom
 
22.09.14
11:12
(68) Табличка на экране есть? Скриншоть.
72 Wobland
 
22.09.14
11:12
(69) некоторые коды тупо не нужны после отладки. форма убивается и всех делов
73 Ruslan1c
 
22.09.14
11:14
74 Любопытная
 
22.09.14
11:16
внезапно обычные формы.
75 Любопытная
 
22.09.14
11:16
(73) документ-то выбери в окне списка документов)
76 Ruslan1c
 
22.09.14
11:17
77 Любопытная
 
22.09.14
11:18
(76) Это что еще за новость?
78 Wobland
 
22.09.14
11:19
(77) человек играет с нами в игру-угадайку
79 Любопытная
 
22.09.14
11:20
(78) Угадала я бух 2.0, но видимо дописанную. Ну да неважно.
80 Wobland
 
22.09.14
11:20
+(78) не может сформулировать проблему, вот и забрасывает нас какой-то левой информацией
81 Wobland
 
22.09.14
11:21
(79) молодец. наименование организации угадаешь?
82 Ruslan1c
 
22.09.14
11:21
просили скриншот, вот пожалуйста, все что 1с теперь показывает
83 Любопытная
 
22.09.14
11:22
(80) Нужен макет, чтоб узнать имена параметров + нужен результат запроса, чтоб узнать имена полей таблицы.
Если человек не может сформулировать проблему, значит это не его проблема, надо делегировать полномочия.
84 Wobland
 
22.09.14
11:22
(82) ты работать начнёшь уже?
85 Wobland
 
22.09.14
11:22
(83) согласен. надо вызывать программиста
86 Wobland
 
22.09.14
11:29
>надо делегировать полномочия
хороша, слов нет
87 User_Agronom
 
22.09.14
11:39
(76) ТЗ пустая. Твой запрос ничего не вернул.
Значит, СсылкаНаОбъект не задана.
Сможешь сам проверить этот факт?
88 User_Agronom
 
22.09.14
11:40
(86) Мои телепаты из отпуска отписались. Если Руслан быстренько корректно ответит - решим вопрос.
89 User_Agronom
 
22.09.14
11:41
Да, от таблички кнопочка ESC  помогает.
90 Ruslan1c
 
22.09.14
11:50
(87) боюсь,что нет. ладно,все равно спасибо,буду как то дальше  продолжать решать проблему. здесь наверно меня уже никто не поймет.
91 Крошка Ру
 
22.09.14
11:52
1Сник - эмо... Чего только на мисте не увидишь...
92 Любопытная
 
22.09.14
11:53
(90) Пришли обработку посмотреть штоли...
93 Ruslan1c
 
22.09.14
11:54
че сразу эмо? просто люди не понимают чего я от них хочу,по другому не полуается объяснить.вот и все
94 Wobland
 
22.09.14
11:56
(90) покажи мне тех, кто поймёт
95 Ruslan1c
 
22.09.14
11:58
(94) вот я и говорю что никто
96 Любопытная
 
22.09.14
11:59
(95) Дай, говорю, ВПФ твою посмотреть
97 Wobland
 
22.09.14
12:00
(95) когда будешь способен сформулировать свои беды, тогда люди к тебе и потянутся. пока ты ничего для этого не сделал
98 Wobland
 
22.09.14
12:00
(96) там дописков вагон....
99 Любопытная
 
22.09.14
12:01
(98) да неважно. Я хочу код целиком посмотреть, а дописки пусть дальше живут своей жизнью
100 Wobland
 
22.09.14
12:01
СТО
101 Wobland
 
22.09.14
12:02
(99) ну посмотришь. есть уверенность в том, что в базу загружено именно то, что тебе пришлют?
102 Любопытная
 
22.09.14
12:03
(101) Тебе жалко что ли? Уж и полюбопытствовать нельзя
103 Wobland
 
22.09.14
12:03
+(101) и что будет загружена именно работоспособная версия
104 Ruslan1c
 
22.09.14
12:03
(24) я же писал уже свой код. там ниче еще не поменялось
105 Wobland
 
22.09.14
12:03
(102) да пожалуйста, на здоровье. времени твоего жалко
106 User_Agronom
 
22.09.14
12:03
(90) Ты же видишь на скрине пустую таблицу. Значит, запрос не вернул ни одной строки.

Пробуй

Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Сообщить("Документ: "+СсылкаНаОбъект+"!!!");
РезультатЗапроса = Запрос.Выполнить().Выгрузить();

А там где выбрать строку закоменть.

Чего напишет тащи сюда.
(99) (98) Это всё несущественно. Подхлестните свою фантазию! Нельзя быть такими нудными. Код, сюда, текст обработки прислать... Фи. Еще (532) поста не было!
107 User_Agronom
 
22.09.14
12:08
(106) Даже лучше так:

Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Сообщить("Документ: "+СсылкаНаОбъект+"!!! Имеем: "+СсылкаНаОбъект.ТребованиеНакладная.МатериалыЗаказчика.Количество()+" строк!");
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
108 Ruslan1c
 
22.09.14
12:08
(106)В служебных сообщениях пишет: Документ: !!!
печатная форма так же пуста
109 Ruslan1c
 
22.09.14
12:09
(107)Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (ТребованиеНакладная)
110 Enders
 
22.09.14
12:15
(108) Из этого сообщения можно сделать логический вывод, что у тебя СсылкаНаОбъект пустая... соответственно нечем заполнять твою ВПФ
111 Enders
 
22.09.14
12:18
(109) а после этого вообще не понятно что за переменная такая "СсылкаНаОбъект"

Судя по всему ты забываешь её передать в функцию, да и в функции её не инициализируешь
112 User_Agronom
 
22.09.14
12:19
(110) Истину глаголишь!
Ruslan1c верни всё в зад. Тут всё нормально формируется. Ищи где формируется значение реквизита СсылкаНаОбъект.
Мои телепаты мне подсказывают, что в реквизите обработки ты забыл указать этот тип ;). Т.е не может эта ссылка быть Документом ТребованиеНакладная. Хотя могу ошибаться. Проверь.
113 User_Agronom
 
22.09.14
12:20
(111) Млять, внешняя печатная форма. Не остри, и не сбивай Руслана.
Он верно идёт к победе, как бандерлоги в пасть Каа.
114 Wobland
 
22.09.14
12:23
(113) навеяло..
"E:\Music\Алиса\Шестой Лесничий (1989)\03-Алиса--Шестой лесничий.mp3"
115 User_Agronom
 
22.09.14
12:24
(114) У меня нет диска e:))
116 Wobland
 
22.09.14
12:26
117 Ruslan1c
 
22.09.14
12:26
(112) точно,совсем забыл документ указать. спасибо большое
118 User_Agronom
 
22.09.14
12:29
(95) Ну так бросай пессимизм))
119 User_Agronom
 
22.09.14
12:31
(116) Спасибо)
120 Ruslan1c
 
22.09.14
12:31
(118) да будет так!!!!! еще раз спасибо)
121 Wobland
 
22.09.14
12:34
(116) Миша из города скрипящих статуй - неужели Горбачёв?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.