Имя: Пароль:
1C
1С v8
V8: Ввод данных в табличном поле.
,
0 SpellKeeper
 
01.12.11
14:34
В табличной части документа есть поле, в котором должны вводиться данные двух типов: дата и число. Для типа число возможно разное количество знаков после запятой в зависимости от значения еще одного реквизита с строке ТЧ. Заказчик хочет, чтобы числа так и отображались, если один знак - то только одна цифра, если два знака - то две цифры.
Проблема в том, что не получается реализовать такой формат.
Если, например определить тип поля как составной, то числа будут выводиться только максимальной разрадности после запятой.
Если определеить тип как строка и в ячейке указывать маску, то при начале редактирования маска переформатирует строку под себя и получается, что в поле видим "3.0", а в режиме редактирования вылезает "3     .0 "
Думал даже подменить поле ввода своим. Но не получается посчитать ширину и позицию элемента формы в пикселях, чтобы подставить его в нужную ячейку.
Вот такая заморочка. Может кто чего умного подскажет?
1 Buster007
 
01.12.11
14:37
81?
2 SpellKeeper
 
01.12.11
14:38
не понял?
3 Buster007
 
01.12.11
14:38
платформа 8.1?
4 SpellKeeper
 
01.12.11
14:39
8.2
5 Buster007
 
01.12.11
14:39
хотя не ) лучше по-другому ) УФ или не УФ?)
6 SpellKeeper
 
01.12.11
14:39
нет. обычная форма.
7 Defender aka LINN
 
01.12.11
14:42
Связь по типу используй. Правда, придется, скорее всего, показывать не таб. часть на форме, а специальную ТЗ с добавленной колонкой для типа значения, и синхронизировать ее с ТЧ при открытии и перед записью.
8 Buster007
 
01.12.11
14:44
ставишь тип Значения у колонки с числом максимальный, и ПриВыводеСтроки можно через ОформлениеСтроки воспользоваться методом УстановитьТекст, в котором и будешь подставлять 0 или убирать их, в зависимости от твоей специальной колонки.
9 Buster007
 
01.12.11
14:45
+(8) или я не понял, что ты хочешь...
10 SpellKeeper
 
01.12.11
14:53
Девендеру.
Можно поподробнее?
По-моему получится то же самое, но вид сбоку. Там же в каждой строке по сути свой тип должен быть (например, число 10.2 или число 10.4). А в колонке он определяется только один раз, и при вводе данных получается, что формат будет только 10.4.

Бустеру.
Это не совсем то, что надо.
Этот метод подходит только для отображения данных. А мне еще в этом формате данные вводить надо. А когда переходишь в режим редактирования, формат выставляется либо по параметрам типа данных, либо по маске, если она есть.
По сути мне нужен новый элемент формы, который позволял бы вводить числа разной разрядности. Но сделать его средствами 1С не выходит.
11 Mort
 
01.12.11
14:58
Попробуй при выводе рисовать что надо, а при редактировании устанавливать ограничение типа с нужным классификатором числа.
12 SpellKeeper
 
01.12.11
15:06
Да. Получилось.
1. При выводе строки в текст ячейки пишем строку по нужному формату.
2. При начале редактирования устанавливаем ограничение типа.
Спасибо!