Регистрация Правила Главная форума Поиск |
0
- 02.12.2014 - 12:31
|
Здравствуйте! Подскажите, как из строк сделать столбцы таблицы значений | |
1
- 02.12.2014 - 12:38
|
ТЗ = СоздатьОбъект("ТаблицаЗначений"); Сч = 0; Пока Спр.ПолучитьЭлемент() = 1 Цикл сч = сч + 1; ТЗ.НоваяКолонка("Колонка" + сч + "_" + СтрЗаменить(Спр.Наименование," ",""),,,,Спр.Наименование); КонецЦикла; | |
2
- 02.12.2014 - 12:46
| Универсально: запросом. Выбираем строки по какому-то фильтру, указываем интересующие поля, результат выборки скидываем в ТЗ. | |
3
- 02.12.2014 - 12:52
|
тз1 - донор тз2 - перевёртыш Для сч1 = 1 по тз1.КоличествоСтрок() Цикл тз2.НоваяКолонка("Колонка_"+сч1); Для сч2 = 1 по тз1.КоличествоКолонок() Цикл Значение = тз1.ПолучитьЗначение(сч1,сч2); Если сч1 = 1 Тогда тз2.НоваяСтрока(); КонецЕсли; тз2.УстановитьЗначение(сч2,сч1,Значение); КонецЦикла; КонецЦикла; | |
4
- 02.12.2014 - 12:54
| первый вариант не работает | |
5
- 02.12.2014 - 13:08
|
4-amv > только если наименования эелементов содержат недопустимые символы. удалить это + "_" + СтрЗаменить(Спр.Наименование," ","") | |
6
- 02.12.2014 - 13:26
| 1-Зелёный тролль > а с чего ты взял, что у него семерка? | |
7
- 02.12.2014 - 13:57
|
во, вспомнил молодость //******************************************* Процедура Сформировать() Спр = СоздатьОбъект("Справочник.Валюты"); Спр.ВыбратьЭлементы(); Сч = 0; ТЗ.НоваяКолонка("Колонка0",,,,"Реквизит"); Пока Спр.ПолучитьЭлемент() = 1 Цикл сч = сч + 1; ТЗ.НоваяКолонка("Колонка" + сч,,,,Спр.Наименование); Если сч = 1 Тогда тз.НоваяСтрока(); тз.УстановитьЗначение(1,сч,"Код"); тз.НоваяСтрока(); тз.УстановитьЗначение(2,сч,"Наименование"); Для сч2 = 1 по Метаданные.Справочник("Валюты").Реквизит() Цикл тз.НоваяСтрока(); тз.УстановитьЗначение(сч2+2,сч,Метаданные.Справочн ик("Валюты").Реквизит(сч2)); КонецЦикла; КонецЕсли; тз.УстановитьЗначение(1,сч+1,Спр.Код); тз.УстановитьЗначение(2,сч+1,Спр.Наименование); Для сч2 = 1 по Метаданные.Справочник("Валюты").Реквизит() Цикл Если Метаданные.Справочник("Валюты").Реквизит(сч2).Пери одический = 0 Тогда тз.УстановитьЗначение(сч2+2,сч+1,Спр.ПолучитьАтриб ут(Метаданные.Справочник("Валюты").Реквизит(сч2))) ; Иначе НаДату = РабочаяДата(); Периодический = СоздатьОбъект("Периодический"); Если Периодический.ИспользоватьОбъект(Метаданные.Справо чник("Валюты").Реквизит(сч2),Спр.ТекущийЭлемент()) = 1 Тогда тз.УстановитьЗначение(сч2+2,сч+1,Периодический.Зна чениеНаДату(НаДату)); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры 6-Uho > а почему нет? к 8ке сам пусть адаптирует | |
8
- 02.12.2014 - 14:16
| надеюсь, справочник не Контрагенты | |
9
- 02.12.2014 - 14:18
| 8-Дебилы > Договоры наверно :-)) | |
| Интернет-форум Краснодарского края и Краснодара |