Имя: Пароль:
1C
1С v8
Вывод на макет из табличной части документа
0 t2013
 
25.04.13
10:09
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Запрос = новый запрос;
   запрос.Текст = "ВЫБРАТЬ
| Заказ.Дата КАК Дата,
| Заказ.Сумма КАК Сумма,
| Заказ.ПометкаУдаления,
| Заказ.Проведен,
| Заказ.СписокОтветственных.Ответственные КАК Ответственные
| ИЗ Документ.Заказ КАК Заказ
| ГДЕ
| Заказ.ПометкаУдаления = ЛОЖЬ
| И Заказ.Проведен = Истина
| И Заказ.Дата МЕЖДУ &Дата1 и &Дата2

запрос.УстановитьПараметр("Дата1",НачалоДня(НачПериода));
запрос.УстановитьПараметр("Дата1",КонецДня(КонПериода));

результат = запрос.Выполнить().Выбрать();
   
   табл = Новый ТабличныйДокумент;
   макет =  ПолучитьМакет("Макет");
   ОбластьШапки = макет.ПолучитьОбласть("Шапка");
   ОбластьСтроки = макет.ПолучитьОбласть("строка");
   
имя="Отчет по заказам";

ОбластьШапки.Параметры.Заголовок = имя;
   табл.Вывести(ОбластьШапки);

ОбластьСтроки.Параметры.Дата         = результат.Дата;
ОбластьСтроки.Параметры.Сумма        = результат.Сумма;
ОбластьСтроки.Параметры.Ответсвенные = результат.Ответственные;
табл.Вывести(ОбластьСтроки);
табл.Показать();

КонецПроцедуры

--
СписокОтветственных это табличная часть документа, как вывести на макет Ответственных, в одной ячейке через запятую?
1 Wobland
 
25.04.13
10:10
циклически
2 t2013
 
25.04.13
10:18
я понимаю, как в коде написать?

ВыборкаОтветственных = результат.Ответственные.Выбрать();
пока ВыборкаОтветственных.Следующий() Цикл
ТекстрокаВыборкаОтветственных = ТекстрокаВыборкаОтветственных;
ОбластьСтроки.Параметры.Ответсвенные = ВыборкаОтветственных;
конеццикла;    

--
так не получается

ТекстрокаВыборкаОтветственных = будет равно чему?
3 НЕА123
 
25.04.13
10:20
выборки не видать.
4 Wobland
 
25.04.13
10:22
(2) стр="";
Цикл по выборке
стр=стр+СтрокаИзВыборки
Конец
параметр_макета=стр
5 НЕА123
 
25.04.13
10:23
Пока Результат.Следующий() Цикл
  ВыборкаОтвественные = результат.Ответственные.Выбрать();
    Пока ВыборкаОтветственные.Следующий() Цикл
...............................
КонецЦикла
6 t2013
 
25.04.13
11:56
(4)
ТекстрокаВыборкаОтветственных = ""
ВыборкаОтветственных = результат.Ответственные.Выбрать();
пока ВыборкаОтветственных.Следующий() Цикл
ТекстрокаВыборкаОтветственных = ТекстрокаВыборкаОтветственных + ВыборкаОтветственных;
ОбластьСтроки.Параметры.Ответсвенные = ВыборкаОтветственных;
конеццикла;    

Ошибка
Преобразование значения к типу Строка не может быть выполнено
7 t2013
 
25.04.13
11:57
(6) те так

ТекстрокаВыборкаОтветственных = ""
ВыборкаОтветственных = результат.Ответственные.Выбрать();
пока ВыборкаОтветственных.Следующий() Цикл
ТекстрокаВыборкаОтветственных = ТекстрокаВыборкаОтветственных + ВыборкаОтветственных;
ОбластьСтроки.Параметры.Ответсвенные = ТекстрокаВыборкаОтветственных;
конеццикла;
8 Wobland
 
25.04.13
11:58
(7) ОбластьСтроки.Параметры= из цикла вынь, букву Т поставь на место, про запятую не забудь
9 Wobland
 
25.04.13
11:59
ну и у выборки ответственных какое-то поле скажи
10 t2013
 
25.04.13
12:10
(8)
ТекстрокаВыборкаОтветственных = "";
ВыборкаОтветственных = результат.Ответственные.Выбрать();
пока ВыборкаОтветственных.Следующий() Цикл
ТекстрокаВыборкаОтветственных = ТекстрокаВыборкаОтветственных + ВыборкаОтветственных;
конеццикла;
ОбластьСтроки.Параметры.Ответственные = ТекстрокаВыборкаОтветственных;

--
все равно Преобразование значения к типу Строка не может быть выполнено
(9) не понял?
11 Wobland
 
25.04.13
12:16
(10) какое поле из выборки ответственных ты имеешь в виду?
12 t2013
 
25.04.13
12:21
ТекстрокаВыборкаОтветственных = "";
ВыборкаОтветственных = результат.Ответственные.Выбрать();
пока ВыборкаОтветственных.Следующий() Цикл
ТекстрокаВыборкаОтветственных = ТекстрокаВыборкаОтветственных + ВыборкаОтветственных.Ответственные;
конеццикла;
ОбластьСтроки.Параметры.Ответственные = ТекстрокаВыборкаОтветственных;

----
вот так заработало
Спаспибо Wobland!
13 Wobland
 
25.04.13
12:23
на здоровье. запятая, как я понимаю, скоро появится ;)
14 t2013
 
25.04.13
12:28
ага, запятую поставил)