Имя: Пароль:
1C
1С v8
Создать ТЗ на основании ТЧ
,
0 John83
 
16.03.18
12:48
В обработке хочу создать ТЗ с такими колонками, как в товарах в документе реализации.
Как это по-красивше сделать?
Можно создать новый документ и оттуда выгрузить ТЧ.
Или через метаданные обойти колонки ТЧ и создать их в ТЗ.
Но был еще какой-то хитрый способ, никак не вспомню..
1 piter3
 
16.03.18
12:51
Табличная часть (Tabular section)
ВыгрузитьКолонки (UnloadColumns)
Синтаксис:

ВыгрузитьКолонки(<Колонки>)
Параметры:

<Колонки> (необязательный)

Тип: Строка.
Список колонок для выгрузки в формате: "Колонка1, Колонка2...". Если список не задан, то будут выгружены все колонки.
Возвращаемое значение:

Тип: ТаблицаЗначений.

Описание:

Создает таблицу значений с заданным списком колонок.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

Выгружается только структура табличной части, данные не выгружаются.
2 lodger
 
16.03.18
12:51
забомбить ДокументОбъект в реквизиты формы и вывести из него ТЧ на форму.
3 Zmich
 
16.03.18
12:52
(0). Через запрос и ВЫБРАТЬ ПЕРВЫЕ 0?
4 Малыш Джон
 
16.03.18
12:53
(0) УФ?
5 John83
 
16.03.18
12:55
(3) то, что нужно
спасибо!
PS почему-то казалось, что если в базе этих документов нет, то результат запроса будет без колонок
6 John83
 
16.03.18
12:55
(2) хотелось без СоздатьДокумент
7 John83
 
16.03.18
12:55
(1) где взять саму ТЧ?
8 Zmich
 
16.03.18
12:57
(5). Да, тоже засомневался, но сейчас проверил - работает.

    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ ПЕРВЫЕ 0
    |    *
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Товары";
    ТЗ = Запрос.Выполнить().Выгрузить();
    ТЗ.ВыбратьСтроку();
9 Малыш Джон
 
16.03.18
12:59
(8) Или как вариант:

ТЗ = Документы.РеализацияТоваровУслуг.ПустаяСсылка().Товары.ВыгрузитьКолонки();
10 Zmich
 
16.03.18
13:02
(9). Да, тоже работает.
11 lodger
 
16.03.18
13:04
(9) имхо, неявное создание документа все равно произойдет.
самый дешевый по памяти метод это через запрос.
12 lodger
 
16.03.18
13:04
(6) я то думал, что на форме нужна таблица
13 Малыш Джон
 
16.03.18
13:08
(11) создание объекта? мне кажется создавать объект, чтобы получить пустую ссылку - это даже для 1с чересчур.
мне кажется, на более низком уровне, различий между получением запросом 0 первых строк из таблицы документов и получением пустой ссылки через метод ПустаяСсылка() не будет.
14 lodger
 
16.03.18
13:11
(13) пустую ссылку даст менеджер объекта.
а вот когда ты ее за (товары) подергаешь, то система породит уже документобъект, ибо у ссылки тч еще нет.
15 John83
 
16.03.18
13:16
(14) через отладчик в объект не заходит, т.е. вроде как не создает
16 John83
 
16.03.18
13:23
(9) да, все же этот вариант по-красивее будет
премного благодарен
17 Малыш Джон
 
16.03.18
14:01
(14) мы наверное про разные вещи говорим. Понятно, что в ссылке ничего нет, ссылка сама по себе - это просто указатель. Когда мы обращаемся к реквизиту по ссылке - мы лезем в таблицу документа, находим в этой таблице по этой ссылке данные нужного объекта и считываем нужный реквизит.И ты хочешь сказать, что для пустой ссылки в таблице создаются "пустые" строки, из которых считываются "пустые" значения?
18 piter3
 
16.03.18
14:02
(15) Читай внимательно
Выгружается только структура табличной части, данные не выгружаются.
Программист всегда исправляет последнюю ошибку.