Имя: Пароль:
1C
1С v8
Табличное поле: Как оставить ячейку в режиме редактирования?
0 Zhuravlik
 
22.04.13
10:37
Добрый день. Платформа  - 8.1. Хочу, чтобы в табличном поле, если пользователь ввел неверное текстовое значение в ячейку, та оставалась в режиме редактирования, аналогично вводу даты. Т.е. если значение ячейки имеет тип "Дата", и ввести что-то типа "01.01" и нажать ентер, то программа сохранить не даст, и оставит ячейку в фокусе редактирования. Вот так же хочу сделать, только с текстом. Пробовал в ПередОкончаниемРедактирования вызывать метод табл. поля "ИзменитьСтроку()", но что-то не взлетело... В ПередОкончаниемРедактирования установка параметров "ОтменаРедактирования", или "Отказ" в Истина тоже нужного эффекта не дает. Подскажите пожалуйста, как можно решить?
1 Wobland
 
22.04.13
10:38
я бы как юзер руки разработчику б поотрывал за такое
2 Zhuravlik
 
22.04.13
10:39
(1) Почему? Как-раз наоборот, программа отслеживает ошибку, и не дает ввести неверное значение.
3 Wobland
 
22.04.13
10:40
+(1) если юзер хочет вводить фигню, надо ему эту возможность дать. пускай оно потом на меня матерится, а не на этапе ввода.
4 MSII
 
22.04.13
10:40
СодержитЗначение ну и тип значения. Формат редактирования еще.
5 butterbean
 
22.04.13
10:41
(0) для текста правильней было бы использовать список выбора или маску ввода
6 Wobland
 
22.04.13
10:41
кстати, если значение ячейки имеет тип "Дата", и ввести что-то типа "01.01" и нажать ентер, то платформа сама подсунет текущий год
7 MSII
 
22.04.13
10:41
Тьфу, блин, тут про табличное поле. (4) вычеркнуть.
8 НЕА123
 
22.04.13
10:42
ОкончаниеВводаТекста
?
9 Zhuravlik
 
22.04.13
10:43
(3) Я бы вообще сделал просто выбор из справочника, но попросили именно вводом кода. А по коду я нахожу элемент, и сопоставляю его с таблицей. Оч. не хочется делать всякие проверки "на дурака" при сохранении, или проведении, мне кажется проще и лучше на этапе ввода данных обрезать такие попытки.
10 Zhuravlik
 
22.04.13
10:44
(8) При ОкончаниеВводаТекста ячейка еще в фокусе. Там я флаг задаю, что нельзя этот фокус "отпускать", а вот как его НЕ "отпускать"?
11 Wobland
 
22.04.13
10:44
(9) НайтиПоКоду("всякая дрянь") спокойно вернёт тебе пустую ссылку
12 Zhuravlik
 
22.04.13
10:45
(11) Ну, это понятно. Я пойму, что надо оставлять ячейку в фокусе, только КАК ее в фокусе оставить?
13 Defender aka LINN
 
22.04.13
10:46
(9) Эта пять, ящетаю...
14 Wobland
 
22.04.13
10:47
(12) пустая ссылка - негодная ссылка? пустая ссылка юзеру ни о чём не скажет? пускай долбится, пока не получится? ;)
15 Zhuravlik
 
22.04.13
10:48
(14) Нет, я выдам сообщение, что код введен неверно, и он исправит.
16 Wobland
 
22.04.13
10:49
(15) ага, пусть долбится. я не знаю
17 Defender aka LINN
 
22.04.13
10:52
(15) Так а почему не сделать поле ссылкой и не поручить платформе это дело? Нахрена городить текстовое поле, по которому потом что-то искать?
18 Zhuravlik
 
22.04.13
10:52
(16) Там все коды известны. Он может случайно ошибиться при вводе значения, но в проводках не хотелось бы видеть пустые ссылки. Можно в регистре галку поставить, чтоб не проводил при пустых. Но кончится это тем, что меня будут зазванивать и просить разрулить не мою проблему. Оно надо? Пусть при вводе поймет в чем у него затык, чем я буду объяснять что "Вы скорее всего код ввели неверно, и сообщения не увидели".
19 Zhuravlik
 
22.04.13
10:55
(17) Потому что там есть своеобразная иерархия, все данные хранятся в одном справочнике, код - это не код элемента справочника, а реквизит. А код справочника - это 3 символа плюс дефис плюс код реквизита. Я при вводе смотрю введенный текст, формирую в зависимости от колонки код, и ищу по нему элемент.
20 Defender aka LINN
 
22.04.13
10:59
(19) И? В 1С можно спокойно и самому поиск по строке организовать, все необходимые события имеются
21 Zhuravlik
 
22.04.13
11:04
(20) Ну а я разве не это делаю?
22 Zhuravlik
 
22.04.13
11:05
Данные только водятся в текстовое поле, я по ним нахожу элемент справочника.
23 hhhh
 
22.04.13
11:24
(22) ну пусть вводит в поле справочника. Ввод по строке.
24 Zhuravlik
 
22.04.13
11:26
(20) Вы правы, с ссылкой гораздо лучше) Только как ограничить список выбора своими значениями (при полнотекстовом поиске)? Я в ПриОткрытии заполняю СписокВыбора для элемента управления колонки, но при поиске (при вводе в поле значения), программа видимо не этот список использует. Т.е. для колонки "Зона", у меня список значений с элементами "Зона", и представлением кода "Зона", а при вводе кода, он дает выбор по всему справочнику, надеюсь внятно обьяснил...
25 Zhuravlik
 
22.04.13
11:35
(24) Т.е. есть два элемента справочника. Код в реквизите у каждого "21". Но относятся к разным колонкам. К какой именно - определяю по значению перечисления в реквизите. И когда я ввожу в поле ввода "21" - мне программа предлагает на выбор один из них, а хотелось бы чтобы сразу выбрала нужный, тем более я знаю какой. Где это настраивается?
26 Defender aka LINN
 
22.04.13
11:36
(25) АвтоПодборТекста, ОкончаниеВводаТекста
27 Zhuravlik
 
22.04.13
11:39
(26) АвтоПодбор - это по-моему не то. Я смотрел в ОкончаниеВводаТекста, ну там есть мой список выбора, который я еще в ПриОТкрытии задавал, а где список найденных элементов? Чтобы его отфильтровать еще и по перечислению?
28 Zhuravlik
 
22.04.13
11:40
+ "Вызывается во время начала ожидания ввода текста" - у меня-то текст уже введен.
29 Defender aka LINN
 
22.04.13
11:49
(27) ВыбратьИзСписка
30 Zhuravlik
 
22.04.13
11:53
(29) В см. СтандартнаяОбработка  = Ложь?
31 Zhuravlik
 
22.04.13
11:57
(29) Вы имеете в виду самому сформировать список, и из него выбрать? А не проще было бы отфильтровать тот, который уже сформирован платформой?
32 Defender aka LINN
 
22.04.13
11:59
(31) Может и проще. Но к нему доступа нет.
33 Zhuravlik
 
22.04.13
12:04
А что так неважно со списками в 8? Как мне по представлению значение получить? Только перебором?
34 Zhuravlik
 
22.04.13
12:08
Нет, все-таки через текстовое поле лучше получается. Жаль, что по фокусу так и не определился как сделать, ну и бог с ним, буду выдавать сообщение, а при закрытии удалять строку.
35 Defender aka LINN
 
22.04.13
12:08
(33) Тоже аллергия на запросы?
36 Defender aka LINN
 
22.04.13
12:09
(34) Рукалицо...
37 Zhuravlik
 
22.04.13
12:10
(36) Лучше в 5 раз =)
38 Zhuravlik
 
22.04.13
12:12
Я сделал выбор из предопределенного списка, но когда ячейка в фокусе, представление дается либо кодом справочника лиюо наименованием, а тут - всегда цифры. Это лучше, им наименования не нужны, проще видеть "23", чем "23 - обивки задней правой части салона" или если по коду "Зона-23".