|
|
Запрос к Таблице значений |
☑ |
|
0
haggart
16.08.12
✎
19:26
|
Приемник = Новый ТаблицаЗначений;
Приемник.Колонки.Добавить("Метаданные",Новый ОписаниеТипов("Строка"));
Приемник.Колонки.Добавить("ИмяПользователя",Новый ОписаниеТипов("Строка"));
ВыгрузитьЖурналРегистрации(Приемник, , "Метаданные,ИмяПользователя", , );
Запрос = Новый Запрос;
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = "ВЫБРАТЬ
| Таб.Метаданные
|ПОМЕСТИТЬ ВТДанные
|ИЗ
| &Данные КАК Таб";
Запрос.УстановитьПараметр("Данные",Приемник);
Результат = Запрос.Выполнить().Выгрузить();
Выдает ошибку Тип не может быть выбран в запросе.
Подскажите где копать.
Спасибо.
|
|
|
1
ДенисЧ
16.08.12
✎
19:29
|
1. длину строки задай.
2. Посмотри на типы колонок после выгрузки, ты уверен, что они не изменились?
|
|
|
2
haggart
16.08.12
✎
19:33
|
как задать длину строки?
|
|
|
3
Rie
16.08.12
✎
19:37
|
(2) КвалификаторыСтроки() в ОписаниеТипов().
|
|
|
4
ДенисЧ
16.08.12
✎
19:38
|
(2) продам СП, дорого.
Кстати, в нём есть пример описания типа колонки ТЗ...
|
|
|
5
haggart
16.08.12
✎
19:43
|
Короче
Приемник = Новый ТаблицаЗначений;
Приемник.Колонки.Добавить("Метаданные",ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(200));
Приемник.Колонки.Добавить("ИмяПользователя",ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(200));
ВыгрузитьЖурналРегистрации(Приемник, , "Метаданные,ИмяПользователя", , );
Запрос = Новый Запрос;
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = "ВЫБРАТЬ
| Таб.Метаданные
|ПОМЕСТИТЬ ВТДанные
|ИЗ
| &Данные КАК Таб";
Запрос.УстановитьПараметр("Данные",Приемник);
Результат = Запрос.Выполнить().Выгрузить();
Но отладчиком смотрю, что после выгрузки журнала в ТЗ, пропадают все типы... нафиг.
как мне после выгрузки задать тип?
|
|
|
6
ДенисЧ
16.08.12
✎
19:48
|
Создать новую ТЗ с нужными типами, скопировать туда исходную через ЗаполнитьЗначенияСвойств()
|
|
|
7
Живой Ископаемый
16.08.12
✎
19:55
|
Еще можно создать однажды нужную, с нужными типами.. Потом ее сериализовать тем или иным способом пустую. Строку поместить в макет, и перед использованием в запросе, получать из этого макета и десериализовывать
|
|
|
8
haggart
16.08.12
✎
20:10
|
А кто знает, почему 1С так мозго@бчески подошла к запросу к ТЗ? Чем она так уж отличается от любой другой таблицы? НА любом SQL давным давно никто не замечает разницы при обращении к виртуальным таблицам и обычным.
|
|
|
9
Mort
16.08.12
✎
20:12
|
(8) Напиши свою 1С с блэкджеком и шлюхами.
|
|
|
10
Живой Ископаемый
16.08.12
✎
20:13
|
2(8) я попросил, мне так удобнее..
|
|
|
11
haggart
16.08.12
✎
20:20
|
(8) :))))
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший