Имя: Пароль:
1C
1С v8
ТаблицаЗначений изменить РазрядностьДробнойЧасти
,
0 Om_Bun
 
30.11.11
11:57
Ситуация такая выгружаю запрос в Таблицу Значений обрабатываю и колонки и при обработке значения у меня меняются.
К примеру число 27.90189 меняется на 27,9019
Начал искать и нашел в Таблице Значений,  Колонки  КвалификаторыЧисла.РазрядностьДробнойЧасти = 4.

Как изменить КвалификаторыЧисла.РазрядностьДробнойЧасти ?

И еще вопрос как изменить чтобы вместо запятой он мне оставлял точку
Это меняется в Региональных установках информационной базы или можно только конкретно для данного примера
Спасибо
1 чувак
 
30.11.11
12:03
Код можно?
2 Om_Bun
 
30.11.11
12:12
ТекущаяСтрока.Установить(4,D);

где 4 индекс колонки куда устанавливается значение
D число  D = 27.90189
3 чувак
 
30.11.11
12:14
(2) Может в запросе это поле напишешь как

Выразить(ТвоеПоле Как Число(18,5))

?
4 lopus
 
30.11.11
12:15
А если описать поля тЗ и там указать указать нужный квалификатор числа.
5 Om_Bun
 
30.11.11
12:24
(4) вот и я хочу в полях ТЗ указать нужный квалификатор числа, тока как это сделать не знаю
6 Om_Bun
 
30.11.11
12:27
ТЗРезультат.Колонки.Число.ТипЗначения.КвалификаторыЧисла.РазрядностьДробнойЧасти = Нужная разрядность
НО нельзя так это получается логическая операция
7 чувак
 
30.11.11
12:29
КвалификаторыЧисла = Новый КвалификаторыЧисла(10, 5, ДопустимыйЗнак.Неотрицательный);

ОТ = Новый ОписаниеТипов(КвалификаторыЧисла);

ТаблицаЗначений.Колонки.Вставить("Примечание", РасширенныеДопустимыеТипы,ОТ);
8 catena
 
30.11.11
12:29
Я не поняла, а что мешает типизировать колонки ТЗ при создании?
9 чувак
 
30.11.11
12:33
(8) ТЗ у него формируется из запроса чрез Выгрузить(). Если так, тогда к (3)
10 palpetrovich
 
30.11.11
13:09
(9) дык, а после выгрузки определить не?
11 чувак
 
30.11.11
13:14
(10) Если это колонка новая, т.е в запросе нету этой колнки, тогда:

КвалификаторыЧисла = Новый КвалификаторыЧисла(10, 5, ДопустимыйЗнак.Неотрицательный);

ОТ = Новый ОписаниеТипов(КвалификаторыЧисла);

ТЗ.Колонки.Вставить("ТвоеПоле", ОТ);
12 чувак
 
30.11.11
13:14
т.е
ТЗ.Колонки.Добавить("ТвоеПоле", ОТ);
13 Om_Bun
 
30.11.11
13:17
В запросе через Выразить не получается выдает такую вот ошибку

Ошибка при вызове метода контекста (Выполнить)
   ТЗРезультат = Запрос.Выполнить().Выгрузить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
ERROR:  numeric field overflow
DETAIL:  A field with precision 8, scale 8 must round to an absolute value less than 1.
Делал так
Выразить(ТвоеПоле Как Число(8,8))

(11) в запросе есть эта колонка
14 Om_Bun
 
30.11.11
13:19
получилось Выразить(ТвоеПоле Как Число(18,8))
15 Om_Bun
 
30.11.11
13:23
(2)чувак спасибо сам не догнал :)
всем успехов
16 catena
 
30.11.11
14:16
(13)мх... ты ему выделяешь 8 символов, ИЗ НИХ 8 - после запятой. Вот он бедный и сломался на значении лесс зен 1.
Ошибка? Это не ошибка, это системная функция.