Имя: Пароль:
1C
1С v8
Поменять имя колонки в ТаблицеЗначений 82
0 Patrio_
O_Muerte
 
27.07.11
14:21
Собсно сабж - не пойму как изменить имя колонки.
1 zak555
 
27.07.11
14:24
2 Ненавижу 1С
 
гуру
27.07.11
14:27
(0) а зачем?
3 spiteful41
 
27.07.11
14:34
Процедура ПереименоватьКолонкуТаблицыЗначений(ТабЗначений, ТабИмен, Знач ТекИмяКолонки, Знач НовоеИмяКолонки = "") Экспорт

   Если ТабИмен = Неопределено Тогда
       ТабИмен = Новый ТаблицаЗначений;
       ТабИмен.Колонки.Добавить("НовИмя", Новый ОписаниеТипов("Строка"));
       ТабИмен.Колонки.Добавить("ТекИмя",   Новый ОписаниеТипов("Строка"));
   КонецЕсли;
   
   ТекКолонка = ТабЗначений.Колонки.Найти(ТекИмяКолонки);
   Если ПустаяСтрока(НовоеИмяКолонки) Тогда
       // Генерируем новое имя для старой колонки, гарантируя что оно будет уникальным
       Индекс = 1;
       Пока Истина Цикл
           НовоеИмяКолонки = "_" + Строка(Индекс) + "_" + ТекИмяКолонки;
           Если ТабЗначений.Колонки.Найти(НовоеИмяКолонки) = Неопределено Тогда
               Прервать;
           КонецЕсли;
           Индекс = Индекс + 1;
       КонецЦикла;
       // После выхода из цикла в переменной НовоеИмяКолонки должны получить новое имя колонки,
   КонецЕсли;
   
   // Переименуем колонку
   ТабЗначений.Колонки[ТекИмяКолонки].Имя = НовоеИмяКолонки;
   
   // Сохраним имя колонки в таб. имен
   НоваяСтрока = ТабИмен.Добавить();
   НоваяСтрока.НовИмя = НовоеИмяКолонки;
   НоваяСтрока.ТекИмя = ТекИмяКолонки;

КонецПроцедуры // ПереименоватьКолонкуТаблицыЗначений()
4 Patrio_
O_Muerte
 
27.07.11
14:45
(1)Ты меня уничтожил :)
(2)Выгрузил результат запроса по остаткам на регистре, и загружаю его в документ "Корректировка записей регистров накопления", имя колонки из результата запроса называется "*Остаток", а имя на регистре "*".
Треба правильное имя.
(3)Благодарю    
ТабЗначений.Колонки[ТекИмяКолонки].Имя = НовоеИмяКолонки;
Этого бы хватило.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.