Имя: Пароль:
1C
1С v8
ТЗ Свертка
0 sdfqwe
 
18.10.12
09:21
В общем немного кода:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ИнвНомер");
ТЗ.Колонки.Добавить("Сумма");

НовСтрокаТЗ = ТЗ.Добавить();
НовСтрокаТЗ.ИнвНомер = 1;
НовСтрокаТЗ.Сумма = 10;

ТЗ.Свернуть("ИнвНомер", "Сумма");

Далее самое интересное:

ТЗ.Получить(0).ИнвНомер = 0;

Почему ИнвНомер в ТЗ в 1-й строке равен нулю я так и не догадался.
1 sdfqwe
 
18.10.12
09:24
возможно стоит отметить что типы обоих колонок = "Число"..
2 k1us181b
 
18.10.12
09:30
ТЗ.Получить(0).ИнвНомер = 1.
3 sdfqwe
 
18.10.12
09:31
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ИнвНомер", "Число");
ТЗ.Колонки.Добавить("Сумма", "Число");

НовСтрокаТЗ = ТЗ.Добавить();
НовСтрокаТЗ.ИнвНомер = 1;
НовСтрокаТЗ.Сумма = 10;

ТЗ.Свернуть("ИнвНомер", "Сумма");

ТЗ.Получить(0).ИнвНомер = 0;
4 k1us181b
 
18.10.12
09:33
"Число"
что за муть?
5 Cube
 
18.10.12
09:35
(0) А так:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ИнвНомер");
ТЗ.Колонки.Добавить("Сумма");

НовСтрокаТЗ = ТЗ.Добавить();
НовСтрокаТЗ.ИнвНомер = 1;
НовСтрокаТЗ.Сумма = 10;

ТЗ.Свернуть("ИнвНомер", "Сумма");

Сообщить(ТЗ.Получить(0).ИнвНомер);


???
6 sdfqwe
 
18.10.12
09:36
сек допру код... просто пишу на скоряк..
7 k1us181b
 
18.10.12
09:36
// Создание описателя типов для таблицы значений
КЧ = Новый КвалификаторыЧисла(12,2);
КС = Новый КвалификаторыСтроки(20);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);

// Создание таблицы значений
ТаблицаЗначений = Новый ТаблицаЗначений;
// добавим в таблицу значений три колонки
ТаблицаЗначений.Колонки.Добавить("Отдел",ОписаниеТиповС,"Отдел",20);
ТаблицаЗначений.Колонки.Добавить("Сотрудник",ОписаниеТиповС,
       "Фамилия сотрудника",20);
ТаблицаЗначений.Колонки.Добавить("Оклад",ОписаниеТиповЧ,"Оклад",10);
8 sdfqwe
 
18.10.12
09:46
ТипЧисло = Новый ОписаниеТипов("Число");
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ИнвНомер", ТипЧисло);
ТЗ.Колонки.Добавить("Сумма", ТипЧисло);

НовСтрокаТЗ = ТЗ.Добавить();
НовСтрокаТЗ.ИнвНомер = 1;
НовСтрокаТЗ.Сумма = 10;

ТЗ.Свернуть("ИнвНомер", "Сумма");

Сообщить(Строка(ТЗ.Получить(0).ИнвНомер));
//Выводит "1"

//А теперь, конкретика:
ТЗНомеров = ТЗПроверки.Скопировать(, "ИнвентарныйНомер, Сумма");
Для н = 0 По СЗНомеровВНабореЗаписейОСМ.Количество()-1 Цикл
 НовСтрокаТЗНомеров = ТЗНомеров.Добавить();
 НовСтрокаТЗНомеров.ИнвентарныйНомер = ТЗНомеровВНабореЗаписейОСМ.Получить(н);
КонецЦикла;

Сообщить(Строка(ТЗНомеров.Получить(0).ИнвНомер));
//Выводит 1

ТЗНомеров.Свернуть("ИнвентарныйНомер", "Сумма");
//Выводит 0
9 Cube
 
18.10.12
09:50
(8) Пока ты не начнешь внятно говорить, никто тебе ничего путнего не подскажет.

Конкретно:

ТЗНомеров.Свернуть("ИнвентарныйНомер", "Сумма");
//Выводит 0
Да ты гонишь! Метод СВЕРНУТЬ ничего никуда не выводит.

Для н = 0 По СЗНомеровВНабореЗаписейОСМ.Количество()-1 Цикл
 ...
 НовСтрокаТЗНомеров.ИнвентарныйНомер = ТЗНомеровВНабореЗаписейОСМ.Получить(н);
КонецЦикла;

СЗНомеровВНабореЗаписейОСМ.Количество()-1 и ТЗНомеровВНабореЗаписейОСМ.Получить(н) прямо так, да?
10 Cube
 
18.10.12
09:51
+(9) Откуда мы знаем, чего там в ТЗНомеровВНабореЗаписейОСМ ты понапихал...
11 ptiz
 
18.10.12
09:51
Автор нас разводит.
12 sdfqwe
 
18.10.12
09:59
Никого не развожу, без отладчика туго. Походу где сам накосячил. Уже сам увидел.
13 k1us181b
 
18.10.12
10:26
14 Cube
 
18.10.12
10:28
(13) Ссылки нужно вставлять без тегов.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший