К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Тупой вопрос

Гость
0 - 24.12.2012 - 19:29
На форме есть ТЗ с именем ТабДок. Заполняется загрузкой из другой ТЗ, являющейся выборкой прямого запроса:
ТабВсп = Запрос.ExecuteStatement (ТекстЗапроса);
ТабДок.Загрузить(ТабВсп);
затем проверяю есть ли данные и позиционируюсь "на дно"
КолСтрок = ТабДок.КоличествоСтрок();
Если КолСтрок > 0 Тогда
ТабДок.ТекущаяСтрока(КолСтрок);
КонецЕсли;
И все бы хорошо, но вот например в выборке 40 строк, экранных строк таблицы, например, 20, и в моей ТЗ показывается значимых строк так 8. То есть последняя строка с данными задрана вверх. Делаю CTRL+PGUP и CTR_PGDN и все замечательно встает как надо ) А как правильно сразу сделать? я конечно могу с помощью WSH эмулировать нажатие этих волшебных клавиш, но уж как то совсем черех "ж...". Понимаю, что вопрос смешной, но вот не входит каменный цветок, как то раньще не ломал голову, а тут вот надо стало))



Гость
1 - 24.12.2012 - 19:47
что-то и с SendKey не выходит ) Засада))
2 - 25.12.2012 - 00:37
есть такая хрень.. при программном позиционировании последняя строка будет посередине... только если сендкеем...
Гость
3 - 25.12.2012 - 02:51
изврат с sendkeys("HOME") и sendkeys("END") работает (посылаю сервисом формекса, рас все равно импользуется), но работает только при принудительном обновлении данных (нажатии на спец кнопочку вызывается Обновить(), где и формируется таблица значений и посылаются дурацкие нажатия клавиш). При первоначальном открытии формы никак не выходит каменный цветок. Толкал Обновить() и в ПослеОткрытия(), но безуспешно
Гость
4 - 25.12.2012 - 02:52
рас - > раз (а то опечатка режет глаз)
5 - 25.12.2012 - 03:50
В ПослеОткрытия() или в ПриОткрытии() сделай типа
.
//************************************************** ******************************
Процедура ПриОткрытии ()
Форма.ОбработкаОжидания ("ПосылКлавишНа", 1);

//закроем окно сообщений
глWSH.appActivate("1С:Предприятие");
глWSH.sendKeys("^+(z)");
глWSH.sendKeys("^+(я)"); //разрешение проблемы с раскладкой (с) СтарПом

КонецПроцедуры //ПриОткрытии()
6 - 25.12.2012 - 03:52
Процедура ПосылКлавишНа()
Форма.ОбработкаОжидания ("", 0);
//тут послать клавиши
КонецПроцедуры //ПосылКлавишНа()
7 - 25.12.2012 - 03:52
Уточнение:
.
Процедура ПриОткрытии ()
//тут формируем нужные ТЗ на форме и в памяти
Форма.ОбработкаОжидания ("ПосылКлавишНа", 1);
Гость
8 - 25.12.2012 - 09:39
(0) никогда не используй ТабДок.Загрузить для обычной ТЗ
- это один из самых медленных методов при работе с ТЗ, юзай выгрузить(), хотя бы, или заполнить()
Гость
9 - 25.12.2012 - 10:06
(8)спс, буду иметь в виду. Хотя для данной базы попробовал выгрузить и загрузить, визуально разницы не увидел. В обоих случаях у меня на хреновой тачке подтормаживает. Попробую еще и заполнить
Засунул в "ПриОткрытии" - формирование таблицы значений, в "ПослеОткрытия" - пихание клавиш, а в принудительном обновлении - вызываю сразу с эмуляцией HOME и END. Вроде все работает, немного коряво правда выглядит. Вечером попробую на рабочей базе
Всем спасибо.
Переведу наверное на табличное поле, но на пробу год назад переводил этот журнал, там вроде были свои заморочки с прокрутками и вверх-вниз, и вправо-влево
10 - 25.12.2012 - 10:58
По-моему, надо выставлять текущую строку. Тоже постоянно выгружаю в ТЗ на форме результаты запроса. Заметил, что если текущая строка оказывается больше, чем строк в ТЗ, то вся таблица исчезает за верхнюю границу, помогает перетаскивание скрола. Однажды пришлось это делать не для себя, а для пользователей, как-то эту проблему решил, через установку текущей строки Тз.
Гость
11 - 25.12.2012 - 11:30
(9)Я выставляю текущую строку именно последней. Текущая у меня не может быть больше, чем строк в таблице. Вот я тоже как-то решаю, один очень "ленивый" пользователь попросил для него сделать. У меня пока что получилось именно с эмуляцией нажатия клавиатуры. Выставлять строку я итак выставлял всегда, только вот не хочет показываться вся воозможная видимая область таблицы хначений
Гость
12 - 25.12.2012 - 22:03
(0)-(11) Чушь и бред, все ништяк позиционируется.
http://zalil.ru/upload/34112285
Или я делаю что-то не так, или вопроса не понял...

ЗЫЖ Как все же семерка летает по сравнению с 8-кой, прям мечта...
13 - 25.12.2012 - 22:48
(12) докладываю: ты - тупой ;-)
запусти свою обработку. увидб ТЗ. нажми сформировать. увидб резудтат - где стоит текущая строка с курсором. попробуй этого же самого добиться простым непрограммным скролингом. Интерактивным скроллингом сделай текущй строкой псоледнюю. Попробуй сделать ТАКЖЕ программно
Гость
14 - 25.12.2012 - 23:09
Не надо ссориться, горячие эстонские парни...

Слушаем вниматочно.
До КОНЦА.

http://www.youtube.com/watch?v=8MS3TFF-LIA
Гость
15 - 25.12.2012 - 23:57
Блин, ну ладно, я тупой. Просто на такой фигне ни когда не заморачивался. Даже внимания не обращал (почему и не въехал в "проблему"). Так все же чем эта багафича мешает? ИМХО пусть уж будет так, чем сендкеи крутить.
ЗЫЖ Ради спортивного интереса победить не получилось "нормальным путем".
Гость
16 - 26.12.2012 - 00:15
15-Сли то > Угу, угу, а сырая, медленная восьмерка работает все это время что вы тут е... мучаетесь.
17 - 26.12.2012 - 00:18
(16) угу... работает... как прикованная к батарее продавщица в супермаркете
Гость
18 - 26.12.2012 - 00:24
А вот и не подерётесь...
Гость
19 - 26.12.2012 - 00:25
17-Чучундер > Ох, помнится в "копилке" напротив общаги студенческой была одна... Приковать и работать, приковать и работать...
Гость
20 - 26.12.2012 - 01:04
http://www.youtube.com/watch?v=ZWjtaESJKV4
Гость
21 - 26.12.2012 - 02:28
2(16) +100. И сыреет и сыреет. Даже общие реквизиты появились :)
Гость
22 - 26.12.2012 - 02:39
Господа, раз я тут тупой вопрос, можно пооффтопить - базван был с нами? Где он?
Гость
23 - 26.12.2012 - 05:05
(12)Нас с Чучундером тоже ведь не пальцем делали )
Попался пользователь такой (один из хозяев), сделай говорит, пожаоуйста, не хочу всякий раз дергать полосы прокрутки
Спор про 7 и 8 не понял. И Жигули работают, и Феррари, и лопаты, и Катерпиллеры. Смотря какая задача.
24 - 26.12.2012 - 05:10
23-USSR >А ты ему скажи, что нет технической возможности. Пусть пальцы тренерует.
Гость
25 - 26.12.2012 - 07:00
(24)Да он норм мужик, очень адекватный. Не хочется отказывать в такой мелочи. Вроде все работает, немного есть некрасивый визуальный эффект при обновлении, но зато все хорошо позиционируется.
26 - 27.12.2012 - 01:39
(25) это о чем говорит? - о том, что жигуль затюнинговать можно по самое не хочу.. ферари конечно тоже затюнинговать можнао, но а) оно надо? б) скока-скока?


К списку вопросов






Copyright ©, Все права защищены