Имя: Пароль:
1C
1С v8
v8: Запрос выгрузить в Таблица значений и пройти по ней
0 manyak
 
31.08.11
15:53
зпр=новый запрос();
   зпр.Текст="Выбрать спр.ссылка, спр.наименование из Справочник.Работы как спр где спр.наименование подобно &стр_пск";
   зпр.УстановитьПараметр("стр_пск","%"+СтрокаПоиска+"%");
   тз=новый таблицазначений;
   тз=зпр.Выполнить();
   сообщить (тз.Выбрать().Количество());
   Для каждого тек_стр из тз Цикл ;
       сообщить(тз.наименование);
   КонецЦикла;

ругается "итератор для значения не определен"

как пройтись по  тз?
1 zbv
 
31.08.11
15:53
выгрузить - результат запроса забыл
2 almar
 
31.08.11
15:53
тз=зпр.Выполнить().Выгрузить();
3 ДенисЧ
 
31.08.11
15:54
тз=зпр.Выполнить().Выгрузить();

или
тз=зпр.Выполнить();
Пока тз.Следующий() Цикл
4 Hawk_1c
 
31.08.11
15:54
тз=зпр.Выполнить();
.Выгрузить()
А код смешной.
5 zbv
 
31.08.11
15:55
(3) 2. выбрать - забыл.
6 aleks-id
 
31.08.11
15:57
тз=новый таблицазначений; вообще не нужно
7 manyak
 
31.08.11
15:58
спасибо :)
а как махом результат из запроса закинуть в табличное поле?
8 manyak
 
31.08.11
15:58
чтоб на форме рез вывести и потом можно было выбрать опр. строку из результата запроса
9 Ненавижу 1С
 
гуру
31.08.11
15:59
(0) стоп! это тот самый маньяк?
10 Wobland
 
31.08.11
16:01
(9) запрос писал вручную - сразу видно профессионала за двестиписят тыщ
11 manyak
 
31.08.11
16:02
не тот :)
12 manyak
 
31.08.11
16:03
мне нужно из контекста "формыдокумента" загрузить рез запроса в таблполе на форму "форма1" и показать ее
13 manyak
 
31.08.11
16:05
форму1 показать нужно модально
14 Wobland
 
31.08.11
16:05
(12) покури СоздатьКолонки()
15 Wobland
 
31.08.11
16:06
(13) покури ОткрытьМодально()
16 szhukov
 
31.08.11
16:07
(12) Заполнять построчно, например:
с помощью ЗаполнитьЗначенияСвойств
17 Wobland
 
31.08.11
16:09
(16) покури дополнительно Выгрузить()
18 Wobland
 
31.08.11
16:11
прям, как дети ;)

Пример:

ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

©СП
19 Быдло замкадное
 
31.08.11
16:11
добавь на форму таб часть.
А потом просто табЧасть.Загрузить(тз.выгрузить());
20 manyak
 
31.08.11
16:13
спасибо уже сделал так :) СП рулит :)
21 hhhh
 
31.08.11
16:19
(20) а вообще-то ошибка была

сообщить(тз.наименование);

а нужно

сообщить(тек_стр.наименование);
22 Wobland
 
31.08.11
16:21
(21) а ещё с такой полоской
тз=зпр.Выполнить();
Для каждого тек_стр из тз Цикл ;
23 manyak
 
31.08.11
16:27
поправил сам :) в догонку мне нужно находясь в контексте "форма1" модальная, по наж кнопки установить зн. поля с текстом формы "форма документа"и программно выполнить нажатие кнопки "кнопка1" - вызвать выполнение "кнопка1нажатие"
24 Wobland
 
31.08.11
16:28
(23) благословляю!
//научить присваивать свойства и запускать процедуры?
25 manyak
 
31.08.11
16:32
да эт умею, научи как установить в другой форме св-ва реквизиту

фрм=получитьформу("Формадокумента");
фрм.ЭлементыФормы.выборработы=элементыформы.ТПрез.ТекущаяСтрока.ссылка;

ругается не могу найти процедуру "получитьформу"
26 manyak
 
31.08.11
16:33
т.е. нужно находясь в модальной форме установить реквизит на др форме, закрыть модальную и выполнить процед нажатия кнопку на др форме
27 Wobland
 
31.08.11
16:33
ЭтотОбъект.ПолучитьФорму()?
что во второй строке хочешь? полю ввода ссылку какую-то присваиваешь
28 Wobland
 
31.08.11
16:34
(26) Закрываешь модальную, она тебе возвращает чего-нибудь приятное туда, где уже можно делать с этим что хочешь
29 manyak
 
31.08.11
16:37
(27) ну да, в поле- ссылка будет на элемент справочника который я выбрал из мод формы рез запроса (выборки)
30 manyak
 
31.08.11
16:39
фрм=ЭтотОбъект.получитьформу("Формадокумента");
фрм.ЭлементыФормы.выборработы=элементыформы.ТПрез.ТекущаяСтрока.ссылка;

Переменная не определена (ЭтотОбъект)
31 manyak
 
31.08.11
16:39
как возратить приятное? :)
32 Wobland
 
31.08.11
16:41
(30) выплюнь.
в модальное форме Закрыть(Приятное);
в вызывающей форме
Приятное=МодальнаяФорма.ОткрытьМодально();
ну и ВыбораРаботы.Заголовок=Приятное;
33 manyak
 
31.08.11
16:46
под приятным ты понимаешь промеж переменную с именем "приятное" или напрямую реквизит будем писать?
34 andrewks
 
31.08.11
16:47
попутно спрошу здесь же, дабы не плодить

1. имеем ТЗ как РезультатЗапроса.Выгрузить()
можно ли изменить квалификатор опред.колонки в этой ТЗ без переноса в новую ТЗ/новую колонку?
например, имеем квалификатор даты Дата, а надо сделать ДатаВремя

2. можно ли управлять форматом вывода значений ТЗ (числа,дата) без показа на форме, через ВыбратьСтроку()?
35 manyak
 
31.08.11
16:47
на вызыв форме есть поле "ВыборРаботы" его мне нужно заполнить из модальной
36 Wobland
 
31.08.11
16:49
(33) под приятным понимаю, например, ссылку, которую юзер выбирает. и она возвращается в переменную ВыбраннаяСсылка=ОткрытьМодально(). Потом уже с этой переменной делай, что хочешь
37 manyak
 
31.08.11
17:03
спасибо, понял все вродеробит - получаю ссыль с мод формы но при записи ругается что

Поле объекта недоступно для записи (ВыборРаботы)
элементыформы.ВыборРаботы=рез_выбора;


рез_выбора=фрм.ОткрытьМодально();
   элементыформы.ВыборРаботы=рез_выбора;
38 manyak
 
31.08.11
17:03
рез_выбора=фрм.ОткрытьМодально();
элементыформы.ВыборРаботы=рез_выбора;
39 Wobland
 
31.08.11
17:04
ВыборРаботы - это у тебя поле ввода скорее всего. а ты пытаешься присвоить туда ссылку. ВыборРаботы.Значение (точно не скажу) - уже данные
40 manyak
 
31.08.11
17:07
да, ты прав :)
ВыборРаботы дпанные у него реквизит дока "Работа" который справочник ссылку хранит

сделал:
Работа=рез_выбора;

все робит, спасибо!
41 manyak
 
31.08.11
17:12
ток почему то:
ВыборРаботыПриИзменении

это событие не срабатывает когда я программно поменял, почему?
42 manyak
 
31.08.11
17:12
интерактивно меняешь - робит событие срабатывает
43 hhhh
 
31.08.11
17:14
(42) ну это в блокнотик себе запиши:

интерактивно меняешь - событие срабатывает
НЕинтерактивно меняешь - событие НЕ срабатывает
44 manyak
 
31.08.11
17:15
спасибки, вызал просто в коде обработчик этот и все заробило