Тип("ОписаниеТипов") в запросе

1. karpik666 3778 05.05.15 06:33 Сейчас в теме
Здравствуйте, Есть таблица с ПВХ в ней колонка "ТипЗначения" с типом ОписаниеТипов, необходимо эту таблицу поместить во временную и произвести некоторые манипуляции. Но при помещении: ошибка. "Тип не может быть выбран в запросе". Колонки все явно типизированы, как я понял проблема все именно в типе "ОписаниеТипов" система его не понимает, как можно обойти такую ошибку?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vovan_victory 63 05.05.15 08:45 Сейчас в теме
karpik666,такая ошибка еще может быть из-за того, что в типах содержится тип "ОбъектМетаданных".
3. karpik666 3778 05.05.15 09:27 Сейчас в теме
(2) vovan_victory, В данной ситуации у меня именно ОписаниеТипов.
Неужели никто с таким не сталкивался.
4. vovan_victory 63 05.05.15 09:55 Сейчас в теме
karpik666, в консоли работает
ВЫБРАТЬ 
	ВидыСубконтоХозрасчетные.Ссылка,
	ВидыСубконтоХозрасчетные.ТипЗначения
ПОМЕСТИТЬ Вт
ИЗ
	ПланВидовХарактеристик.ВидыСубконтоХозрасчетные КАК ВидыСубконтоХозрасчетные
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Вт.Ссылка,
	Вт.ТипЗначения
	ИЗ
	Вт КАК Вт
Показать
5. karpik666 3778 05.05.15 10:11 Сейчас в теме
(4) vovan_victory, попробуй так
ТЗ = Новый ТаблицаЗначений;
	МассивТипов = Новый Массив;
	МассивТипов.Добавить(Тип("ОписаниеТипов"));
	ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));
	ТЗ.Колонки.Добавить("Колонка2", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(10)));
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ *
	|Поместить ВТТЗ
	|  ИЗ &ТЗ КАК ТЗ; 
	|Выбрать * ИЗ ВТТЗ
	|";
	Запрос.УстановитьПараметр("ТЗ", ТЗ);
	НоваяТЗ = Запрос.Выполнить().Выгрузить();
Показать
6. Bazin 5 05.05.15 10:21 Сейчас в теме
(5) karpik666, Неверное не получится. А типизации и так можно:
ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов("ОписаниеТипов"));
10. karpik666 3778 05.05.15 10:55 Сейчас в теме
(6) Bazin, и так можно, по-моему твой и мой код равноценны, просто мой сделан через массив.
(7) vovan_victory, опишу задачу, мне нужно перенести ПВХ из одной базы в другую полностью. Использую выгрузку xml. При загрузке получается таблица с реквизитами ПВХ, я эти реквизиты помещаю в запрос, и там шаманю с помощью соединений, чтобы найти есть такой объект или нет.
(8) vovan_victory, по-твоему колонка не может иметь составной тип?
МассивТипов = Новый Массив;
	МассивТипов.Добавить(Тип("Число"));
	МассивТипов.Добавить(Тип("Строка"));
	МассивТипов.Добавить(Тип("СправочникСсылка.Валюты"));

Прекрасно работает
(9) Serginio, а это вообще не к месту, так как я в запросе не сравниваю типы, и в запросе нельзя "Выразить как ОписаниеТипов", + ошибка срабатывает до возможности приведения типов в запросе.
23. Serginio 938 05.05.15 11:18 Сейчас в теме
(10) А как ты представляешь себе хранение такого типа в Базе?
В базе для составного типа есть поле для конкретизации поля. Тип может быть только один.
В ОписанииТипа хранится множество типов
26. karpik666 3778 05.05.15 11:24 Сейчас в теме
(23) Serginio, так в базе то он и хранится План видов характеристик имеет такой реквизит ведь с таким вот типом.
28. karpik666 3778 05.05.15 11:26 Сейчас в теме
(23) Serginio, а как мы представляем хранения строки, ведь она может содержать множество букв, так и здесь это какой-то абстрактный объект, который содержит в себе различные описания типов.
34. Serginio 938 05.05.15 11:41 Сейчас в теме
(28) Есть разные строки есть с ограничением а есть и без. Есть функции в SQL для работы со строками.
Удачи в поисках
36. karpik666 3778 05.05.15 11:47 Сейчас в теме
(34) Serginio, спасибо, но я не понимаю ход ваших мыслей, причем здесь строки. Я привел просто пример, что даже строку нужно представлять как объектную сущность, и что любые данные могут храниться в базе. Ну вот хоть убейте почему тип("описаниеТипов") мутабельный. Вот объект или списокЗначений - мутабельные, но ОписаниеТипов, хм.
37. Serginio 938 05.05.15 11:52 Сейчас в теме
(36) Попробуй для интереса сохранить поле с типом СписокЗначений или ТаблицаЗначений
40. karpik666 3778 05.05.15 12:01 Сейчас в теме
(37) Serginio, в чем проблема? ТаблицаЗначений и СписокЗначений могут быть в запросе. Мутабельным является элементСписказначений и СтрокаТаблицыЗначений.

(38) vovan_victory, ну тогда парадокс реквизит базы имеет такой тип, но он является мутабельным.
(39) vovan_victory, теперь понял, спасибо.
82. vovan_victory 63 05.05.15 14:19 Сейчас в теме
Если из
З = Новый ТаблицаЗначений;
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(Тип("ОписаниеТипов"));
    ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));
    ТЗ.Колонки.Добавить("Колонка2", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(10)));
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ *
    |Поместить ВТТЗ
    |  ИЗ &ТЗ КАК ТЗ; 
    |Выбрать * ИЗ ВТТЗ
    |";
    Запрос.УстановитьПараметр("ТЗ", ТЗ);
    НоваяТЗ = Запрос.Выполнить().Выгрузить();
Показать


выкинуть

МассивТипов = Новый Массив;
    МассивТипов.Добавить(Тип("ОписаниеТипов"));
    ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));


то он тоже работать должен
83. Serginio 938 05.05.15 14:33 Сейчас в теме
(82)
 Запрос=новый Запрос;
   Запрос.Текст="ВЫБРАТЬ 
   |ВидыСубконтоХозрасчетные.Ссылка,
   |ВидыСубконтоХозрасчетные.ТипЗначения
   |ПОМЕСТИТЬ Вт
   |ИЗ
   |    ПланВидовХарактеристик.ВидыСубконтоХозрасчетные КАК ВидыСубконтоХозрасчетные
   |;
   |
   |ВЫБРАТЬ
   |    Вт.Ссылка,
   |   Вт.ТипЗначения
   |    ИЗ
   |    Вт КАК Вт";
   
   
   Тз=Запрос.Выполнить().Выгрузить();
   
   Запрос.Текст = 
   "Выбрать Тз.Ссылка, 
   |Тз.ТипЗначения 
   |Поместить ВТТЗ 
   | ИЗ &ТЗ КАК ТЗ;
   |
   |Выбрать ВТТЗ.Ссылка, 
   |ВТТЗ.ТипЗначения ИЗ ВТТЗ 
   |"; 
   Запрос.УстановитьПараметр("ТЗ", ТЗ); 
   НоваяТЗ = Запрос.Выполнить().Выгрузить(); 
Показать


Ошибка

Тип не может быть выбран в запросе
<<?>>Тз.ТипЗначения
84. vovan_victory 63 05.05.15 14:47 Сейчас в теме
(83) Serginio, а это реальная задача или так - эксперимент?
Это к стати получилось из-за того, что на выходе, в ТЗ у колонки ТипЗначения значение = ОписаниеТипов примерно то же самое , что и

МассивТипов.Добавить(Тип("ОписаниеТипов"));
    ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));
85. Serginio 938 05.05.15 15:10 Сейчас в теме
(84) Я к тому, что запрос 4 и 83 это немного разные вещи. Нужно смотреть как хранит 1С данные по ПВХ
78. Serginio 938 05.05.15 13:52 Сейчас в теме
(4) Кстати а результат обратно в темповую таблицу загружается? Лень самому проверять
79. vovan_victory 63 05.05.15 13:56 Сейчас в теме
(78) Serginio, не понял вопроса?
80. Serginio 938 05.05.15 14:14 Сейчас в теме
(79) Из (4) Выгрузить в ТЗ

и

Запрос.Текст =
"Тз.Ссылка,
Тз.ТипЗначения
|Поместить ВТТЗ
| ИЗ &ТЗ КАК ТЗ;
|Выбрать * ИЗ ВТТЗ
|";
Запрос.УстановитьПараметр("ТЗ", ТЗ);
НоваяТЗ = Запрос.Выполнить().Выгрузить();
81. vovan_victory 63 05.05.15 14:17 Сейчас в теме
(80) Serginio, а почему нет то? Я не пробовал(то же лениво), но проблем то я не вижу. Колонки типизированны по умолчанию.
7. vovan_victory 63 05.05.15 10:25 Сейчас в теме
karpik666, не понимаю смысла этого
МассивТипов.Добавить(Тип("ОписаниеТипов"));
    ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));


По моему, это как масло масленое. Может я чего не понимаю? Идея то в чем?
11. karpik666 3778 05.05.15 10:59 Сейчас в теме
(7) vovan_victory, небольшое уточнение. В первом случае мы работаем с типом "ОписаниеТипов", а во втором с конструктором типов, это разные вещи. В пвх такой тип реквизиты позволяет динамически создавать типы для объектов прямо в базе без конфигуратора.
86. irenk2006 02.03.17 13:08 Сейчас в теме
(11) Спасибо большое! Я не программист :), но нужно было заменить тип субконто и Ваше разъяснение - в точку. У меня получилось!
8. vovan_victory 63 05.05.15 10:29 Сейчас в теме
Новый ОписаниеТипов(МассивТипов) на выходе получается мутабельный(изменчивый/сложный) тип. Это все равно, что вообще не определить тип колонки. Нужно явным образом определить тип колонки.
12. vovan_victory 63 05.05.15 10:59 Сейчас в теме
karpik666 , я не говорил про составной тип. Я говорил про мутабельный, т.е изменчивый. Это все равно что тип("Неопределено"),а составной - пожалуйста.

Тип("ОписаниеТипов") - это значит ни чего определенного.
13. karpik666 3778 05.05.15 11:02 Сейчас в теме
(12) vovan_victory, подожди, но реквизит то в ПВХ имеет такой тип. И прекрасно с ним можно работать в запросе, разница лишь в том, что я его помещаю через временную таблицу.
14. vovan_victory 63 05.05.15 11:04 Сейчас в теме
В первом случае мы работаем с типом "ОписаниеТипов", а во втором с конструктором типов,


Какой первый, а какой второй? Вы создаете таблицу значений как источник данных для запроса. Именно по этому и типизируете колонки,а значит рассматривать создание ТЗ и обработку её запросом нельзя.
16. karpik666 3778 05.05.15 11:09 Сейчас в теме
(14) vovan_victory, Ладно, как программно поместить Реквизит с типом таким же как ТипЗначения в ПВх в запрос?
15. vovan_victory 63 05.05.15 11:08 Сейчас в теме
Еще раз:

МассивТипов.Добавить(Тип("ОписаниеТипов"))


это не то же самое что

МассивТипов.Добавить(Новый ОписаниеТипов("Строка
"))
18. karpik666 3778 05.05.15 11:11 Сейчас в теме
(15) vovan_victory, внимательней, я такого кода не писал:
МассивТипов.Добавить(Новый ОписаниеТипов("Строка
17. vovan_victory 63 05.05.15 11:09 Сейчас в теме
а значит рассматривать создание ТЗ и обработку её запросом нельзя.

вот тут поправлюсь

а значит рассматривать как 2 отдельные задачи создание ТЗ и обработку её запросом нельзя.
19. vovan_victory 63 05.05.15 11:13 Сейчас в теме
Это я написал для примера
20. karpik666 3778 05.05.15 11:14 Сейчас в теме
(19) vovan_victory,
МассивТипов.Добавить(Тип("ОписаниеТипов"));
    ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов)); 
я как раз про это и говорил в первом случае (первая строка) и во втором случае (вторая строка)
21. vovan_victory 63 05.05.15 11:14 Сейчас в теме
В случае Новый ОписаниеТипов("Строка") получаем описание типа строка, а в случае Новый ОписаниеТипов() описание какого типа получаете?
Любого , т.е неопределенного, т.е мутабильного, а это все равно, что вообще ни какого типа. Вот что я хотел сказать
24. karpik666 3778 05.05.15 11:23 Сейчас в теме
(21) vovan_victory, хм, все равно не понятно, тогда какую объектную структуру имеет типзначения в пвх. Там же явно указывается, что тип.Типы() и в массиве содержится именно "ОписаниеТипов" - я этого не могу понять.
22. vovan_victory 63 05.05.15 11:18 Сейчас в теме
А перенос делаете конвертацией?
25. karpik666 3778 05.05.15 11:23 Сейчас в теме
(22) vovan_victory, нет, встроенным механизмом. ВыгрузитьXML. загрузитьXML
27. vovan_victory 63 05.05.15 11:25 Сейчас в теме
что тип.Типы() и в массиве содержится именно "ОписаниеТипов"
Вот именно! В массиве содержатся описания определенных типов, а не конструктор "Новый ОписаниеТипов"
30. karpik666 3778 05.05.15 11:32 Сейчас в теме
(27) vovan_victory, скорее всего мы друг друга не понимаем. Я уж точно не догоняю. Согласно синтакс помощнику, что создать колонку необходимо указать ей имя, и присвоить тип с помощью конструктора ОПисаниеТипов, так как конструктор и тип - разные вещи, таким образом чтобы присвоить колонке тип("ОписаниеТипов" я передаю этот тип в конструктор.
Новый ОписаниеТипов("ОписаниеТипов", , КС);

И такой код работает и я получаю тот результат, который я хочу. Этой колонке я могу присваивать реквизит "типзначения" и он будет присваиваться, так как типы совпадает. Теперь эти данные я хочу поместить в запрос, и здесь у меня затупок.
29. vovan_victory 63 05.05.15 11:28 Сейчас в теме
А если как то так попробовать:
МассивТипов = Новый Массив;
Для Каждого Стр Из тип.Типы() Цикл

    МассивТипов.Добавить(Стр);
КонецЦикла;

ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));


на выходе должна быть колонка с составным(но конкретно определенным составом) типом
31. karpik666 3778 05.05.15 11:36 Сейчас в теме
(29) vovan_victory, этот вариант подойдет для реквизитов как раз с составными типами, но не для ТипЗначения. Кстати я даже не использую конструктор Описаниетипов, я делаю так
ТЗ.Колонки.Добавить("Колонка1", Метаданные.ПланыВидовХарактеристик [Какой-тоПВХ].СтандартныеРеквизиты [ТипЗначения].Тип);

Это упрощенный вариант, на самом деле я использую цикл для получения всех колонок и только с типЗначения у меня ошибка.
33. vovan_victory 63 05.05.15 11:40 Сейчас в теме
(31) karpik666, так, я думаю, тоже прокатит.
32. vovan_victory 63 05.05.15 11:38 Сейчас в теме
скорее всего мы друг друга не понимаем


Может и такое быть(зубы по телефону не возможно вылечить),но я исхожу и Вашей ошибки
"Тип не может быть выбран в запросе"


я думаю, что ошибка из-за
МассивТипов.Добавить(Тип("ОписаниеТипов"));


Попробуйте использовать мой вариант описанный выше
35. karpik666 3778 05.05.15 11:44 Сейчас в теме
(32) vovan_victory, с вашим вариантом такая же ошибка:(
38. vovan_victory 63 05.05.15 11:53 Сейчас в теме
Ну вот хоть убейте почему тип("описаниеТипов") мутабельный
Да по тому, что выходе что получается? Нужно получить описание какого то объекта/ов метаданных, а получается Новый ОписаниеТипов = все что хочешь,а не что то конкретное, а это значит изменяемый.
39. vovan_victory 63 05.05.15 11:55 Сейчас в теме
но я не понимаю ход ваших мыслей, причем здесь строки


Serginio хотел сказать, что строки могут быть не ограниченной длинны.
41. vovan_victory 63 05.05.15 12:05 Сейчас в теме
Для теста написал. Работает. Ошибки нет

Тз =Новый ТаблицаЗначений;

ПВх = Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Тип;
	
	
	МассивТипов = Новый Массив;
Для Каждого Стр Из ПВх.Типы() Цикл

    МассивТипов.Добавить(Стр);
КонецЦикла;

ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов(МассивТипов));


Запрос = Новый Запрос("Выбрать * Поместить ТЗ Из &Парам КАК Парам ; Выбрать * Из ТЗ КАК ТЗ");
Запрос.УстановитьПараметр("Парам",ТЗ);

Результат = Запрос.Выполнить().Выгрузить();
Показать
42. karpik666 3778 05.05.15 12:07 Сейчас в теме
(41) vovan_victory, Здесь неправильно
ПВх = Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Тип;

Должно быть
ПВх = Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтандартныеРеквизиты["ТипЗначения"].Тип;
48. vovan_victory 63 05.05.15 12:20 Сейчас в теме
(42) karpik666,ошибки нет ни какой
Прикрепленные файлы:
52. karpik666 3778 05.05.15 12:40 Сейчас в теме
(48) vovan_victory, ошибка есть, в отладчике проверь, чему у тебя равен "ТИП" - Будет ОписаниеТипов с типом ПланвидовХарактеристикиССылка.

Запрос К Планам видов характестик, видишь какой тип показывает Для ТипЗначения - именно описаниетипов, а не какой то там Определенный.
Прикрепленные файлы:
58. vovan_victory 63 05.05.15 12:48 Сейчас в теме
(52) karpik666,

МассивТипов = Новый Массив;
//

Для Каждого Стр Из ПВх.Типы() Цикл

    МассивТипов.Добавить(Стр);//Стр = Тип("какая то ссчлка")
КонецЦикла;

Новый ОписаниеТипов(МассивТипов) // По данным массива с ссылками, делаем описание типов
Показать


Не много модернизированный пример из СП:
// расширим описание ДопустимыеТипы новыми типами
ДопустимыеТипы= Новый Массив;
ДопустимыеТипы.Добавить(Тип("СправочникСсылка.Методы"));
ДопустимыеТипы.Добавить(Тип("Число"));


ДопустимыеТипы = Новый ОписаниеТипов(ДопустимыеТипы); 
Показать
59. karpik666 3778 05.05.15 12:58 Сейчас в теме
(58) vovan_victory, немного абстрагируемся. Следуя твоему примеру Допустимые содержит Описание типов для Числа И СправочникСсылка.Методы. Значит колонка с созданным таким описанием может принимать значения Либо ЧИсло, либо СправочникСсылка.Методы. Однако на не это нужно. Нам нужно, чтобы эта колонка не принимала такие типы, а являлась описанием этих типов, так как в следующую строчку мы можем Поместить другое Описание, например ОписаниеТипоы("строка"), а ниже еще какое-нибудь.
Следовательно тип колонки, которая должна содержать это не должен быть привязан к определенному типу.
62. vovan_victory 63 05.05.15 13:06 Сейчас в теме
(59) karpik666, я не пойму, Вы пытаетесь что то понять или меня в чем то убедить? Я выложил Вам вполне рабочий пример, при чем на основе Вашего же.
Запустите его во внешней обработке и посмотрите отладчиком какой тип колонки будет у таблице значений. Далее , выполните запрос и убедитесь, что ошибки нет.
65. karpik666 3778 05.05.15 13:12 Сейчас в теме
(62) vovan_victory, спасибо за помощь, но я считаю, что ваш пример не верен, в этом коде я показал, откуда мы должны получать тип
ПВх = Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтандартныеРеквизиты["ТипЗначения"].Тип

Не понимаю, почему вы считаете свой код более правильным. Прошу объяснить в чем я тогда не прав, когда предлагаю этот код?
67. vovan_victory 63 05.05.15 13:16 Сейчас в теме
(65) karpik666, а я Вам на скрине показал от куда берутся допустимые типы которые могут использовать стандартные реквизиты. И если какой то тип не выбран там, где показано на скрине, так от куда получаете Вы их вообще не будет.

А для того, чтобы понять, что же все таки не понимает запрос, сделайте реквизит во внешней обработке с типом описание типов, выведите его на форму и нажмите кнопку выбора. Что получиться в итоге? В итоге откроется диалог выбора типа. А теперь представьте, как это должен делать запрос?
karpik666; +1 Ответить
68. karpik666 3778 05.05.15 13:23 Сейчас в теме
(67) vovan_victory, Ладно, спасибо. Я понял вашу позицию, по вашим объяснениям Значения колонки "ТипЗначения" будут такие:
1. "Какая-то строка"
2. 15
3. СправочникССылка
4. ДокументСсылка.

А то чего я хочу добиться:
1. Новый ОписаниеТипов("строка")
2. Новый ОписаниеТипов("Число")
3. Новый ОписаниеТипов("СправочникССылка")
4. Новый ОписаниеТипов("ДокументСсылка")
и это именно значения.
69. vovan_victory 63 05.05.15 13:25 Сейчас в теме
(68) karpik666, это не значения - это описание допустимых значений. А значения будут как раз справочникСсылка.какойто, "Какая то строка" и т.д
70. karpik666 3778 05.05.15 13:27 Сейчас в теме
(69) vovan_victory, Описаниями допустимых значений они являются для Характеристики, а для реквизита типЗначения - это именно его значения.
71. karpik666 3778 05.05.15 13:29 Сейчас в теме
(69) vovan_victory, Ведь когда мы создаем новый элемент ПВХ мы указываем какие типы он принимает, вот эти типы и хранятся в этом реквизите конкретно для одного элемента пвх.
72. vovan_victory 63 05.05.15 13:31 Сейчас в теме
(71) karpik666, я наверно не правильно выразился. Значение - я имел в виду конечный результат. Какие значения может принимать ПВХ.
karpik666; +1 Ответить
74. karpik666 3778 05.05.15 13:37 Сейчас в теме
(72) vovan_victory, Пример:
Есть элемент ПВХ - "цвет" - он имеет характеристики "черный", "Белый", "Красный". - эти характеристики являются элементами справочники "дополнительныеХарактеристики", чтобы система понимала, что для ПВХ "цвет" можно создавать только элементы справочника "ДополнительныеХарактеристики" в реквизите ТипЗначения хранится ОписаниеТипов("ДополнительныеХарактеристики"). Есть еще пвх "Ширина" - его характеристика "Число", аналогично первому случаю типзначения = ОписаниеТипов("Число").
Теперь разместить эти пвх в одну таблицу
Наименование типЗначения
цвет ОписаниеТипов("ДополнительныеХарактеристики")
Ширина ОписаниеТипов("Число")
Вопрос: какой тип Имеет Колонка "ТипЗначения"?
73. karpik666 3778 05.05.15 13:31 Сейчас в теме
(69) vovan_victory, то что вы привел - это и будут как раз и будут характеристиками
54. karpik666 3778 05.05.15 12:43 Сейчас в теме
(48) vovan_victory, Тип значения характеристик лишь указыает На Ограничениетипа на подобии колонок ТЗ, те типы, которые будут доступны при выборе.
43. Serginio 938 05.05.15 12:09 Сейчас в теме
Вообще такой запрос
 Запрос=новый Запрос;
	 Запрос.Текст="ВЫБРАТЬ ПЕРВЫЕ 10
	|ВзаиморасчетыСДепонентамиОрганизаций.Регистратор,
	|ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСДепонентамиОрганизаций.Регистратор),
	|ТИПЗНАЧЕНИЯ(ВзаиморасчетыСДепонентамиОрганизаций.Регистратор) КАК Поле1,
	|ТИПЗНАЧЕНИЯ(ТИПЗНАЧЕНИЯ(ВзаиморасчетыСДепонентамиОрганизаций.Регистратор)) КАК Поле2
    |ИЗ
	|РегистрНакопления.ПартииТоваровНаСкладах КАК ВзаиморасчетыСДепонентамиОрганизаций";
	
	Тз=Запрос.Выполнить().Выгрузить();
Показать



Выдает тип колонки как составной значения Null и Тип и ТипЗначения ОписаниеТипов

Попробуй добавить только один тип
44. karpik666 3778 05.05.15 12:12 Сейчас в теме
(43) Serginio, при выгрузке таблицы из запроса, она всегда имеет тип NULL наряду с другим типами.
Мне кажется эта строчка тоже должна NULL выдавать или ошибку вообще
  |ТИПЗНАЧЕНИЯ(ТИПЗНАЧЕНИЯ(ВзаиморасчетыСДепонентамиОрганизаций.Регистратор)) КАК Поле2 

так Типзначения от типа - это не описание Типа.
47. Serginio 938 05.05.15 12:18 Сейчас в теме
45. vovan_victory 63 05.05.15 12:13 Сейчас в теме
karpik666, еще раз. парадоксов НЕТ ни каких. Реквизит имеет тип описание какого то конкретного типа.
Прикрепленные файлы:
46. Serginio 938 05.05.15 12:16 Сейчас в теме
Сделай колонку Новый ОписаниеТипов("Тип");
49. Bazin 5 05.05.15 12:28 Сейчас в теме
Если рассуждать логически. Запросы нужны для получения выборок из хранимых данных 1С, и нельзя создать поле данных с типом "ОписаниеТипов"
(хотя можно создать реквизит отчета с этим типом). Поэтому это тип не может быть выбран в запросе.
50. vovan_victory 63 05.05.15 12:30 Сейчас в теме
(49) Bazin, Не согласен. Сделайте запрос к ПВХ и посмотрите результа
55. Serginio 938 05.05.15 12:45 Сейчас в теме
(50) Кстати а как хранятся в базе типы ПВХ?
57. karpik666 3778 05.05.15 12:47 Сейчас в теме
(55) Serginio, так мы об этом здесь и говорим, они хранятся в реквизите "ТипЗначения", который имеет тип "ОписаниеТипов"
64. Serginio 938 05.05.15 13:08 Сейчас в теме
(57) В базе они хранятся в поле _Type
51. vovan_victory 63 05.05.15 12:32 Сейчас в теме
Как бы там ни было, но мой пример полностью соответствует поставленной задаче(ИМХО)

Но все же я еще спрошу: перенос ПВХ через xml как делаете? Правилами из конвертации?
53. karpik666 3778 05.05.15 12:42 Сейчас в теме
(51) vovan_victory, Стандартными средствами конвертации xml без правил, через обработку Обмен данными между идентичными конфигурациями.
56. karpik666 3778 05.05.15 12:46 Сейчас в теме
А вот что с конструктором получилось. Я разницы не вижу, а вы?
Прикрепленные файлы:
60. vovan_victory 63 05.05.15 12:58 Сейчас в теме
(56) karpik666, я вам на скрине показал разницу между тем, что у Вас есть и как должно быть. Я еще раз попытаюсь объяснить: значение ОписаниеТипов - это не описание объекта метаданных - это конструкция для создания этого описания.
61. karpik666 3778 05.05.15 13:01 Сейчас в теме
(60) vovan_victory, я вам в (56) показал, как у меня есть. Этот скрин отличается от вашего. Плюс в (52) я показал, как выглядит выгрузка планов видов характеристик - она совпадает с моим типом. То что вы предлагаете отличается от моего, и в (59) я объясняю, что должно быть не так.
63. vovan_victory 63 05.05.15 13:08 Сейчас в теме
(61) karpik666, если так, как Вы хотите не работает, значит это не правильно. Это, я думаю, логично. Если же все работает, то ОТЛИЧНО!
66. Serginio 938 05.05.15 13:13 Сейчас в теме
64+ В реляционных базах такие отношения строятся как один ко многим
75. vovan_victory 63 05.05.15 13:38 Сейчас в теме
ОписаниеТипов("ДополнительныеХарактеристики")
76. karpik666 3778 05.05.15 13:43 Сейчас в теме
(75) vovan_victory, неправильно, так как есть еще тип Число, а добавь мы в эту таблицу еще какой-нибудь ПВХ, имеющий тип "Строка". Поэтому, как я считаю должен быть тип "ОписаниеТипов", который содержит в каждой своей строке Конструктор ОписанияТипов.
я же не говорил, что моя таблица неверная и что она не может содержать конструкторы, она их содержит и все прекрасно работает. У меня проблема возникла имеенно с запросом. Спасибо за помощь, благодаря вам я решил хранить описаниетипов в строке с помощью ЗначениеВСтрокуВнутр
Serg2000mr; +1 Ответить
77. vovan_victory 63 05.05.15 13:48 Сейчас в теме
(76) karpik666, решение принято? Хорошо! Но я думаю, что проблемы Вы получите при загрузке и так же будите искать как их обойти.
Удачи.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот