Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Можно ли изменить значение колонки ТЗ не перебирая (число прочтений - 8321 )
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Можно ли изменить значение колонки ТЗ не перебирая
03. Мая 2007 :: 11:45
Печать  
Можно ли изменить значение колонки таблицы значений не перебирая строк.
Нужно значение колонки Количество * (-1).
  
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #1 - 03. Мая 2007 :: 12:51
Печать  
Цитата:
изменить значение колонки таблицы значений

Т.е. всем ячейкам в данной колонке?
  

Константин
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #2 - 03. Мая 2007 :: 13:07
Печать  
Если да -
Код
Выбрать все
	ИТЗ = СоздатьОбъект("ИндексированнаяТаблица");
	ИТЗ.Загрузить(ТвояТЗ);
	ИТЗ.ДобавитьИндекс("ТвояКолонка","ТвояКолонка");
	ИТЗ.ЗаполнитьКолонку("ТвояКолонка","ТвояКолонка",НовоеЗначение);
	ИТЗ.Выгрузить(ТвояТЗ);
	ТвояТЗ.УстановитьПараметрыКолонки("ТвояКолонка",<прежние параметры>);
 


  

Константин
Наверх
 
IP записан
 
Robert
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 86
Зарегистрирован: 20. Сентября 2006
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #3 - 03. Мая 2007 :: 13:55
Печать  
Типа, нормальные герои всегда идут в обход...
Читай документацию.
Заполнить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>)
Назначение:
Заполнить соответствующие ячейки таблицы значений переданным значением.

или конкретно
Код
Выбрать все
Тз.Заполнить(НовоеЗначение, 1, Тз.КоличествоСтрок(), "ТвояКолонка"); 

  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #4 - 03. Мая 2007 :: 14:02
Печать  
Что то мне подсказывает что все ответы "неверные" Улыбка

dimm73 - судя по всему имел виду не просто установить некое значение всем строчкам некой колонки
(примеры чего были приведены выше) а значения всех строк некой колонки умножить (ну или там сложить поделить) с определенным значением заданным пользователем Улыбка
  
Наверх
wwwICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #5 - 03. Мая 2007 :: 14:42
Печать  
Ну эт типа я так понял что у ТЗ он хочет чтоб было типа:
Заполнить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>)
где Знач это типа формула.
Я так думаю что не переберая строки не выйдет.
  
Наверх
 
IP записан
 
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #6 - 03. Мая 2007 :: 15:08
Печать  
Цитата:
Типа, нормальные герои всегда идут в обход...

Я забыл прицепить к ответу Это -
  

Константин
Наверх
 
IP записан
 
dimm73
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 414
Зарегистрирован: 03. Июля 2006
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #7 - 04. Мая 2007 :: 05:16
Печать  
(noprogrammer) совершенно верно, нужно умножить все значения этой колонки на определенное число, в данном случае на (-1).
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #8 - 04. Мая 2007 :: 06:06
Печать  
Может это проще сделать на этапе формирования ТЗ?
  
Наверх
ICQ  
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #9 - 04. Мая 2007 :: 06:37
Печать  
ИДЕЯ (не проверял пока Подмигивание)

Таблица Тестовая, Колонка "ДляПреобразования" со значениями "1, 2, 3, 4, 5"

Используем запрос SQL из OLEDB к примеру

Код
Выбрать все
сз = создатьОбъект("СписокЗначений");
Тестовая.Выгрузить(сз, "ДляПреобразования");
tempTable = "";
Команда.УложитьСписокОбъектов(сз, tempTable);

ТекстЗапрос = "
|SELECT Val*(-1) as ДляПреобразования  from "+tempTable+"
";
тзВременная = Команда.ВыполнитьИнструкцию(ТекстЗапрос);
тзВременная.Выгрузить(сз,"ДляПреобразования");

Тестовая.Заполнить(сз,,,"ДляПреобразования");

 



Может конечно и не взлететь..... Подмигивание
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #10 - 04. Мая 2007 :: 06:40
Печать  
desty писал(а) 04. Мая 2007 :: 06:37:
ИДЕЯ (не проверял пока Подмигивание)

Таблица Тестовая, Колонка "ДляПреобразования" со значениями "1, 2, 3, 4, 5"

Используем запрос SQL из OLEDB к примеру

Код
Выбрать все
сз = создатьОбъект("СписокЗначений");
Тестовая.Выгрузить(сз, "ДляПреобразования");
tempTable = "";
Команда.УложитьСписокОбъектов(сз, tempTable);

ТекстЗапрос = "
|SELECT Val*(-1) as ДляПреобразования  from "+tempTable+"
";
тзВременная = Команда.ВыполнитьИнструкцию(ТекстЗапрос);
тзВременная.Выгрузить(сз,"ДляПреобразования");

Тестовая.Заполнить(сз,,,"ДляПреобразования");

 



Может конечно и не взлететь..... Подмигивание



Вообще-то в справке:
Синтаксис: УложитьСписокОбъектов(Объект, ИмяТабл, ВидСпр)

Параметры:
Объект - тип: Справочник/Документ/СписокЗначений (содержащий элементы типа Справочник, Документ). Объект, который необходимо уложить во временную таблицу.
  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #11 - 04. Мая 2007 :: 06:50
Печать  
(dimm73) думаю самый "правильный" ответ тут будет - НЕТ Подмигивание

скорее всего даже если что нить и придумаешь - то перебор наверняка будет работать быстрее...
  
Наверх
wwwICQ  
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #12 - 04. Мая 2007 :: 06:53
Печать  
noprogrammer писал(а) 04. Мая 2007 :: 06:50:
(dimm73) думаю самый "правильный" ответ тут будет - НЕТ Подмигивание

скорее всего даже если что нить и придумаешь - то перебор наверняка будет работать быстрее...


точно.... запрос долго, да и не взлетает по нормальному... а других способом наложить формулу на колонку кроме как запросом, по моему нет (хотя и запрос - это в принципе тоже перебор)

... и еще... запрос и не должен был взлететь так как -
Цитата:
Синтаксис: УложитьСписокОбъектов(Объект, ИмяТабл, ВидСпр)

Параметры:
Объект - тип: Справочник/Документ/СписокЗначений (содержащий элементы типа Справочник, Документ)


То есть Числа уложить нельзя....
  
Наверх
 
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #13 - 04. Мая 2007 :: 06:59
Печать  
Chieftain писал(а) 04. Мая 2007 :: 06:40:
Вообще-то в справке:
Синтаксис: УложитьСписокОбъектов(Объект, ИмяТабл, ВидСпр)

Параметры:
Объект - тип: Справочник/Документ/СписокЗначений (содержащий элементы типа Справочник, Документ). Объект, который необходимо уложить во временную таблицу.


Это я уже заметил... но идея была хороша  Подмигивание
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Можно ли изменить значение колонки ТЗ не переб
Ответ #14 - 04. Мая 2007 :: 07:25
Печать  
полуофф:
что бы уложить не только значения ссылочных типов, но и простых типов тоже:
http://www.1cpp.ru/forum/YaBB.pl?num=1170322440/7#7
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать