|
![]() |
#1 |
Участник
|
![]()
Хочу добавить немного удобства при работе с табелем
![]() ![]() |
|
![]() |
#2 |
Участник
|
V principe podhod ne pravlinij, imho.
Код: if (poslednaja_stroka) { while PrevRecotrds where ... { PrevRecords.Num = 0; PrevRecords.update(); } } PS: nazhatie klavish navernoje mozhno poluchit tolko ispolzuja winapi, naveshiv Hook |
|
![]() |
#3 |
Участник
|
Вопрос в том как отловить что нажимают кнопку и нажимают именно с ctrl ?
|
|
![]() |
#4 |
Участник
|
Вообще, поддерживаю - подход не верен.
Но, чтоб обойтись без hook'ов- можно сделать что-то типа этого: Перекрыть метод textChange() на элементе грида, в который вводится этот ваш 0. В коде проверять что ввели, добавить всякие проверки, очистки и т.д., чтобы не ввели больше одной цифры, к примеру (в зависимости от вашей задачи). и если ввели 0, то вызывать процедуру. Код: this.text(); Код: this.text(""); Код: WinApi::isControlButtonDown |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от kashperuk
![]() Вообще, поддерживаю - подход не верен.
Но, чтоб обойтись без hook'ов- можно сделать что-то типа этого: Перекрыть метод textChange() на элементе грида, в который вводится этот ваш 0. В коде проверять что ввели, добавить всякие проверки, очистки и т.д., чтобы не ввели больше одной цифры, к примеру (в зависимости от вашей задачи). и если ввели 0, то вызывать процедуру. Код: this.text(); Код: this.text(""); Код: WinApi::isControlButtonDown |
|
![]() |
#6 |
Участник
|
Правильный подход - добавить кнопочку
Назвать, допустим. (утвердить строки) при нажатии вылазит диаложка небольшая - там Введите циферку. Вводим, нажимаем ОК, и у нас проставляются по всем строкам датасорса циферка эта. |
|
![]() |
#7 |
Участник
|
Да товарищи чувствую не раскрыл я полностью тему. В общем в табеле есть коды времен (больничные, сверхурочные ...) вся загвостка в том что когда табельщик вводит например часы в код больничных то часы в коде времени "факт отраб" остаются, а их надо убирать вручную. Вот я и хочу чтобы с нажатой ctrl нажать 8 - ку в больничном и автоматом проставились 0 во всех других введенных кодах времен. Так что наверно правильным подходом здесь неполучится. У кого какие есть варианты ?
|
|
![]() |
#8 |
Участник
|
можно попробовать перекрыть метод task() на форме, но нажатие ctrl там не отслеживается, зато отслеживается нажатие, например F10...
а вообще, на мой взгляд, лучше действительно добавить кнопку - если не утвердить, то например Обновить |
|
![]() |
#9 |
Участник
|
Vsje ravno ne-vizhu prichinu, pochemu nado vse delat ne-po-Axaptovski...
V Axapte est' metod-y: modified(), modifiedField(), update()/insert()... sootvetsvenno, znaja vse dannie i novie znachenija, mozno najti nuzhnie dannie, proverit i izmenit' vse chto-nuzhno... V Axapte skvoz'-i-splosh tak vse rabotaet... ![]() |
|
![]() |
#10 |
Участник
|
Цитата:
Сообщение от Delfins
![]() Vsje ravno ne-vizhu prichinu, pochemu nado vse delat ne-po-Axaptovski...
V Axapte est' metod-y: modified(), modifiedField(), update()/insert()... sootvetsvenno, znaja vse dannie i novie znachenija, mozno najti nuzhnie dannie, proverit i izmenit' vse chto-nuzhno... V Axapte skvoz'-i-splosh tak vse rabotaet... ![]() ![]() |
|
![]() |
#11 |
Участник
|
Ну человеки причем тут modified(), modifiedField(), update()/insert()... ?
Есть таблица с кодами времен факт: 8 8 8 0 0 8 8 8 8 8 болн: 0 0 0 0 0 8 8 8 0 0 гособ:0 0 0 0 0 8 0 0 0 0 Табельщик вводит скажем гособяз 8 и ему нужно в других кодах в этот же день поставить 0 ... гемор ! Но могут поставить например больн = 4 факт = 4 т.е. нельзя делать так чтобы в любом случае перетирались значения в других кодах. Вот я и придумал перетирать с нажатой ctrl, а modified(), modifiedField(), update()/insert() это уже будет когда я найду как обработать нажатую циферку с ctrl. Последний раз редактировалось berlioz; 27.09.2006 в 06:09. |
|
![]() |
#12 |
Пенсионер
|
Цитата:
Сообщение от berlioz
![]() Ну человеки причем тут modified(), modifiedField(), update()/insert()... ?
Есть таблица с кодами времен факт: 8 8 8 0 0 8 8 8 8 8 болн: 0 0 0 0 0 8 8 8 0 0 гособ:0 0 0 0 0 8 0 0 0 0 Табельщик вводит скажем гособяз 8 и ему нужно в других кодах в этот же день поставить 0 ... гемор ! Но могут поставить например больн = 4 факт = 4 т.е. нельзя делать так чтобы в любом случае перетирались значения в других кодах. Вот я и придумал перетирать с нажатой ctrl, а modified(), modifiedField(), update()/insert() это уже будет когда я найду как обработать нажатую циферку с ctrl. Вешаешь туда проверку того, что было и стало и разницу отнимаешь там где значение > этой разницы.... или я чего-то не понял...
__________________
![]() А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
![]() |
#13 |
Участник
|
могут поставить например больн = 4 факт = 4 т.е. нельзя делать так чтобы в любом случае перетирались значения в других кодах
|
|
![]() |
#14 |
Участник
|
Нужно чтобы был выбор, либо просто ввести часы дополнительно либо перетереть во всех кодах на 0, тогда нажимаем с ctrl
|
|
![]() |
#15 |
Участник
|
если наделать кнопок с текстом типа "1 час" "2 часа" и вызывать из с альтом:
Помогите с Кнопкой.... - Форум у Mazzy |
|
![]() |
#16 |
Участник
|
а можно сделать кнопку "1 - добавить" по ней вываливать диалог с запросом времени и добавлять время. а в случае обычного редактирования перемещать время.
|
|
![]() |
#17 |
Участник
|
|
|
![]() |
#18 |
Участник
|
Всем спасибо !
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|