Имя: Пароль:
1C
1С v8
Как заполнить тч в тз
0 lexaa1
 
12.07.15
21:26
Здравствуйте, подскажите пожалуйста как заполнить табличную часть документа в тз? Как заполнить тз по списку документов разобрался, а как заполнить из конкретного документа не понял.
1 Naumov
 
12.07.15
21:28
ТЗ = ТЧ.Выгрузить()
2 фобка
 
12.07.15
21:32
Вопрос составлен некорректно
3 lexaa1
 
12.07.15
21:42
Извиняюсь я просто только начал изучать 1с... у меня есть Документ Расходная_накладная который состоит из шапка: номер, дата, клиент. потом табличная часть: товары, цена, количество, сумма. Мне надо как то выгрузить в таблицу значений табличную часть текущего документа. Код как выгружаю все расходные накл
&НаКлиенте
Процедура ПолучитьТЗ(Команда)
ТабДок = ПолучитьТЗСервер();
ТабДок.Показать();
КонецПроцедуры

&НаСервере
Функция ПолучитьТЗСервер()

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

  
   КонецФункции // ВывестиТЗ()
не подскажете как выгрузить табличную часть одного выбранного документа?
4 hhhh
 
12.07.15
23:17
лучше так спросить: как стереть отсюда нахер эту  ТЗ, чтобы она не мешалась при печати документа?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан