0
lexaa1
12.07.15
✎
21:26
|
Здравствуйте, подскажите пожалуйста как заполнить табличную часть документа в тз? Как заполнить тз по списку документов разобрался, а как заполнить из конкретного документа не понял.
|
|
3
lexaa1
12.07.15
✎
21:42
|
Извиняюсь я просто только начал изучать 1с... у меня есть Документ Расходная_накладная который состоит из шапка: номер, дата, клиент. потом табличная часть: товары, цена, количество, сумма. Мне надо как то выгрузить в таблицу значений табличную часть текущего документа. Код как выгружаю все расходные накл
&НаКлиенте
Процедура ПолучитьТЗ(Команда)
ТабДок = ПолучитьТЗСервер();
ТабДок.Показать();
КонецПроцедуры
&НаСервере
Функция ПолучитьТЗСервер()
Запрос1 = Новый Запрос;
Запрос1.Текст =
"ВЫБРАТЬ
| Расходная_накладная.Ссылка,
| Расходная_накладная.Клиент,
| Расходная_накладная.Товары.(
| Ссылка,
| НомерСтроки,
| Товары,
| Цена,
| Количество,
| Сумма
| )
|ИЗ
| Документ.Расходная_накладная КАК Расходная_накладная" ;
Таб = Запрос1.Выполнить().Выгрузить();
ТабДок = ВывестиТЗ(Таб, Истина);
Возврат ТабДок;
КонецФункции
&НаСервере
Функция ВывестиТЗ(ТЗ, ВыводитьЗаголовкиКолонок)
Если ТипЗнч(ТЗ) <> Тип("ТаблицаЗначений") Тогда
ВызватьИсключение "Входной параметр в функции вывести тз имеет неправильный тип";
КонецЕсли;
ТабДок = Новый ТабличныйДокумент;
НомТекСтр = 1;
Если ВыводитьЗаголовкиКолонок Тогда
НомКол = 1;
Для каждого Колонка Из ТЗ.Колонки Цикл
Область = ТабДок.Область(НомТекСтр, НомКол);
Область.Текст = Колонка.Имя ;
НомКол = НомКол + 1;
КонецЦикла;
НомТекСтр = НомТекСтр + 1;
КонецЕсли;
//вывод содержимого
Для СчСтрок = 0 По Тз.Количество() - 1 Цикл
Для СчКол = 0 По Тз.Колонки.Количество() -1 Цикл
Область = ТабДок.Область(НомТекСтр, СчКол + 1);
ТекстДляВывода = ТЗ[СчСтрок][СчКол];
Область.Текст = ТекстДляВывода;
Область.ШиринаКолонки = Макс( СтрДлина (ТекстДляВывода), Область.ШиринаКолонки);
КонецЦикла;
НомТекСтр = НомТекСтр + 1;
КонецЦикла;
ТабДок.Показать();
Возврат ТабДок;
КонецФункции // ВывестиТЗ()
не подскажете как выгрузить табличную часть одного выбранного документа?
|
|