Имя: Пароль:
1C
1С v8
Как получить пустую временную таблицу
0 ЭЦ
 
08.09.22
12:51
ГОСПОДА

Как запросом получить пустую временную таблицу
с требуемыми полями.

Прошу подсказать

Спасибо
1 Tigrann
 
08.09.22
12:54
ВЫБРАТЬ
    ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура
ПОМЕСТИТЬ ВТ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Номенклатура
ИЗ
    ВТ КАК ВТ
2 FN
 
08.09.22
12:56
выбрать первые 0
...
Поместить ...
3 ЭЦ
 
08.09.22
12:56
(1) Это не то
Так получим ВТ содержащую одну строку с пустыми значениями номенклатуры
а надо чтобы в ВТ не было ни одной строки, но были все колонки с нужными именами
4 Anton1307
 
08.09.22
13:04
(3) Вариант 1 -- ВЫБРАТЬ ПЕРВЫЕ 0
Вариант 2 -- ГДЕ Ложь
5 RomaH
 
naïve
08.09.22
18:30
а зачем?
6 Галахад
 
гуру
08.09.22
18:42
(3) На пустую. :-)

ВЫБРАТЬ
    Номенклатура.Ссылка
ПОМЕСТИТЬ ВТ
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = ""
7 VladZ
 
08.09.22
19:02
(0) Зачем?
8 Сергиус
 
08.09.22
19:14
(5)(7)Небось лень человеку вручную типы для таблицы прописывать)
9 bolobol
 
08.09.22
19:29
(8) О, точно! Это же как: - ты зачем печатаешь столько... пустых листов? - мне надо 50 пустых листов
10 БигБаг
 
08.09.22
19:54
(6)

выбрать *
из Справочник.Номенклатура
где Ложь;
11 СеменовСемен
 
08.09.22
19:56
по моему есть какой то спец синтаксис для пустых таблиц
12 СеменовСемен
 
08.09.22
19:59
(11) а нет, это для вложенных пустых таблиц
13 novichok79
 
08.09.22
20:48
на 1с давно не кодил. но вроде можно было взять ТЧ из пустой ссылки и выгрузить ТЧ в ТЗ.
14 Сергиус
 
08.09.22
23:58
(13)В данном случае речь шла про "Как запросом" :)
15 Мимохожий Однако
 
09.09.22
00:13
Всё встанет на свои места, если понимать цель сабжа. Мне сложно представить для чего нужна пустая временная таблица.
Вместо цели обсуждается инструмент, предназначенный явно не для создания пустых временных таблиц.
А цель фактически не обозначена. Достаточно передать пустую таблицу значений через параметр запроса.
16 rudnitskij
 
09.09.22
20:52
Предполагаю, что ТСу нужна таблица с установленными типами колонок)
17 ЭЦ
 
19.09.22
14:07
У меня итерационный алгоритм в котором
ВТ используется
потом ВТ уничтожается
и потом ВТ создается
на первом шаге надо иметь пустую ВТ
----------------------------

Сергиус - тоже правду говорит

---------------------
Anton1307 - спасибо
18 rudnitskij
 
19.09.22
21:52
(17) 1) объявляем таблицу значений в коде, до запроса, расписываем типы значений колонок
2) передаем эту таблицу как параметр в запрос, где из таблицы-параметра во врем таблицу читаем ее значения. Поскольку таблица у нас пустая - врем таблица тоже будет пустой
ЗЫ. Просто трудно представить нахрена нужна пустая ВТ?
Напоминает, как на начальном этапе карьеры одинэсеры сначала объявляют таблицу значений, а потом в нее выгружают результат запроса командой Запрос.Выполнить().Выгрузить()
19 Garykom
 
гуру
19.09.22
22:37
(18) >сначала объявляют таблицу значений, а потом в нее выгружают результат запроса

Ты не поверишь.
Я до сих пор так делаю.
Угадай почему?
20 Garykom
 
гуру
19.09.22
22:39
(19)+ 1. Чтобы не забыть тип переменной когда заполнение из запроса далеко в коде а таблицу сразу вверху процедуры/функции делаю, иногда еще и комментарий описывающий тут же
2. Чтобы при нажатии на "." подсказка срабатывала
21 rudnitskij
 
19.09.22
22:46
(19) потому что не знаешь, что объявлять ее заранее не обязательно. Угадал?
22 Garykom
 
гуру
19.09.22
22:47
(21) Не угадал. См (20)
23 rudnitskij
 
19.09.22
22:48
(20) Что с вашим стажем может понадобиться в ТЗ такого, что дает подсказка?
Лично я тоже так делаю когда нужна подсказка для удобства разработки, но потом убираю декларирование, в работе 1с оно не нужно
24 rudnitskij
 
19.09.22
22:50
(20) Чтобы не забыть тип и все остальное, есть вариант юзать "говорящие" имена переменных. Чтобы из названия понять что это и для чего.
А все-таки, для чего нужна пустая временная таблица? Неужели тоже, чтобы что-то "не забыть"?) Нам не посмеяться над коллегой, просто вдруг че-то умное посоветуем, или наоборот - о смысле жизни призадумаемся глубоко
25 Garykom
 
гуру
19.09.22
23:25
(23) Не держу в оперативной памяти ненужные вещи.
Когда изучил кучу ЯП то все ненужное оно теряется.
Аналогично как раньше номера телефонов наизусть помнили, а сейчас когда все в смартфоне в книжке и синхронизируется гуглом я даже свои номера не помню уже.
Так и тут лучше иметь подсказку чем не иметь, места не много занимает лишний код.
26 Garykom
 
гуру
19.09.22
23:27
(24) хитрый запрос с ОБЪЕДИНИТЬ (ВСЕ) например
27 rudnitskij
 
20.09.22
00:09
(26) скажу честно, ясности не добавилось) ну объединю я с пустой таблицей непустую - чем это будет отличаться от того, что даст запрос без объединения?
Может, в вашем случае и хитрость никакая не нужна? и без пустой таблицы можно обойтись?
28 БигБаг
 
22.09.22
08:32
(17) Такой?:

Функция   Запрос_ДобавитьТаблицу(НазвИсх, НазвДобавляемой) Экспорт
    
    возврат "
    
    |ВЫБРАТЬ *
    |ПОМЕСТИТЬ _Х_"+НазвИсх+"
    |ИЗ "+НазвИсх+"
    |ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ * ИЗ "+НазвДобавляемой+";
    
    |УНИЧТОЖИТЬ "+НазвИсх+";
    |УНИЧТОЖИТЬ "+НазвДобавляемой+";
    
    |ВЫБРАТЬ *
    |ПОМЕСТИТЬ "+НазвИсх+"
    |ИЗ _Х_"+НазвИсх+";
    
    |УНИЧТОЖИТЬ _Х_"+НазвИсх+";
    |";
    
КонецФункции
29 DrZombi
 
гуру
22.09.22
10:47
(0) Держи, и не благодари... - Получим еще и составной тип :)

ВЫБРАТЬ
    ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура
ПОМЕСТИТЬ ВТ

Объединить ВСЕ

ВЫБРАТЬ
    ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ.Номенклатура
ИЗ
    ВТ КАК ВТ
Где
    Ложь
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший