Имя: Пароль:
1C
1С v8
Обработка нажатия кнопок в табличном поле
0 supervk
 
25.05.13
13:30
Есть необходимость обрабатывать нажатие кнопок в некоторых ячейках табличного поля.
В частности: для быстрого проставления значений в ячейки табеля без перехода в режим редактирования.

Как это сделать?

Сейчас в голову приходит только добавить контекстное меню, где прописать все требуемые кнопки в качестве горячих.
Не устраивает тем, что:
1) в некоторых ячейках может быть произвольные значения букв, а это значит, что придётся прописывать почти всю клавиатуру.
2) надо обрабатывать не во всех ячейках (например, в Физ.лице, надо оставить стандартный ввод).
1 mistеr
 
25.05.13
15:03
>без перехода в режим редактирования.

У колонки РежимРедактирования = ВходПриВводе
2 kosts
 
25.05.13
19:08
>может быть произвольные значения букв

Запрограммируй самые частые сочетания клавиш
ctrl+В - выходной
ctrl+8 - 8 часов
и т.д.
нажал сочетание в ячейке появилось значение и курсор сразу прыгнул на следующую ячейку.

Остальные введут обычным способом
3 mistеr
 
25.05.13
19:20
(2) Это не подходит, если нужно вводить два или три вида времени.
4 kosts
 
25.05.13
19:52
(3) Можно пробовать придумывать что-то поудобнее если будет больше деталей. Например, можно открывать доп таблицу (или ниже показывать), где каждый вид времени будет в отдельной строке.
5 supervk
 
26.05.13
03:04
(1) mister >  колонки РежимРедактирования = ВходПриВводе

Возникают проблемы с перемещением между ячейками вверх-вниз. Чтобы пользователь мог на весь день проставить всем 8. Например, заполняет на сегодня табель: стрелочкой пробежал вниз и у кого рабочий день, тому нажал "8" в ячейке. В таком варианте приходится предварительно снимать с редактирования.

(2) kost > Запрограммируй самые частые сочетания клавиш
Так и сделано сейчас, но в этом не устраивает:

1) в некоторых ячейках может быть произвольные значения букв, а это значит, что придётся прописывать почти всю клавиатуру.
2) надо обрабатывать не во всех ячейках (например, в Физ.лице, надо оставить стандартный ввод).

(3) kost > Это не подходит, если нужно вводить два или три вида времени.
Будет одно время, но его вариантов много (я4, я5, я6, я7, от, оз, и т.д.)
6 supervk
 
26.05.13
03:05
Так что с отлавливанием нажатия кнопок? Никак?
7 supervk
 
26.05.13
03:47
Решил задачу через установку

РежимРедактирования = Непосредственно

+ обработка клавиш Влево-Вправо (через горячие клавиши контекстного меню) для перемещения между ячейками.
8 Ork
 
26.05.13
09:53
(6) Пока такую простейшую фигню 1С никак ни осилит. Уже и от привязки движений от даты документа отошли, и вроде как в проводках необязательно корреспонденция балансовых счетов. А перехват кнопок - непосильная для них задача (((.
9 mistеr
 
26.05.13
10:37
(5) Графики не прижились у вас?
10 kosts
 
26.05.13
11:36
(8) Не понятно, что у тебя не получается.
Стандартным способом можно перехватить кучу сочетаний, плюс нестандартным способом еще кучу.

Вот тут глянь
http://infostart.ru/public/22214/?order=comments&bxajaxid=717b31b489e278c0653636c3dd935160

(9) +1. И еще благодаря заранее введенным кадровым документам в табеле проставляются отклонения. Останется ввести рабочее время. Аналогично еще

Еще можно запрограммировать на протягивание мышкой значений на соседние.
11 Torquader
 
26.05.13
11:59
Вопрос - а если мы разрешаем множественное выделение строк ?
Тогда вверху ваши кнопки с указанием того времени, которое нужно заполнить.
Пользователю остаётся выделить нужные строки и нажать на одну из кнопок (кнопки можно продублировать в выпадающем меню).
По-мойму, будет удобно и просто в реализации.
12 supervk
 
27.05.13
02:33
(9) Графики для ряда должностей ведутся, табелем
1) вводим отклонения
2) вводим _очень_ плавающие графики (ну т.е. не графики а фактическую выработку)

Табель нужен прежде всего для управленческого учёта и управленческой зарплаты, которая считается тупо по табелю. Никаких специальных документов не ведётся и не требуется вести, табель проставлять проще и удобнее. Вводят его начальники смен/подразделений/отделов, т.е. люди слабо понимающие 1С, которым нужен простой понятный и удобный инструмент регистрации рабочего времени.

Опыт показал, что им самое простые два варианта:
1) сделать заполнение по графику, а дальше курсором с клавиатуры пробежаться по ячейкам и проставить невыходы/переработки
2) каждый день проставлять часы/состояния работников пробежав по столбцу дня курсором с клавиатуры
13 supervk
 
27.05.13
04:57
Да, и спасибо всем за участие, вы мне помогли.
:-)