Имя: Пароль:
1C
1С v8
Вывести таблицу значений в табличное поле
0 buka
 
19.01.11
13:00
Здравствуйте, подскажите пожалуйста. Есть у меня запрос, выбирает действующие на данный момент скидки. как их вывести на форму, при открытии ее (минуя нажатие кнопки Сформировать)?

Процедура ПриОткрытии()
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |//тут текст запроса
   
   Запрос.УстановитьПараметр("дата",ТекущаяДата());
       
   Результат = Запрос.Выполнить().Выгрузить();

а дальше?
1 lxs
 
19.01.11
13:02
Загрузи в табличную часть
2 Axel2009
 
19.01.11
13:02
ну табличное поле имеет какоето значение свойства "Данные" вот этому и присваивать выгрузить. а не результат
3 lxs
 
19.01.11
13:02
Табличная часть
Загрузить (Load)
Синтаксис:
Загрузить(<Таблица>)
Параметры:
<Таблица> (обязательный)
Тип: ТаблицаЗначений. Таблица значений, откуда загружается табличная часть. Колонки таблиц совмещаются по именам.
Описание:
Загружает табличную часть из таблицы значений. При этом все прежние строки табличной части удаляются. При загрузке значения в колонках табличной части заполняются значениями из колонок таблицы значений с совпадающими именами.
Примечание:
Использование метода допустимо только в том случае, если табличная часть получена из свойства объекта. Если табличная часть получена из свойства ссылки (или выборки), то использование этого метода будет вызывать ошибку выполнения.
Пример:
Состав.Загрузить(ТаблицаСостава);
4 Molinor
 
19.01.11
13:03
ТабличноеПоле=Результат.Скопировать();
5 buka
 
19.01.11
13:24
(2) перечитала несколько раз, не поняла -)
(4) Поле объекта недоступно для записи (ТабличноеПоле1)
(3) ЭлементыФормы.ТабличноеПоле1.Загрузить(Результат);
так?
пишет что, Метод объекта не обнаружен (Загрузить)
что имеется в виду под табличной частью? у меня на форме из элементов только табличное поле
6 73
 
19.01.11
13:27
(5) Перечитай ещё раз (2).

ЗЫ. В свойствах табличного поля посмотри, что у него в "Данные" прописано...
7 buka
 
19.01.11
13:32
(6) так понятнее, спс )
и всё равно
Результат = Запрос.Выполнить();
ЭлементыФормы.ТабличноеПоле1.Выгрузить(Результат);

Метод объекта не обнаружен (Выгрузить)
:(
имеет значение то, что отчет внешний?
8 Просто Лёха
 
19.01.11
13:33
Если ТабличноеПоле1 - не есть табличная часть документа, тогда просто ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
9 73
 
19.01.11
13:34
Ну и что там в Данные?
10 lion11
 
19.01.11
13:34
Вариант:
На форме делаешь ТабличноеПоле с типом ТаблицаЗначений. Заполняешь ТаблицаЗначений из своего запроса. Потом:
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
11 buka
 
19.01.11
13:35
я этот момент пока не улавливаю, что именно и куда нужно выгружать/загружать/копировать и т.п -(
12 lxs
 
19.01.11
13:36
(7) что ты несешь?...
13 lxs
 
19.01.11
13:37
Есть табличное поле, есть табличная часть. Табличная часть содержит данные, табличное поле, связано с табличной частью через Данные и отображает содержимое табличной части.
14 lion11
 
19.01.11
13:37
На форме есть табличное поле?
15 73
 
19.01.11
13:39
(7)(11) ЧТО - результат запроса.
КУДА - надо посмотреть в Данные таб поля.
Если там табличная часть - то: КакТамНазванаТЧ.Загрузить(Результат.Выгрузить())
Если же там таблица значений, то: КакТамНазванаТЗ = Результат.Выгрузить() или как в (8) ЭлементыФормы.ТабличноеПоле1.Значение = Результат.Выгрузить();
16 buka
 
19.01.11
13:42
(8) именно. сделала так, без ошибок, но ничего не выводит.
(6) в данные - ТабличноеПоле1, тип значений - ТаблицаЗначений
(10) и так тип Таблица значений, как именно его заполнить данными из запроса?
17 DrShad
 
19.01.11
13:43
(16) прострелить еоленку не предлагали еще?
18 DrShad
 
19.01.11
13:43
еоленку = коленку
19 buka
 
19.01.11
13:48
я не успеваю всё попробовать с той же скоростью, с которой вы пишите. поэтому притормаживаю с ответами и (12) не надо грубить, если я еще плохо соображаю в 1с не означает что я тупая
20 DrShad
 
19.01.11
13:50
(19) заметь что никто именно так не говорил
21 buka
 
19.01.11
13:57
(15) Результат = Запрос.Выполнить();
ЭлементыФормы.ТабличноеПоле1 = Результат.Выгрузить();
Поле объекта недоступно для записи (ТабличноеПоле1)

что я делаю не так? может его отдельно надо сделать доступным для записи?
22 Axel2009
 
19.01.11
13:58
ЭлементыФормы.ТабличноеПоле1.Значение = Результат.Выгрузить();
23 DrShad
 
19.01.11
13:59
(21) а как ты его вообще и на какой форме сделала?
24 Axel2009
 
19.01.11
14:00
если в табличном поле1 нет колонок из результата , тогда
элементыформы.табличноеполе1.создатьколонки();
25 buka
 
19.01.11
14:04
(22) так я уже пробовала, ошибок не выдает, но не выводит ничего.. Запрос работает точно
(23) на форме отчета. снизу взяла "Табличное поле" на панели "Элементы управления", изменила только имя (ТабличноеПоле1)
26 Axel2009
 
19.01.11
14:05
(25) -> (24)
27 buka
 
19.01.11
14:06
(24) (10) спасибо большое! так работает -)