Имя: Пароль:
1C
1С v8
Массив и Таблица значений
0 Константин536
 
24.03.15
23:46
Здравствуйте.
Подскажите как корректно написать условие в коде:

&НаКлиенте
Процедура Команда1(Команда)
      Массив()
            КонецПроцедуры

                &Насервере
            Процедура Массив()
                
            массив = Новый Массив;
    Массив.Добавить(50);
    Массив.Добавить(100);
    Массив.Добавить(20);
    Массив.Добавить(50);
    Массив.Добавить(70);

Таб = Новый ТаблицаЗначений;
Таб.Колонки.Добавить("Число");
Таб.Добавить();
Таб.Добавить();
Таб.Добавить();
Таб.Добавить();
Таб.Добавить();

Таб.ЗагрузитьКолонку(Массив, "Число");
Таб.Сортировать("Число возр");

Для Каждого Строка Из Таб Цикл
    Если Строка.Число > 20 тогда
        Сообщить(Строка.Число);
        КонецЕсли;
    КонецЦикла;
    
конецпроцедуры

Выскакивает ошибка: Операция сравнения допустима только для совпадающих примитивных типов (Булево, Число, Строка, Дата).

И скажите еще может ли КоллекцияЗначений "Таблица значений" полностью заменить "Массив"?
1 zak555
 
24.03.15
23:48
1. процедуру массив() заменить на прорцедураМассив()
2 DmitriyDI
 
25.03.15
00:22
2. строка на стр
3 DmitriyDI
 
25.03.15
00:24
ну и типизировать колонку число думаю стоит
4 alle68
 
25.03.15
02:18
(0) В этом коде нет ошибки. Значит, выполняешь другой, н., где количество строк больше размера массива.
Второй вопрос для УФ нелеп: на тонком клиенте нет ТЗ. Можно было бы обсудить: "Чем по мнению 1С массив структур лучше и удобней ТЗ?"
5 Ma3eIIa
 
25.03.15
02:20
я думаю вообще дурня. обычно с тз тянут масивв а не наборот.
6 Ma3eIIa
 
25.03.15
02:30
да и если на то пошло. даже тз. то в запрос а там условие и выборка вернет 1 значение. но это извращение извращение
7 Dethmont
 
25.03.15
02:45
Таб.Колонки.Добавить("Число", Новый ОписаниеТипов("Число"));
8 Ma3eIIa
 
25.03.15
03:01
а так что покажет

ЗаполнитьЗначения (FillValues)
Синтаксис:

ЗаполнитьЗначения(<Значение>, <Колонки>)
Параметры:

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

Тип: Произвольный.
Значение, которым необходимо заполнить строки таблицы.
<Колонки> (необязательный)

Тип: Строка.
Список имен колонок, разделенных запятыми, по которым производится заполнение строк таблицы значений.
Если параметр не указан, или передана пустая строка, будет заполнена вся таблица значений.
Описание:

Заполняет все строки таблицы значений указанным значением.

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

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

ТаблицаЦен.ЗаполнитьЗначения(Рубли, "Валюта");
9 Dethmont
 
25.03.15
03:27
(8) Ничего не покажет
10 Ma3eIIa
 
25.03.15
03:53
(9) да пока не совпадет количество индексов массива и тз. а так вообще глупая затея в (0)
11 rphosts
 
25.03.15
04:19
(0) главная ошибка - использование предопределённых имён в качестве имён собственных переменных, вызовов, реквизитов - это очень грубая ошибка!

>И скажите еще может ли КоллекцияЗначений "Таблица значений" полностью заменить "Массив"?

ответ: Неопределено! Т.к. на такой вопрос ответы Да или Нет не будут правильными.

И по сути вопроса: посмотрите в отладчике что у вас там в ТЗ после заполнения.
12 Dilgorp
 
25.03.15
05:57
(0) Для
Таб.ЗагрузитьКолонку(Массив, "Число");
в ТЗ должно быть не меньше строк, чем элементов в массиве, иначе получишь пустую ТЗ, если строк нет, или "обрезанную", если их меньше.

Пример из СП:
ТаблицаРезультат = Новый ТаблицаЗначений;
Для каждого ИмяКолонки Из МассивИменКолонок Цикл
    ТаблицаРезультат.Колонки.Добавить(ИмяКолонки);
КонецЦикла;

// Создадим пустые строки таблицы
Для Н=1 По СтрокиДереваЗначений.Количество() Цикл
    ТаблицаРезультат.Добавить();
КонецЦикла;

// Скопируем значения колонок
Для каждого ИмяКолонки Из МассивИменКолонок Цикл
    ЗначенияКолонки = СтрокиДереваЗначений.ВыгрузитьКолонку(ИмяКолонки);
    ТаблицаРезультат.ЗагрузитьКолонку(ЗначенияКолонки, ИмяКолонки);
КонецЦикла;
13 rphosts
 
25.03.15
06:22
(12) зря, так он отладчиком и СП пользоваться не научится
14 Dilgorp
 
25.03.15
06:27
(13) как знать)
15 DrZombi
 
гуру
25.03.15
07:32
(0) Зря ты переменные называешь так же, как и функции.
Чревато неприятностями. - Это же 1С, ящик пандоры, никогда не знаешь, что выползет в следующем релизе :)
16 Константин536
 
25.03.15
10:25
Ну вот допустим я делаю выборку значений по определенному условию из какой-либо таблицы. Куда мне эти значения поместить? В Массив или Список Значений?
17 rphosts
 
25.03.15
10:30
(16) смотря что ты потом с ними делать собираешься
18 rphosts
 
25.03.15
10:30
и смотря какая структура этих данных