Имя: Пароль:
1C
1С v8
Нажатие Enter в табличном поле
0 Tateossian
 
23.07.16
13:19
Всем привет! Как сделать так, чтобы при редактировании табличного документа при нажатии кнопки Enter активная ячейка делала сдвиг вниз (как в Экселе)? По-умолчанию поведение - сдвиг вправо.
1 Горогуля
 
23.07.16
13:20
никак
2 Tateossian
 
23.07.16
13:21
(1) Спорим, я знаю как? Свою dll сделать, но это изврат, конечно.
3 nordbox
 
23.07.16
13:23
А чем стрелки не нравятся???
4 Tateossian
 
23.07.16
13:24
(3) У меня есть такой юзер, который сродни дракону - ему отвечать "Никак" не стоит ибо он будет на весь офис выступать, что в 21 веке айтишники не могут сделать сдвиг вниз по кнопке Enter, тупые 1С-ники. Понимаешь?

И ведь он прав на самом деле.

Стрелками неудобно.
5 Горогуля
 
23.07.16
13:26
(4) а для юзеров есть слово "дорого"
6 Tateossian
 
23.07.16
13:27
(5) В данном случае, скорее, "Долго".
7 jsmith
 
23.07.16
13:28
<<И ведь он прав на самом деле.
Нет, не прав. Когда программы были простые с нехитрой логикой, такие вопросы были уместны.
Раньше и конфигурации изучали, лазая по конфигуратору 7.7.
Сейчас время концепций поведения пользователя в системе. Не "сделайте как я хочу", а "веди себя как надо".
8 Tateossian
 
23.07.16
13:28
Короче просто это не сделать.

Я понял. Придется сказать, что "Долго" и предложить подождать.
9 jsmith
 
23.07.16
13:30
А нафига ему такой стайл энтера?
Редактирование все равно осуществляется по двойному клику.
Проще мышкой работать. А то - дабл клик, энтер, энтер, дабл клик. Чушь какая-то.
10 Tateossian
 
23.07.16
13:30
(7)
>>Не "сделайте как я хочу", а "веди себя как надо".
Есть вещи, которые в этот шаблон не попадают, а так верно, конечно. Это касается работы в программе в целом.

И да мне тоже не нравится, что по Энтеру курсор едет вправо. Меня это жутко бесит.
11 oslokot
 
23.07.16
13:32
(4) покажи ему интерфейс SAP :)
12 Горогуля
 
23.07.16
13:33
(9) ф2
13 Tateossian
 
23.07.16
13:33
(9) Не, у меня есть мегаизвратный документ, имитирующий эксель, там все круто работает, моя маленькая гордость, но вот есть вот такой маленький баг. Редактируется ячейка непосредственно. А мышкой работать очень неудобно и непроизводительно.
14 jsmith
 
23.07.16
13:35
(13) А почему отказались от выгрузки в эксель и загрузку из него?
15 Tateossian
 
23.07.16
13:35
(14) Потому что на терминальном сервере нет офисных программ.
16 nordbox
 
23.07.16
13:36
скажи своему юзеру пусть тогда екселем пользуется а не 1С
17 Tateossian
 
23.07.16
13:37
(16) Так он и так им пользуется, но руководство сказало "Надо в 1С делать планы". Все получилось в 1С, но вот, как сказал ранее, есть маленькая проблемка.
18 nordbox
 
23.07.16
13:37
+16 а если он такой умный пусть сам и пишет
19 RomanYS
 
23.07.16
13:39
ПриИзмененииСодержимогоОбласти тебе поможет
20 jsmith
 
23.07.16
13:41
А у меня получилось.
21 jsmith
 
23.07.16
13:41
&НаКлиенте
Процедура ТабличнаяЧасть1Реквизит2ПриИзменении(Элемент)
    
    Элементы.ТабличнаяЧасть1.ТекущаяСтрока = Элементы.ТабличнаяЧасть1.ТекущаяСтрока + 1;        
    
КонецПроцедуры
22 Tateossian
 
23.07.16
13:42
(21) Мужик, у тебя табличная часть, а не табличное поле.
23 jsmith
 
23.07.16
13:43
(22) Ужас. Чет я тупанул.
24 Tateossian
 
23.07.16
13:43
(19) Что там можно сделать? Я активно юзаю этот обработчик, но вот для переопределения поведения не могу придумать, как его использовать.

RC = R+1 C как то так, полагаю?
25 Tateossian
 
23.07.16
13:44
(23) Бывает, суббота)
26 PR
 
23.07.16
13:50
(0) НаправлениеПерехода
27 ColonelAp4u
 
23.07.16
13:51
а что если сделать кнопку убрать у нее видимость задать ей горячие клавиши enter  а в коде прописать следующее

Shell = Новый COMОбъект("WScript.Shell");
Shell.sendKeys("{DOWN}");
28 Tateossian
 
23.07.16
13:57
(27) Идея хорошая, только энтер не посадить на хоткей...
29 PR
 
23.07.16
13:58
(28) То есть (26) тебе не подходит? ok
30 Tateossian
 
23.07.16
13:59
(26) Где это волшебство?
31 Tateossian
 
23.07.16
14:00
(26) НАШЕЛ!!

Вот ведь знал, что есть простое решение это задачи. + тебе в карму, человечище.
32 PR
 
23.07.16
14:00
В настройке ТД, в самом низу свойств ТД
33 jsmith
 
23.07.16
14:03
Чето не вижу направление перехода
34 jsmith
 
23.07.16
14:03
Ни в реквизите формы, ни в элементе, ни в свойствах ячейки
35 PR
 
23.07.16
14:05
(34) В реквизите формы настройка, свойства не ячейки, а ТД
36 Tateossian
 
23.07.16
14:12
(33)

Я нашел в СП. И сделал вот так

    ДокументРезультат.ТолькоПросмотр = Истина;
    ДокументРезультат.НаправлениеПерехода = ТипНаправленияПереходаТабличногоДокумента.ПоСтрокам;

Работает!
37 Горогуля
 
23.07.16
14:13
а как связано редактирование с только просмотром?
38 PR
 
23.07.16
14:13
(36) Можно и так. Можно и в конфигураторе интерактивно поставить.
39 Tateossian
 
23.07.16
14:17
(37) Случайно две строки скопипастил.

Но если более глублоко, то это действиетельно лишняя строка, так как если в толькопросмотр стоит документ, то при нажатии на энтер вызвается обработка расшифровки.

В моем случае у набора ячеек отключена защита и только просмотр не влияет на поведение ячеек, которые надо заполнить.
40 Tateossian
 
23.07.16
14:18
Все, откланиваюсь, всем спасибо! Хорошей субботы!
41 Lama12
 
23.07.16
14:48
(6) Скорее ты не так считаеш. У меня выйдет дороже чем уволить этого сотрудника.
42 jsmith
 
23.07.16
14:55
А почему присваивание свойству ТекущаяОбласть не работает?
43 jsmith
 
23.07.16
14:56
В СП написано чтение и запись. Так не получается.
ТабДок.ТекущаяОбласть = ТабДок.Области("R1C1");
44 jsmith
 
23.07.16
14:57
Или Область. Не помню щас. С таб доками давно не работал.
45 Горогуля
 
23.07.16
15:00
(43) (1, 1)?
46 jsmith
 
23.07.16
15:00
(45) Да какая разница какой конструктор.
47 Горогуля
 
23.07.16
15:01
конструктор - это немного другое, если чо
48 jsmith
 
23.07.16
15:02
(47) Да, как раз хотел исправить оговорку.
49 jsmith
 
23.07.16
15:02
В общем, я использовал функцию получения области и получил ее. А установить не могу. Просто хотел для общего развития понять, возможно или нет.
50 RomanYS
 
23.07.16
15:06
(49) всё работает
ТД.ТекущаяОбласть = ТД.Область(10,10);
51 Горогуля
 
23.07.16
15:09
(49) у элемента формы выставляй
52 jsmith
 
23.07.16
15:25
(51) Спс.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший