Имя: Пароль:
1C
1С v8
Не добавляется колонка в таблицу значений
0 Parodist
 
24.08.11
14:11
Всем добрый день! Проблема такая:

//Создаю запрос к другой базе
Запрос41=Base_COM.NewObject("Запрос");
....//устанавливаю параметры
....
//выполняю запрос
   РезультатЗапроса41 = Запрос41.Выполнить();
//Выгружаю запрос в таблицу значений
   ТЗ = РезультатЗапроса41.Выгрузить();//Все хорошо, ТЗ получается правильная

//Пытаюсь добавить колонку в таблицу значений    
   ТЗ.Колонки.Добавить("СумОстатокНачУТ", Новый ОписаниеТипов("Число"));

Получаю ошибку:

{Форма.Форма.Форма(127)}: Ошибка при вызове метода контекста (Добавить)
   ТЗ.Колонки.Добавить("СумОстатокНачУТ", Новый ОписаниеТипов("Число"));
по причине:
Произошла исключительная ситуация: Несоответствие типов (параметр номер '2')

Подскажите пожалуйста, в какую сторону копать.
1 Планета Обезьян
 
24.08.11
14:12
сколько можно наступать на грабли((
ТЗ.Колонки.Добавить("СумОстатокНачУТ", Base_COM.NewObject(Новый ОписаниеТипов("Число")));
2 Parodist
 
24.08.11
14:19
Пробовал и так - ошибка

Ошибка при вызове метода контекста (NewObject)
   ТЗ.Колонки.Добавить("СумОстатокНачУТ", Base_COM.NewObject(Новый ОписаниеТипов("Число")));
по причине:
Типы не совпадают (1)

еще пробовал так:

ТЗ.Колонки.Добавить("СумОстатокНачУТ", Base_COM.NewObject("Новый ОписаниеТипов(""Число"")"));

Ошибка:
Ошибка при вызове метода контекста (NewObject)
   ТЗ.Колонки.Добавить("СумОстатокНачУТ", Base_COM.NewObject("Новый ОписаниеТипов(""Число"")"));
по причине:
Произошла исключительная ситуация (V82.COMConnection): Тип не определен 'Новый ОписаниеТипов("Число")'
3 Михаил Козлов
 
24.08.11
14:21
Новый уберите.
4 zbv
 
24.08.11
14:21
Base_COM.NewObject("ОписаниеТипов", "Число")
5 Parodist
 
24.08.11
14:34
(4) работает. Спасибо.
А можно как-то сконвертировать ТЗ, чтобы в ней хранились не ОЛЕ объекты, а простые типы - Строка и Число? Все колонки в ТЗ - простого типа - строки и числа, но загружены они из ОЛЕ запроса.
6 zbv
 
24.08.11
14:37
(5) если там простое типы, то там и хранятся простые типы, а не COM объекты, просто хранятся они в COM объекте Таблица значений.
7 Планета Обезьян
 
24.08.11
14:37
(5)попробуй через Скопировать()
8 Parodist
 
24.08.11
14:41
Всем спасибо. Ничего преобразовывать не надо, получилось так:

ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТЗУТ, ТЗ);
ТЗ.Свернуть("НоменклатураКод,номенклатураНаименование,СкладКод","СуммаОстатокНач,СуммаОстатокКон, СумОстатокНачУТ");
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn