Имя: Пароль:
1C
1С v8
Как в запросе вывести колонку показывающую ТИП(стр. или число или спр. или ..)?
,
0 vladimir-boy
 
24.01.13
16:09
Как в запросе вывести колонку показывающую ТИП(стр. или число или спр. или документ или ..) выбранной мною любой из колонок таблицы?
Допустим:

ВЫБРАТЬ
   Номенклатура.Наименование,    // напечатает: Зубная паста
   Номенклатура.Артикул,         // напечатает: А000001
   Номенклатура.ВидНоменклатуры,  // напечатает: Товар
       ЖелаемаяМнойИскомаяФункцияТИП(Номенклатура.Наименование) // хотелось бы чтоб напечатала: "Строка",
       ЖелаемаяМнойИскомаяФункцияТИП(Номенклатура.Артикул) // хотелось бы чтоб напечатала: "Строка",
       ЖелаемаяМнойИскомаяФункцияТИП(Номенклатура.Наименование) // хотелось бы чтоб напечатала: "Перечисление.ВидНоменклатуры"    
ИЗ
   Справочник.Номенклатура КАК Номенклатура

p.s.: Кстати Функция Тип() не фурычит, так чисто для примера
Спасибо за ответ.
1 GLazNik
 
24.01.13
16:10
(0) в запросе никак. если только через ВЫБОР что-то замутить
2 Wobland
 
24.01.13
16:13
ТИПЗНАЧЕНИЯ
3 vladimir-boy
 
24.01.13
16:15
(1) Спасибо! Как всё печально!
(2) Проверил!!????????????????!!! 1С ВЫЛЕТЕЛААААААААААААААААА
4 GLazNik
 
24.01.13
16:16
(2) точно. чета я попутался
5 vladimir-boy
 
24.01.13
16:16
(2) НЕТ! Не взлетело!
6 Wobland
 
24.01.13
16:16
7 GLazNik
 
24.01.13
16:17
(5) а должно было бы... видимо косяк в чем-то другом
8 vladimir-boy
 
24.01.13
16:23
(6) У меня вылетает 1с безвозратно!!!!  Отпишитесь у кого работает
9 Maxus43
 
24.01.13
16:25
(8) платформа какая?
запрос который вылетает в студию
10 DrShad
 
24.01.13
16:25
у меня работает
11 Wobland
 
24.01.13
16:26
(8) вот тебе твой запрос на всякий случай
http://screencast.com/t/tQX4cKVA
12 Reset
 
24.01.13
16:26
Отписываюсь
13 Reset
 
24.01.13
16:27
(12) Правда, я не проверил, это ничего?:)
14 Wobland
 
24.01.13
16:27
(13) мы тебе верим ;)
15 vladimir-boy
 
24.01.13
16:28
(9) 1С:Предприятие 8.2 (8.2.16.352)
Сейчас проверю на штатной консоли, а то использую универсальный отчет 2.7.7.8
16 DrShad
 
24.01.13
16:28
(13) я тоже :)))
17 Maxus43
 
24.01.13
16:30
Проверяйте :)

ВЫБРАТЬ
   ТИПЗНАЧЕНИЯ(ПРЕДСТАВЛЕНИЕССЫЛКИ(Валюты.Ссылка)) КАК Поле2,
   Валюты.Ссылка
ИЗ
   Справочник.Валюты КАК Валюты
18 Wobland
 
24.01.13
16:31
(17) красавец ;)
19 Maxus43
 
24.01.13
16:31
(18) я разрушитель легенд "А у меня работает!" :)
20 ZUM
 
24.01.13
16:34
ВЫБРАТЬ ПЕРВЫЕ 5
   Номенклатура.Артикул,
   ТИПЗНАЧЕНИЯ(Номенклатура.Артикул) КАК АртикулТип
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   ТИПЗНАЧЕНИЯ(Номенклатура.Артикул) = ТИП(СТРОКА)

И у меня ! :))))
21 Wobland
 
24.01.13
16:34
скажи, разрушитель, а почему у меня поле2 второе в результате?
http://screencast.com/t/uhBoB6ABxbEj
22 ZUM
 
24.01.13
16:34
И ТИП() фурычит.....
23 Reset
 
24.01.13
16:35
(21) Потому что ты выполнил запрос, а пото его текст переписал! Иначе откула в результате колонка "сс"
24 Reset
 
24.01.13
16:36
Не угадал?
25 Wobland
 
24.01.13
16:36
(23) игрался. ей-ей не вру
http://screencast.com/t/YezenwwCXHJ
26 Wobland
 
24.01.13
16:38
похоже, оно представление всегда в конец пихает. непонятно, почему
http://screencast.com/t/KmmKSmH22MQ
27 hhhh
 
24.01.13
16:44
что-то я отстал от жизни. А разве бывает такое, чтобы тип у Номенклатура.Наименование был не "строка"? Какой смысл в выводе этого типа?
28 Maxus43
 
24.01.13
16:44
(21) хз, ты жульничаеш :) в стандартной консоли - легко сделать, в этой тоже наверно
29 Wobland
 
24.01.13
16:46
(28) вот тебе запрос, чтоб скопипастить ;)
ВЫБРАТЬ
   40,
   Валюты.Наименование,
   ПРЕДСТАВЛЕНИЕССЫЛКИ(Валюты.Ссылка) КАК Поле2,
   Валюты.Ссылка,
   20
ИЗ
   Справочник.Валюты КАК Валюты
30 Wobland
 
24.01.13
16:47
(29) ага, другая консоль, внешне похожая на типовую, такого эффекта не дает..
31 vladimir-boy
 
24.01.13
16:47
(2) У меня в ШТАТНОМ режиме заработало (до этого использовал консоль запросов "универсальный отчет" 2.7.8 где вылетала 1С), НО НЕ СОВСЕМ ТО ЧЕГО ОЖИДАЛ
Например:
МойЗапрос = Новый Запрос;
   
   МойЗапрос.Текст="ВЫБРАТЬ
   |    ТипЗначения(Номенклатура.Ссылка),
   |   Тип(Номенклатура)
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура";
   
   
   МойЗапросРезультат = МойЗапрос.Выполнить();
   ТабличноеПоле1 = МойЗапросРезультат.Выгрузить();
   ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

ПЕЧАТАЕТ 2 поля:     Номенклатура                  Номенклатура

А можно ли, чтоб печатало: Справочник.Номенклатура           Справочник.Номенклатура
32 Maxus43
 
24.01.13
16:48
(29) на стандартной консоли проверил, там поле2 вобще не видит (что логично, ибо оно накладывается на поле Ссылка, т.к. всё равно туда лезет за ним если поле2 не указать вобще).
Наверно связано с тем такие поля обрабатывает на стороне клиента уже, а не субд
33 Maxus43
 
24.01.13
16:50
(31) на 8.2 ТипЗначения возвращает не СправочникСсылка.Номенклатура и просто Номенклатура. Заменены представления типов
34 DrShad
 
24.01.13
16:50
XMLСтрока
35 vladimir-boy
 
24.01.13
16:54
(33) ..не СправочникСсылка.Номенклатура _И_ просто Номенклатура..
_И_ в смысле "а"
36 vladimir-boy
 
24.01.13
16:55
(34) Поподробней пожалуйста, как реализовать и увидеть НЕ ПРОСТО название ОБЪЕКТА Метаданных, НО и ЕГО ВИД(Справочник, Документ, Перечисление и тд)
37 Wobland
 
24.01.13
16:57
всё-таки, на зачем?
38 DrShad
 
24.01.13
17:00
Глобальный контекст.XMLСтрока (Global context.XMLString)
Глобальный контекст (Global context)
XMLСтрока (XMLString)
Синтаксис:

XMLСтрока(<Значение>)
Параметры:

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

Тип: Неопределено; Null; Булево; Число; Строка; Дата; УникальныйИдентификатор; ДвоичныеДанные; ХранилищеЗначения; значения перечислений, значения системных перечислений (ВидСчета; ВидДвиженияБухгалтерии; ВидДвиженияНакопления; ДопустимыйЗнак; ДопустимаяДлина; ЧастиДаты) или все ссылки на объекты базы данных.
Значение, для которого должно быть получено строковое представление, которое может быть использовано как текст элемента или значение атрибута XML.
Возвращаемое значение:

Тип: Строка.

Описание:

Получает XML представление значения для помещения в текст элемента или значение атрибута XML.
XML представление зависит от типа значения:
Строка - как есть
Булево: Истина - как "true", Ложь - как "false"
Дата - XML представление соответствует представлению типа dateTime схемы XML (см. http://www.w3.org/TR/xmlschema-2/#dateTime)
Число - XML представление соответствует представлению типа decimal схемы XML (см. http://www.w3.org/TR/xmlschema-2/#decimal)
Значение системного перечисления (для перечислений, поддерживающих XML сериализацию) - как имя значения перечисления
УникальныйИдентификатор - как строковое представление уникального идентификатора
Ссылки - как XML представление уникального идентификатора ссылки
ХранилищеЗначения и ДвоичныеДанные - как строка в формате base64


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

Сервер, толстый клиент, внешнее соединение.
Пример:

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ЗаписатьНачалоЭлемента("payment");
ЗаписьXML.ЗаписатьНачалоЭлемента("date");
ЗаписьXML.ЗаписатьТекст(XMLСтрока(ДатаПлатежа));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("amount");
ЗаписьXML.ЗаписатьТекст(XMLСтрока(РазмерПлатежа));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();


См. также:

Глобальный контекст, метод XMLЗначение
39 Reset
 
24.01.13
17:04
(31)(36) В запросе так нельзя вроде по нормальному.
Разве передать во внутреннюю таблицу таблицу вида
Тип Представление
(тип)  (произвольная строка)

и с ней сделать соединение
40 vladimir-boy
 
24.01.13
17:04
(38) Спасибо! Вот это мощно!
Но признаюсь, что я пока не дорос до осознования таких фишек.
Понял, что по-проще функционал НЕ ПОЗВОЛЯЕТ показать вид объекта Метаданных.
41 Wobland
 
24.01.13
17:05
(40)это называется СП. могу продать за недорого
42 vladimir-boy
 
24.01.13
17:07
(41) "Нема грошей нема кохання!" :)))
Увы, К сожаленью я финансово не состоятелен.
43 vladimir-boy
 
24.01.13
17:08
(39) Спасибо за идею попробую сейчас реализовать.
44 Wobland
 
24.01.13
17:09
(42) мда... тогда так: кртл+ф1. только никому, а то ДенисЧ узнает - проклянёт
45 vladimir-boy
 
24.01.13
17:16
(44) :)))))
ДенисЧ это кто?
По твоему выраженью, такое впечатленье что он - Сын министра, который думает, что у кого нет "фантиков", тот ..
46 DrShad
 
24.01.13
17:17
(45) нет, он местный торговец СП
47 vladimir-boy
 
24.01.13
17:18
(46) открой военную тайну, что такое СП?
Судя по количеству сообщений и стаже на форуму ДенисЧ - Гуру
48 Wobland
 
24.01.13
17:19
49 vladimir-boy
 
24.01.13
17:21
(48) Ой ё-ёй. Совсем сегодня мозг себе вынес.
Сори,
Что такое СП естественно знал, но не уловил его значение в данном контексте диалога.
50 vladimir-boy
 
24.01.13
17:46
Вообщем полный изврат: получается если значения колонки принимают составной тип из 25 справочников, то чтоб распечатать (для ВИЗУАЛЬНОГО КОНТРОЛЯ И АНАЛИЗА) в колонке конкретный вид справочника мне надо в CASE перечислить все возможные варианты и выводить строку( "А_ЭТО_Справочник_Номенклатура", "А_ЭТО_Справочник_Организации")в зависимости от ТИПа(Колонка.Ссылка)

Может таки существует цивилизованный метод ИЛИ забить на щедрый функционал 1СЫ?????

Благодарю за ответы
51 DrShad
 
24.01.13
17:52
что и для чего ты хочешь получить?
52 vladimir-boy
 
24.01.13
18:11
(51) Я хочу в результате запроса ВИДЕТЬ 2 колонки с названиями нетолько самих прикладных объектов(Номенклатура, ВидНоменклатуры и тд), НО и ВИД объекта МЕТАДАННЫХ(СПРАВОЧНИК, ДОКУМЕНТ, ПЕРЕЧИСЛЕНИЕ):

Зубная паста          СПРАВОЧНИК.[Номенклатура] // СПРАВОЧНИК НИКАК НЕ МОГУ ВЫВЕСТИ!!!
Покраска              ПЕРЕЧИСЛЕНИЕ.[ВидНоменклатуры] //ПЕРЕЧИСЛЕНИЕ НИКАК НЕ МОГУ ВЫВЕСТИ!!!

p.s.: только печатает то что в квадратных скобках

наприм: ВЫБРАТЬ
       Тип(Номенклатура),
     ТипЗначения(Номенклатура.Ссылка)
   ИЗ
       Справочник.Номенклатура КАК Номенклатура
53 DrShad
 
24.01.13
18:18
что будешь делать с результатом?
54 Wobland
 
24.01.13
18:18
(52) а теперь зачем. я уже спрашивал
55 vladimir-boy
 
24.01.13
18:21
(52, 53) Визуально наблюдать и понимать значение каждого поля к какому типу относиться. Я НЕ СОБИРАЮСЬ держать в голове названия 1000 справочников и если увижу ВидНоменклатуры НЕ СОБИРАЮСЬ ГАДАТЬ ЧТО ЭТО: Справочник, Перечисление ХЗЧ
56 DrShad
 
24.01.13
18:23
зачем это делать запросом? открой для себя Метаданные
57 Wobland
 
24.01.13
18:23
(55) то есть чисто для себя для отладки. ни разу не возникало такой потребности, хотя кое-кто считает меня не самым глупым человеком в вопросах запросов (то есть опыт есть). как я без этого живу? я не знаю, но мне вполне комфортно
58 Wobland
 
24.01.13
18:26
(56) чтоб в консоли видеть и на лету что-то править. кстати, ИР вроде умеют показать типы полей результата
59 DrShad
 
24.01.13
18:28
(57) тоже как-то без этого не страдаю
60 vladimir-boy
 
24.01.13
18:28
(56) Так удобней, особенно если пользуешься КОНСОЛЬЮ.
Если тип колонки СОСТАВНОЙ, то наблюдая за значением каждой строки понимаешь к какому ТИПу оно относится. (ЛИБО ЭТО ПЕРЕЧИСЛЕНИЕ ЛИБО ЭТО СПРАВОЧНИК ЛИБО ЭТО ДОКУМЕНТ и тд)

p.s.: А так ты гадаешь ЧТО ЭТО???
И не хочется верит, ЧТО ЭТО - Х.. Знает Что :(
61 DrShad
 
24.01.13
18:30
зачем тебе знать что ЭТО?
62 Wobland
 
24.01.13
18:31
как нельзя к месту ;)
http://bash.im/quote/413959
63 vladimir-boy
 
24.01.13
18:32
(61) Чтоб ВИДЕТЬ ШИРОКО и МЫСЛИТЬ ГЛУБОКО!!! :)))
64 Wobland
 
24.01.13
18:33
+(62) только Reset всё ж сказал, где находится колодец
65 vladimir-boy
 
24.01.13
18:33
(62)+1000000000000000000000000
66 vladimir-boy
 
24.01.13
18:36
(64) Я "колодца" так и не увидел, может ты раскроешь секрет?
67 Wobland
 
24.01.13
18:40
(66) нужна ещё одна таблица с полями тип и описание. только в консоли таблицу задать не выйдет(?). соединять по типу, брать описание
68 vladimir-boy
 
24.01.13
18:48
(67) Ну-да в 39 от Reset посту что-то подобное звучало, но реализовать это пока для себя не представляю очевидным.
Это получается мне надо создавать, обновлять и хранить таблицу(2 колонки: 1)тип и 2)описание ) с ОБЪЕКТАМИ метаданных, а потом соединять непосредственную таблицу с этой по типу и "выуживать" описание.
Оригинально, но трудоёмко и пока только гипотетически реализуемо.
А вот РАЗРАБОТЧИКИ 1С КАК ВСЕГДА НЕПОНЯТНО ЧЕМ думали. ВЕДЬ могли же эту ЖИЗНЕННОНЕОБХОДИМУЮ мелочь реализовать!
69 Wobland
 
24.01.13
18:52
(68) по жизненную необходимость не согласен, а вот представление типа одним словом и вправду туповато как-то..
70 vladimir-boy
 
24.01.13
18:55
(69) и вправду туповато как-то..
Да в 1Се столько тупизны, что и грустно и смешно.
Ошибка? Это не ошибка, это системная функция.