Имя: Пароль:
1C
 
Типизация существующей колонки в ТаблицеЗначений
0 qwerty42russ
 
23.08.21
08:53
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТаблицаГост2708_75.МассивСГостом2708_75 КАК МассивСГостом2708_75
        |ИЗ
        |    РегистрСведений.ТаблицаГост2708_75 КАК ТаблицаГост2708_75";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    ///Получение ГОСТ-а
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ДанныеХранилища = ВыборкаДетальныеЗаписи.МассивСГостом2708_75.Получить();
    КонецЦикла;
    
    
     ДанныеИзГостаДляДаннойТаблицы = ДанныеХранилища;
    
    
    ДанныеИзГостаДляДаннойТаблицы.Колонки.Метр6.Имя = "Коэффиценты"; ///Изменить название у таблицы

    //ДанныеИзГостаДляДаннойТаблицы.Колонки.Диаметр.ТипЗначения = Новый ОписаниеТипов("Число"); - Если здесь типизировать, то выдает ошибку Поле объекта недоступно для записи (ТипЗначения)     
    
        Построитель = Новый ПостроительЗапроса;
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДанныеИзГостаДляДаннойТаблицы);
    
    Построитель.ДоступныеПоля.Диаметр.ТипЗначения = Новый ОписаниеТипов("Число"); /// - Если здесь типизировать, то устанавливается тип, но отбор не срабатывает
    Построитель.ДоступныеПоля.Диаметр.Отбор = Истина;

    
    тОтбор = Построитель.Отбор.Добавить("Диаметр");
    тОтбор.ВидСравнения = ВидСравнения.ИнтервалВключаяГраницы;
    тОтбор.ЗначениеС = 18;
    тОтбор.ЗначениеПо = 80;
    
    тОтбор.Использование = Истина;
    
    Построитель.Выполнить();
    ДанныеИзГостаДляДаннойТаблицы = Построитель.Результат.Выгрузить();


В базе хранится ГОСТ в виде ТаблицыЗначений (все колонки в ней не типизированы). В ней есть колонка "Диаметр". По ней нужно сделать отбор. Как можно уже в существующей таблице Типизировать колонку? Построитель запроса выдает ошибку Недопустимое значение параметра (параметр номер ‘1’)» если этого не сделать
1 qwerty42russ
 
23.08.21
08:54
ДанныеХранилища и есть таблица с гостом. Просто в хранилище значений лежит
2 qwerty42russ
 
23.08.21
09:03
Не в таблице значений, а в табличной части*
Опечатался
3 ДенисЧ
 
23.08.21
09:04
Создать новую колонку с нужным типом и скопировать в неё данные.
4 qwerty42russ
 
23.08.21
09:28
(3) Да, спасибо. Это решение
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.