Имя: Пароль:
1C
 
Вывод макета в табл. поле
0 jq
 
05.12.06
14:55
Тип табл. поля - табл. значений.

Пишу: ЭлементыФормы.ТабличноеПолеОстатков.Вывести(ОбластьМакета);

Ошибка: {Справочник.Номенклатура.Форма.ФормаСписка(469)}: Метод объекта не обнаружен (Вывести)
   ЭлементыФормы.ТабличноеПолеОстатков.Вывести(ОбластьМакета);

Как вывести???
1 Scooter
 
05.12.06
15:04
ТабличныйДокумент (SpreadsheetDocument)      <= !!!
Вывести (Put)
Синтаксис:
Вывести(<Таблица>, <Уровень>, <Имя группы>, <Открыта>)
Параметры:
<Таблица> (обязательный)
Тип: ТабличныйДокумент,
2 jq
 
05.12.06
15:13
Ничего не понял, у меня же ТЗ
3 it086
 
05.12.06
15:16
(2) он намекает, что метод Вывести работает для табличного документа а не табличного поля
4 Scooter
 
05.12.06
15:18
Вывести он только для
Построителя Отчета, Текстового Документа, Табличного документа, Анализа данных, Географической схемы
5 AeDen
 
05.12.06
15:21
Ты какой макет в таб поле выводишь????
6 jq
 
05.12.06
15:24
Создал у спр. Номенклатура Макет вручную, на форме создал табл. поле, тип табл. поля - табл. значений
7 AeDen
 
05.12.06
15:25
А ниче, что в твоем случае надо не табличное поле использовать, а табличный документ? И на кой хер у справочника "Наменклатура" на форме табличный документ?
8 Scooter
 
05.12.06
15:28
(0)Скажи что хочешь сделать,
подскажем как проще и быстрее
9 jq
 
05.12.06
15:32
А, надо просто вставлять не табличное поле, а поле табличного док-та.
10 jq
 
05.12.06
16:14
Пишу:

   Макет = Справочники.Номенклатура.ПолучитьМакет("Макет");
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ЭлементыФормы.ПолеОстатков.Вывести(ОбластьМакета,1,"Шапка",Истина);
   
   ОбластьМакета = Макет.ПолучитьОбласть("Товар");
   Пока Выборка.Следующий() Цикл
       ЭлементыФормы.ПолеОстатков.Вывести(ОбластьМакета);    //,1,"Товар",Истина);
   КонецЦикла;

Шапка выводится, а область Товар - пустые строки
11 jq
 
05.12.06
16:22
В Области "Товар" - св-ва ячеек - параметр. Почему не выводится??? Смотрел отладчиком, данные есть!
12 AeDen
 
05.12.06
16:23
А ты в параметр че-нить пишешь? И вообще, ты расскажи, чего пытаешься сделать.
13 Scooter
 
05.12.06
16:24
14 jq
 
05.12.06
16:28
Весь текст:

   ТекущийТовар = ТекущиеДанные;
   
   Запрос = Новый Запрос(
   "ВЫБРАТЬ
   |    ТоварыНаСкладахОстатки.Склад КАК Склад,
   |    ТоварыНаСкладахОстатки.Номенклатура КАК Товар,
   |    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК Характеристика,
   |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
   //|    РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Товар) КАК ТоварыНаСкладахОстатки " );    
   |ГДЕ
   |    ТоварыНаСкладахОстатки.Номенклатура = &ТекущийТовар
   |
   |УПОРЯДОЧИТЬ ПО
   |    Склад,
   |    Характеристика,
   |    Остаток");
   
   Запрос.УстановитьПараметр("ТекущийТовар", ТекущийТовар);    
   
   РезультатЗапроса = Запрос.Выполнить();
   Выборка = РезультатЗапроса.Выбрать();
   
   Макет = Справочники.Номенклатура.ПолучитьМакет("Макет");
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ЭлементыФормы.ПолеОстатков.Вывести(ОбластьМакета,1,"Шапка",Истина);
   
   ОбластьМакета = Макет.ПолучитьОбласть("Товар");
   Пока Выборка.Следующий() Цикл
       ЭлементыФормы.ПолеОстатков.Вывести(ОбластьМакета);    //,1,"Товар",Истина);
   КонецЦикла;

В области Товар пишу: Выборка.Склад, Выборка.Характеристика, Выборка.Остаток, все - тип ячейки параметр. В отладчике Выборка не пустая.
15 AeDen
 
05.12.06
16:35
Табполе на форму, и в него выгружай результат запроса. Нафик тебе макет?
16 jq
 
05.12.06
16:46
(15)А так выдает: {Справочник.Номенклатура.Форма.ФормаСписка(466)}: Поле объекта недоступно для записи (ПолеОстатков)
   ЭлементыФормы.ПолеОстатков = Запрос.Выполнить().Выгрузить();


Почему недоступно???
17 Defender aka LINN
 
05.12.06
16:49
(16) Потому, что это Табличное Поле, а не Таблица Значений!
18 AeDen
 
05.12.06
16:50
(16) Источником данных у ТП сделай ТЗ, и в ТЗ выгружай...
19 jq
 
05.12.06
16:56
Таже самая ошибка
20 AeDen
 
05.12.06
16:58
Да быть не может.
21 jq
 
06.12.06
10:30
У меня в макете есть вериткальная область Склад и горизонтальная Шапка. На их перекрестии - ячейка <Склад>. Мне надо, чтобы склады выводились рядом, а они выводятся по вертикали. Как это сделать???

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

       Секция = Макет.ПолучитьОбласть("Шапка|Склад");
       Секция.Параметры.Склад = СтрокаТЗ.Склад;
       ЭлементыФормы.ПолеОстатков.Вывести(Секция);
   КонецЦикла;
22 jq
 
06.12.06
10:43
up
23 jq
 
06.12.06
11:01
up
24 jq
 
06.12.06
11:15
Как добавлять Вертикальные области???
25 jq
 
06.12.06
11:31
Ну ответьте уже кто-нибудь, неужели никто так не делал!!!
26 колодина
 
06.12.06
11:32
используйте "присоединить"
27 jq
 
06.12.06
11:35
А как это на примере должно выглядить??? И что мне присоединять, область Склад?
28 jq
 
06.12.06
12:01
up
29 колодина
 
06.12.06
12:03
задаем область = макет.получитьобласть("заголовок|горизонтальнаялиния");
т.е. пересечение задаем
а потом табдок.присоединить(Область)
30 jq
 
06.12.06
12:26
(29)Понятно, а как столбцы вернуть назад, на первую позицию, а то они с каждым разом все дальше и дальше удвигаются вправо. ТабДок.Очистить() не помогает.
31 колодина
 
06.12.06
12:35
(30) когда хотите начать сначала, тогда надо использовать "вывести"...
32 jq
 
06.12.06
12:40
Так а если мне надо и присоединить и вывести, это как надо?
33 колодина
 
06.12.06
12:46
(32) одну и ту же область надо и присоединить и вывести? одновременно что ли?
34 jq
 
06.12.06
12:55
У меня все почему-то выводится лесенкой.

   Для Каждого СтрокаТЗ Из ТЗ Цикл
       Выборка = РезультатЗапроса.Выбрать();
       
       Макет = Справочники.Номенклатура.ПолучитьМакет("Макет");
   
       Секция = Макет.ПолучитьОбласть("Шапка|Склад");
       Секция.Параметры.Склад = СтрокаТЗ.Склад;
       ЭлементыФормы.ПолеОстатков.Присоединить(Секция);
       
       ОбластьМакета = Макет.ПолучитьОбласть("Остаток|Склад");
       Пока Выборка.Следующий() Цикл
           Если Выборка.Склад = СтрокаТЗ.Склад Тогда
               //ОбластьМакета.Параметры.Склад = Выборка.Склад;
               ОбластьМакета.Параметры.Характеристика = Выборка.Характеристика;
               ОбластьМакета.Параметры.Остаток = Выборка.Остаток;
               ЭлементыФормы.ПолеОстатков.Вывести(ОбластьМакета);
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;

Склад1
1
5
6     Склад2
           Склад3

А надо, чтобы:

Склад1 Склад2 ...
1        10
5
6

Как мне сделать так, чтобы при прохождении цикла по складам, секция присоединялась бы на первой строке, а не на последней от предыдущего склада???
35 колодина
 
06.12.06
13:08
разбираться не буду... лениво мне... сами посмотрети отладчиком что не так делаете...
36 jq
 
06.12.06
13:10
Почему-то у макета нет Метода ТекущаяСтрока, чтобы задать вывод начиная с первой строки
37 колодина
 
06.12.06
13:13
(36) а при чем тут первая строка? и вообще код странный... в цикле выборку делаете... вообще все коряво на мой взгляд...
38 jq
 
06.12.06
13:18
Первая строка при том, что у меня после присоединения след. склада таблица выводится не с 1-ой строки, а со строки, где закончился вывод предыдущего склада.
39 jq
 
06.12.06
13:36
up
40 jq
 
06.12.06
13:42
Почему у макета нельзя установить текущую строку???
41 колодина
 
06.12.06
13:48
(40) выводите неправильно... посмотрите какую область выодите...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn