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