Имя: Пароль:
1C
1С v8
Табличная часть. Колонка "количество" с разным типом
,
0 AndreyBorovkov
 
27.12.13
15:32
Добрый день всем. Заранее благодарен за какую нибудь помощ в моем вопросе)

Стоит задача в тч документа в колонке количество для разных единиц измерения определять длину числа и количество знаков после запятой. Это вообще возможно каким то образом реализовать?
1 МойКодУныл
 
27.12.13
15:33
(0) ужс. Форматом только если.
2 Aswed
 
27.12.13
15:34
(0) Если ты имеешь ввиду на форме доступной для ввода то только вешай функцию на окончание ввода в вданнйо ячейке и проверяй.
3 AndreyBorovkov
 
27.12.13
15:35
Имеется ввиду что если ед.изм. - шт - тогда пользователь может ввести только целое число
4 AndreyBorovkov
 
27.12.13
15:36
(2)  А так что б нельзя было без проверок - физически вписать числа после запятой?
5 butterbean
 
27.12.13
15:37
ОграничениеТипа юзай
6 AndreyBorovkov
 
27.12.13
15:39
(5) О точно!! Спасибо ..
7 Aswed
 
27.12.13
15:46
(4) Только параметры для этого измерения. Но они одни для всех. Например Число 10.2
8 AndreyBorovkov
 
08.01.14
16:20
(7) (5)
Ограничение типа только для всей колонки работает.

Как же так сделать что б в каждой строке был свой тип???
9 AndreyBorovkov
 
08.01.14
16:27
Вообще это реально или нет? я уже сомневаюсь что такое поддерживает платформа...
10 Sasha_1CK
 
08.01.14
16:33
(9) ну можно в процедуре при изменении отменить стандартную обработку и запрашивать количество через "ввестичисло" - в нем задавая уже нужный формат.
конечно не самый айс - но в принципе ни сильно  кривее чем стандартный подбор
11 Sasha_1CK
 
08.01.14
16:35
(10) в принципе если настроить нормально перевод курсора дальше - что бы не тыкать лишний раз ентер или таб для ввода следующего реквизита - то может пользователи и не особо заметят разницу
12 AndreyBorovkov
 
08.01.14
16:49
(11) Спасибо !!!! это хороший вариант!))
13 AndreyBorovkov
 
08.01.14
17:14
(11)

Если использовать процедуру "при изменении" то окно ввода числа появляется после того как в поле уже вводится число.
Как можно его вывести при активации ячейки?
14 AndreyBorovkov
 
08.01.14
17:16
(11)
Та и вообще в ВедитеЧисло нельзя жестко ограничить тип числа(((
15 Sasha_1CK
 
08.01.14
17:17
(13) А переменной СтандартнаяОбработка присвоил Ложь?
16 Sasha_1CK
 
08.01.14
17:17
И это, я маленько засуетился - не "При изменении", а "При начале выбора"
17 Eugeneer
 
08.01.14
17:19
При записи дока встрой проверку по ТЧ. если где то левые числа - ругаться матерится.
Гарантированная проверка. есл иу кого руки из одного места - пусть учаться вбивать нормально.
18 AndreyBorovkov
 
08.01.14
17:20
(17) Так не подходит к сожелению((
19 Sasha_1CK
 
08.01.14
17:20
(14) В смысле?
ВвестиЧисло(<Число>, <Подсказка>, <Длина>, <Точность>)

Что ты понимаешь под жестким ограничением числа?
20 AndreyBorovkov
 
08.01.14
17:25
(19) Забираю свои слова назад) Перепутал немного сам..

А вот событие НачалоВыбора не срабатывает для количества вообще!!(((
21 Sasha_1CK
 
08.01.14
17:34
(20) ага есть такое - если не нажать ентер, а просто ввести число - то процедура не отрабатывает.

Но...
Есть хитрый реквизит "Режим выбора не заполненного" - если установить его "При активизации" - то вроде получается.
22 Sasha_1CK
 
08.01.14
17:34
В смысле настройка реквизита
23 Sasha_1CK
 
08.01.14
17:37
и это не забудь в процедуре после ввода числа присвоить его реквизиту ТЧ, а то стандартная обработка отключена и само по себе оно в ТЧ не попадет
24 Sasha_1CK
 
08.01.14
17:43
&НаКлиенте
Процедура ТоварыКоличествоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
    СтандартнаяОбработка = Ложь;
    Чис =0;
    ВВестиЧисло(Чис,,1,0);
    ТекущиеДанные.Количество = чис;
КонецПроцедуры

Как то так
25 AndreyBorovkov
 
08.01.14
17:44
Так а где Режим выбора не заполненного установить при активации?
26 Sasha_1CK
 
08.01.14
17:57
(25) в свойствах реквизита ищи. раздел характеристики
по умолчанию стоит - при нажатии ентер
27 AndreyBorovkov
 
08.01.14
18:02
Нашел но событие не срабатывает ни при Энтер ни при Активации
28 Sasha_1CK
 
08.01.14
18:03
у тебя уф или обычные формы?
29 Sasha_1CK
 
08.01.14
18:05
еще там есть галочка "Авто выбор незаполненного" у меня в УФ она стоит по умолчанию, а в обычных формах = не стоит - по идее ее тоже надо включить.
30 AndreyBorovkov
 
08.01.14
18:06
Обычные
31 Sasha_1CK
 
08.01.14
18:06
А саму процедуру НачалоВыбора  ты в свойствах реквизита прописал?
32 Sasha_1CK
 
08.01.14
18:07
или только в модуле написал?
33 Sasha_1CK
 
08.01.14
18:07
потому что при ентере то процедура должна точно срабатывать
34 AndreyBorovkov
 
08.01.14
18:09
Нет в процедуре) все равно не срабатывает, хоть и поставил галочку "Авто выбор незаполненного"(((
35 Eugeneer
 
08.01.14
18:10
(18) не подходит, но по факту это нужно будет сделать в любом случае!
Обработчики полей не спасают от того что каким то непостежимым тебе образом кто то умудрится сделать. Так что по факту только создание окончательного контроля может избежать ошибок.
36 Eugeneer
 
08.01.14
18:12
Не забываем что документы могут:
а) создаваться вручную из списка.
б) загружаться
в) ввод строк может происходить руками, подбором
Изменение может происходить групповыми обработками и еще кучей всякой фигни.

Ты просто замучаешся вешать везде обработчики.
Вы тут даже пропустили что еще и подбор есть.
37 AndreyBorovkov
 
08.01.14
18:16
(36)  Спасибо за помощь, скажите а как лучше получить количество знаков после запятой у числа?
38 AndreyBorovkov
 
08.01.14
18:16
(33) ТВ палитре свойств написано что событие срабатывает когда нажимается кнопка выбора, которой у количества нет((