Имя: Пароль:
1C
1С v8
Изменение типов значений в колонке таблицы значений
0 gufin
 
19.12.11
16:22
Всем доброго времени суток. У меня есть необходимость изменить в таблице значений строку на число в одной таблице значений. делаю я это следующим образом:

Функция ИзменитьТипы(ТаблицаДанныхДляОтчета)
   
   ТаблицаЗНЧ = Новый ТаблицаЗначений;
   ТаблицаЗНЧ.Колонки.Добавить("CustomerSurname", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Location", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Participantsfirstname", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Participantssurname", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("ServiceType", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Nameoftouroperator", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Continentoftheairportofdeparture", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Cityofdeparture", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Airportofdeparture");
   ТаблицаЗНЧ.Колонки.Добавить("Continentoftheairportofarrival", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Destinationcity", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Destinationairport", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("TicketNumber", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("ReissueTicketNumber", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Servicedescription1", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Hotel", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("LocationHotel", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Roomtype", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Departuredate", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Datefrom", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Dateto", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("VOR_NRSL", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("BFCreationdate", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Issued", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Refunded", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("FOP", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("InvoiceNumber", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("Invoiceamount", Новый ОписаниеТипов("Число"));
   ТаблицаЗНЧ.Колонки.Добавить("TRAVELGROUP", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("СOSTССO", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("СOSTDEP", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("EMPLOYEEID", Новый ОписаниеТипов("Строка"));
   ТаблицаЗНЧ.Колонки.Добавить("ФизЛицо", Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
   ТаблицаЗНЧ.Колонки.Добавить("Дирекция", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
   ТаблицаЗНЧ.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
       
   
   КоличествоКолонок = ТаблицаДанныхДляОтчета.Колонки.Количество();
   
   Пока КоличествоКолонок <> 0 Цикл
       Массив = ТаблицаДанныхДляОтчета.ВыгрузитьКолонку(ТаблицаДанныхДляОтчета.Колонки[КоличествоКолонок-1].Имя);
       Если ТаблицаДанныхДляОтчета.Колонки[КоличествоКолонок-1].Имя = "Invoiceamount" Тогда
           Для Каждого Элемент Из Массив Цикл
               ТаблицаЗНЧ.Добавить().Invoiceamount = Элемент;
           КонецЦикла;
       ИначеЕсли ТаблицаДанныхДляОтчета.Колонки[КоличествоКолонок-1].Имя <> "ФизЛицо" И ТаблицаДанныхДляОтчета.Колонки[КоличествоКолонок-1].Имя <> "Дирекция" И ТаблицаДанныхДляОтчета.Колонки[КоличествоКолонок-1].Имя <> "Подразделение" Тогда
           ТаблицаЗНЧ.ЗагрузитьКолонку(Массив, ТаблицаДанныхДляОтчета.Колонки[КоличествоКолонок-1].Имя);
       КонецЕсли;
       КоличествоКолонок = КоличествоКолонок - 1;
   КонецЦикла;
               
           
   Возврат ТаблицаЗНЧ;                    
           
КонецФункции

На выходе я получаю таблицу значений со столбцами заполненными до того столбца где я меняю тип значения, а в остальных столбцах либо пустая строка либо пустую ссылку. Почему так происходит ?
1 Галахад
 
гуру
19.12.11
16:31
А где тип меняется?
2 Defender aka LINN
 
19.12.11
16:34
(0) Жесть какая...