Имя: Пароль:
1C
1С v8
Как изменить ТипЗначения колонки в ТаблицеЗначений ?
,
0 Boudybuilder
 
24.03.12
15:55
Нужно выгрузить колонки из таблицы значений в ТабличнуюЧасть.
Но не загружаются колонки которые имеют Тип Число в ТЧ.
Что делать?
1 le_
 
24.03.12
15:59
>Что делать?

Пойти на курсы.
2 Boudybuilder
 
25.03.12
16:08
(1) Ценный ответ в даной ситуации.
3 zak555
 
25.03.12
16:47
4 Boudybuilder
 
25.03.12
17:29
(3) буду смотреть подойдет ли.

Но хочу поподробнее описать свою проблему , и жду совета с вашей стороны. Все ли логически правильно у меня.

Сделал обработку для себя для установки соответствий номенклатуры в реистре НоменклатураКонтрагентов и заполнение ТЧ дока УстановкаЦенНоменклатурыКонтрагентов.

Работа такова : 1)Из екселя читаю в Таб Поле с типом Таблица значений.
               2)В ТЗ смотрю где что , и выставляю соответствия (Колонка2 - НоменклатураКонтрагента, Колонка3 - Цена, Колонка4 - Код);
               3)Дальше передаю из ТЗ в ТабЧасть с предустановленными реквизитами (НоменклатураКонтрагента - Строка , Цена - Число , Код - Строка)

Так вот , все что строки - передаются , а где число - то нет!
5 Boudybuilder
 
25.03.12
22:14
Есть соображения?
6 andrewks
 
25.03.12
22:34
число, поди, строка?
7 Boudybuilder
 
25.03.12
22:54
(6) ну да
8 Boudybuilder
 
25.03.12
22:54
Как быть в этой ситуации?
9 Deon
 
25.03.12
23:00
Чё-то ты паришь, нормально всё должно передаваться. Код показывай
10 Мимохожий Однако
 
25.03.12
23:31
Иногда мешает отображение числа с пробелами в Excel. В этом случае помогает преобразование строки с пробелами в строку без пробелов, а потом в число.
11 Boudybuilder
 
26.03.12
01:51
Проблема еще и в том что код загружает с пробелом 00000  как 00 000 . Мне такое не нужно.
Как с этим бороться?
12 Boudybuilder
 
26.03.12
01:52
Загружаю в ТЗ так :







   МассивКолонок = arr.Выгрузить();
   колКол = МассивКолонок.ВГраница();
   колСтр = МассивКолонок.Получить(0).Количество();
   //
   ТабПоле.Колонки.Добавить("ПН", ,"ПН").Ширина=5;  //Добавим новый столбец номер строки
   Для кол = 0 По колКол Цикл
       назКолМК = "Колонка"+(кол+2);    //Сообщить("наз "+имяКолМК);
       имяКолМК = назКолМК;              //Сообщить("имя "+имяКолМК);
       ТабПоле.Колонки.Добавить(назКолМК, ,имяКолМК).Ширина=20;  //имя-колонка1, шапка-КолИмя
   КонецЦикла;
   //
   ЭлементыФормы.ТабПоле.СоздатьКолонки();
   //Вставляем необходимое колличество колонок строк в ТабПоле
   Для новСтрока = 1 По колСтр Цикл
       новСтр = ТабПоле.Добавить();
       номСтр = ТабПоле.Индекс(новСтр);
       новСтр.Установить(0,номСтр+1);
   КонецЦикла;
   //Заполняем ТЗ
       столбец =1;
       Для Каждого Колонка Из МассивКолонок Цикл
           СтолбецИмя = ТабПоле.Колонки.Получить(столбец).Имя; //Сообщить("-"+СтолбецИмя);
           ТабПоле.ЗагрузитьКолонку(Колонка,СтолбецИмя);//табельный номер
           столбец =столбец+1;
       КонецЦикла;
13 FIXXXL
 
26.03.12
07:18
(11) Символы.НПП убирай перед загрузкой
14 Мимохожий Однако
 
26.03.12
08:02
(11)Где-то как-то так...

Функция ВернутьСтрокуБезПробелов(ИсходнаяСтрока)
   СтрокаПроверки = СокрЛП(ИсходнаяСтрока);
   НоваяСтрока = "";
   Для а = 1 По СтрДлина(СтрокаПроверки) Цикл
       НоваяСтрока = НоваяСтрока + СокрЛП(Сред(СтрокаПроверки,а,1));
   КонецЦикла;
   Возврат НоваяСтрока;
КонецФункции
15 andrewks
 
26.03.12
08:27
(14) жесть жестяная
16 Мимохожий Однако
 
26.03.12
08:32
(15)Ма-са-ло..)))
17 Fish
 
26.03.12
08:35
(14) Ужас :))
18 vmv
 
26.03.12
08:37
+(14) ОбщегоНазанчекния.ПреобразоватьВЧисло(КакаяТоХреньИзЭкселВродеЧисло)
19 Мимохожий Однако
 
26.03.12
08:54
(18)Не спорю...Ты гарантируешь, что есть эта функция в одинаковых модулях во всех конфигурациях? Автор конфигурацию не указал.
20 Omskdizel
 
26.03.12
09:06
(19) Какая проблема выдернуть ее из типовой?
21 Omskdizel
 
26.03.12
09:08
Первую попавшуюся конфу взял, там есть следующее


//функция выполняет приведение строки к числу
// Параметры:
//  ЧислоСтрокой           - Строка - Строка приводимая к числу
//  ВозвращатьНеопределено - Булево - Если Истина и строка содержит некорректное значение, то возвращать Неопределено
//
// Возвращаемое значение:
//  Число
//
Функция ПривестиСтрокуКЧислу(ЧислоСтрокой, ВозвращатьНеопределено = Ложь) Экспорт
   
   ОписаниеТипаЧисла = Новый ОписаниеТипов("Число");
   ЗначениеЧисла = ОписаниеТипаЧисла.ПривестиЗначение(ЧислоСтрокой);
   
   Если ВозвращатьНеопределено И (ЗначениеЧисла = 0) Тогда
       
       Стр = Строка(ЧислоСтрокой);
       Если Стр = "" Тогда
           Возврат Неопределено;
       КонецЕсли;
       
       Стр = СтрЗаменить(СокрЛП(Стр), "0", "");
       Если (Стр <> "") И (Стр <> ".") И (Стр <> ",") Тогда
           Возврат Неопределено;
       КонецЕсли;
   КонецЕсли;
   
   Возврат ЗначениеЧисла;    
   
КонецФункции
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.