Имя: Пароль:
1C
1С v8
Упр. Форма. Задать строку программно.
0 log
 
20.10.11
09:43
В ТЧ при Активизации ячейки пытаюсь ввести программно повторяющуюся часть артикула для более быстрого поиска номенклатуры, но ни чего не получилось. Неужели такой возможности нет?
1 log
 
20.10.11
09:52
ап1
2 ДенисЧ
 
20.10.11
09:52
странная хотелка...
3 Phace
 
20.10.11
09:53
// В ТЧ при Активизации ячейки пытаюсь ввести программно повторяющуюся часть артикула для более быстрого поиска номенклатуры

переведи!
4 log
 
20.10.11
09:59
(3)  в процедуре события ТоварыПриАктивизацииЯчейки(Элемент)
Элементы.Товары.ТекущийЭлемент.ТекстРедактирования = "М "
но к сожалению это св-во только для чтения, как-то так
5 Ranger_83
 
20.10.11
10:00
попробуй в обработчике ввода текста
6 log
 
20.10.11
10:00
(2) чего странного, если первые два символа артикула одинаковые и их забивать каждый раз по меньшей мере не эффективно
7 Phace
 
20.10.11
10:01
(4) А чего добиться то хочешь, за пользователя программно часть текста ввести? Так может проще ему перед вводом текста Ф4 нажать.
8 log
 
20.10.11
10:04
(5) не нашел такого, подскажи в чьих св-вах. искать?
(7) ага, там список с артикулами, еще сложнее искать по f4 будет
9 Phace
 
20.10.11
10:06
(8) зато там работает поиск по подстроке, и никакие первые символы вводить не надо.
10 log
 
20.10.11
10:07
(7) точнее на бумаге список артикулов с кол-вом, его надо заносить в ТЧ
11 log
 
20.10.11
10:08
(9) знаю, но не катит, им быстрее будет забивать весь артикул, чем пользоваться им
12 Ranger_83
 
20.10.11
10:09
Обработчик Автоподбор в поле ввода
13 log
 
20.10.11
10:14
(12) тык он срабатывает только когда что-то туда уже ввели, а не при пустом поле
14 Ranger_83
 
20.10.11
10:17
(13)Ептель,пусть нажимают пробел,а ты уж подставляй что надо
15 Defender aka LINN
 
20.10.11
10:21
Ну пусть пользователь вводит строку, а ты обработчик напиши, который будет искать по вхождению, делов-то.
З.Ы. Ну или может тогда взять и отпилить эти символы вообще, нафиг они нужны, если везде одинаковые?
16 regniws
 
20.10.11
10:39
(15) если распределенка, то отпиливать будет сложно. Поиск по подстроке - медленное зло.

(0) добавь новый реквизит в номенклатуру (или че там ищут), который будет содержать артикул без префикса (ПередЗаписью  - наше всё), поставь на реквизит индекс и укажи этот реквизит в качестве доступного для ввода по строке. Это самый простой и эффективный способ, но возможно непонятный для пользователей, ибо не будет содержать префикса при вводе (поэтому лично мне  - не нравится).

Можно еще руками добавить новую колонку в таблицу, которой поставить Маску с соответствующим префиксом и полностью переопределить поведение этого поля, типа это ссылка на номенклатуру (через ображение к ПолучитьДанныеВыбора), но работать с этим полем не очень-то и удобно (жмакаем "Добавить" строка с префиксом сразу появляется, но текстовка выделена, нужно мышкой или клавишами тыкать, что явно не круто). А можно еще переопределить добавление строки, чтобы префикс сразу содержался, но тоже не сверх удобно. Поэтому самое просто и меньшее из зол то, что указал выше: писать артикул без префикса в реквизит.
17 Defender aka LINN
 
20.10.11
10:41
(16) "Поиск по подстроке - медленное зло." - угу. А вообщ по строке в поле ввода - это что-то другое, да?
18 Defender aka LINN
 
20.10.11
10:41
*вообщ = поиск.
Нефигово так промазал :)
19 regniws
 
20.10.11
10:43
(17) поиск по подстроке - не пользует индексы на всю катушку, особенно если поиск вида "%...%", если еще хотя бы с ограничением по количеству первых букв, то СУБД будет чуть-чуть легче, но все равно - зло. Поиск по строки ищет по первым буквам и поэтому индекс раскручивается на 100% и в профайлере записей "table scan" вы не увидите, опротив поиску по подстроке.
20 Ranger_83
 
20.10.11
10:46
(19)Если поиск по подстроке придуман,значит это кому-нибудь нужно?
21 Defender aka LINN
 
20.10.11
10:47
(19) Ну, это уже проблемы индейцев aka автора :)
22 regniws
 
20.10.11
10:49
(20) да, например, в небольших справочника (1К записей), когда СУБД даже не работает с блокировками на уровне записей, и таблица помещается в память - вполне работает, но это ж не значит, что если у вас есть стеклянный х*й, то его нужно разбить себе о лоб

(21) человек спросил совета, не надо ему советовать заведомо ущербные решения.
23 log
 
20.10.11
10:52
спасибо, будем думать
24 Ranger_83
 
20.10.11
10:55
(22)Порезаться :)
25 regniws
 
20.10.11
11:00
(23) кстати, соврал я про маску. Это получается очень эффективно!
Если маску сделать вида "ММ        ", где "ММ" буквы твоего префикса и пробелы соответствуют длинам артикулов, то получается как:
- добавляется строка
- текст редактирования становится равен маске "ММ      "
- пользователь начинает ввод цифр и текст редактирования становится "ММ123", уже без пробелов и буквы не стираются, в этот моменты ты как раз можешь обработать АвтоПодбор и показать ему список.

Мне нра. Единственное, нужно аккуратно обработать все механизмы работы со стандартным ссылочным полем (очистка, f4 и тд)
26 palpetrovich
 
20.10.11
12:04
(25) интересно, пробую - не получается :/  
почему-то воле ввода с маской  "ММ        " вообще не хочет редактироваться
27 palpetrovich
 
20.10.11
12:08
+(26)хм, странно, маска "МNNNNNNNNN" - сработала, а "М#########" - почему-то не хочет
28 regniws
 
20.10.11
14:48
(26) а платформа какая?
29 palpetrovich
 
20.10.11
15:13
(28) 8.2.13.219
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.