Переключение на Главную Страницу Страницы: [1] 2 3 ... 20 ОтправитьПечать
Очень популярная тема (более 25 ответов) ТП: Хотелки (число прочтений - 82942 )
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
ТП: Хотелки
02. Декабря 2006 :: 18:57
Печать  
Начнем отсюда
http://www.1cpp.ru/forum/YaBB.pl?num=1158226497

Сюда буду писать то, чего лично мне не хватает. Присоединяйтесь.

abandoned 1. Быстрый поиск сейчас ищет с мин. ключа, а надо с ключа текущей строки
[+] 2. Реализация концепции DmitrO в плане быстрого поиска
[+] 3. OnDestroy в модальных формах
[+] 4. Возможность раздвижки последней колонки за границу формы
[+] 5. Реализация механизма интерактивного множественного отбора (выбора)

[+] к п.2:
6. Возможность получить строку, введенную в окне быстрого поиска, и использовать ее не для поиска, а для фильтрации выборки


+
active 7. Прямой ввод в ячейку ТП с активацией события
[+] 8. Управление высотой строки
[+] 9. Возможность обновления / перерисовки строк по списку
[+] 10. Задавать вариант ресайза (простой, с SHIFT, с CTRL) по-умолчанию параметром ТП

Парсинг ветки:
[+] Фиксация колонок
[+] Фиксация строк
[+] Координаты текущей ячейки
[+] Отладка для MSSQL провайдера
[+] Автоширина колонок по видимой части
[+] Выделение активной ячейки и активной строки по-разному
[+] Отдельным методом возвращать полный запрос MSSQL провайдера

+ 2007-08-27
- 2007-10-21
abandoned ИТ - поставщик данных ТП

+2007-12-27
Колонки/Строки/Ячейки, недоступные для активизации (свойство)
« Последняя редакция: 27. Декабря 2007 :: 09:23 - kms »  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #1 - 02. Декабря 2006 :: 22:40
Печать  
Присоединяюсь ко всему написанному.


Не знаю, реально ли сделать, но хочется с шифтом выделять несколько строк. Например чтобы потом скопом удалить.

+ для картинок хочется чтобы работало выравнивание.
« Последняя редакция: 03. Декабря 2006 :: 11:36 - Arta »  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #2 - 03. Декабря 2006 :: 06:21
Печать  
Ещё иногда не хватает возможности получения координат текущей ячейки. Например, для показа контекстной менюшки, когда событие вызывается с клавиатуры а не мышкой.

по п.5. не совсем понял: разве множ. отбор не реализован? Ведь как запрос напишешь - так и будет.
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: ТП: Хотелки
Ответ #3 - 03. Декабря 2006 :: 07:16
Печать  
Вот бы еще добавить автоширину колонок, автовысоту строки, а также возможность фиксации колонок и строк.
  
Наверх
wwwICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Хотелки
Ответ #4 - 03. Декабря 2006 :: 10:40
Печать  
Arta писал(а) 02. Декабря 2006 :: 22:40:
Не знаю, реально ли сделать, но хочется с шифтом выделять несколько строк. Например чтобы потом скопом удалить.


ADirks писал(а) 03. Декабря 2006 :: 06:21:
по п.5. не совсем понял: разве множ. отбор не реализован? Ведь как запрос напишешь - так и будет.

п. 5 чуть уточнил.
речь как раз об интерактивном отборе набора строк с контролом и шифтом и последующей обработке списка.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #5 - 04. Декабря 2006 :: 10:30
Печать  
ТП.РежимВыделенияСтроки

0 - режим выделение ячеки
1 - режим выделение всей строки


хочу третий режим 2 - выделять и строку и ячейку по разному ( хотя бы цвет фона)
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Хотелки
Ответ #6 - 04. Декабря 2006 :: 22:11
Печать  
В тестовом режиме добавлены 2 события для управления функционалом быстрого поиска:
Цитата:
     [+] добавлено события ПриНачалеБыстрогоПоиска /OnQuickSearchStart, которое вызывается
         до создания окна QS, позволяет управлять разрешением на создание окна QS
     [+] добавлено событие ПриБыстромПоиске /OnQuickSearch, вызывается до запуска системной
         процедуры быстрого поиска и позволяет организовать custom варианты QS

добавлено в 2.0.3 и 2.5, подробности должны появиться здесь: http://www.1cpp.ru/docum/html/TableField.html

Комментарии приветствуются.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #7 - 05. Декабря 2006 :: 08:18
Печать  
Черт... Если бы тебе не приспичило, так бы и не дождались :-D
Спасибо!
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Хотелки
Ответ #8 - 06. Декабря 2006 :: 00:19
Печать  
Arta писал(а) 05. Декабря 2006 :: 08:18:
Черт... Если бы тебе не приспичило, так бы и не дождались :-D
Спасибо!

Вы с ДмитрОм меня вдохновили :-D

Кстати, УсловиеБыстрогоПоиска - оно работает или нет?
(у меня - нет на 2.0.3.1 и 2.0.3.2)
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #9 - 06. Декабря 2006 :: 22:17
Печать  
2.5.0

После ФСО = 0 работать перестает. с ФСО = 1 - накладывается на существующее условие.
Вот трэйс ФСО = 1

Код
Выбрать все
exec sp_executesql N'
select top 1
PRICE.LEVEL as LEVEL,
PRICE.PART_NO as PART_NO,
PRICE.MODEL as MODEL
from [IRP].[dbo].Siemens_price AS PRICE

LEFT JOIN sc33 AS Номенклатура (NOLOCK) ON PRICE.PART_NO = Номенклатура.sp3752
LEFT JOIN [IRP].[dbo].Siemens_stock AS STOCK ON STOCK.PART_NO = PRICE.PART_NO
where (UPPER(PRICE.MODEL) = ''C72'') and ( PRICE.PART_NO LIKE ''%''566''%'') and (PRICE.PART_NO like @QSParam)
order by PRICE.LEVEL, PRICE.PART_NO, PRICE.MODEL
', N'@QSParam varchar(100)', '566%' 



Пытался сделать:
Код
Выбрать все
Процедура ПриБыстромПоиске(чТипБыстрогоПоиска, нДанные, ФСО) Экспорт
	Сам().ПоставщикДанных.Поля.Получить("PART_NO").УсловиеБыстрогоПоиска = " PRICE.PART_NO LIKE '%'" + нДанные + "'%'";
	чТипБыстрогоПоиска = 1;
	//ФСО = 0;
	Сам().ПоставщикДанных.Обновить();
КонецПроцедуры
 

  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Хотелки
Ответ #10 - 06. Декабря 2006 :: 23:06
Печать  
Arta писал(а) 06. Декабря 2006 :: 22:17:
2.5.0
После ФСО = 0 работать перестает. с ФСО = 1 - накладывается на существующее условие.

Ну, это как раз все как надо.

А у меня такая петрушка:
Цитата:
exec sp_executesql N'
select top 1
j.row_id as row_id
from _1sjourn j

join sc84 n
on n.row_id =j.row_id
where  ROW_ID > 0 ) and (docno like @QSParam
order by j.row_id
', N'@QSParam varchar(100)', 'оопс%'


Запрос простейший
Код
Выбрать все
	|select
	|	j.row_id as row_id
	|,	docno as docno
	|,	iddoc as Док
	|,	iddocdef as Док_вид
	|,	id as Дом
	|,	descr as descr
	|from _1sjourn j
	|
	|join $Справочник.Номенклатура n
	|on n.row_id =j.row_id
 



И условие такое же
Код
Выбрать все
	_п =_пост.Поля.Добавить("DOCNO");
	_п.ТипБыстрогоПоиска =1;
	_п.УсловиеБыстрогоПоиска =" ROW_ID > 0 ";
 



Все это еще на 2.0.3.1 (ну и 3.2. тоже).
Куда пропали скобки - непонятно. Ну ладно, будем искать Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #11 - 06. Декабря 2006 :: 23:15
Печать  
kms писал(а) 06. Декабря 2006 :: 23:06:
Ну, это как раз все как надо.


Как это надо? Получается что у меня одновременно срабатывает родной поиск по первым символам, и мой!
А изначально то я хочу родной отключить, а выполнить только свое условие!
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Хотелки
Ответ #12 - 06. Декабря 2006 :: 23:27
Печать  
Arta писал(а) 06. Декабря 2006 :: 23:15:
Как это надо? Получается что у меня одновременно срабатывает родной поиск по первым символам, и мой!
А изначально то я хочу родной отключить, а выполнить только свое условие!

Тогда нужно поставить ФСО=0, выполнить любым доступным способом поиск самому и перепозиционировать ТП:
Код
Выбрать все
Процедура ПриБыстромПоиске(__тп, чТипБыстрогоПоиска, нДанные, ФСО) Экспорт
ФСО =0;

// ... определяем нужную строку
// ...

// перепозиционируем
__тп.НомерСтроки = НомерНужнойСтроки;
КонецПроцедуры
 


  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Хотелки
Ответ #13 - 06. Декабря 2006 :: 23:29
Печать  
Хмм... Понял.
У меня конечно была мысль приспособить этот поиск для отбора по вхождению. Так красиво бы получилось.

увы...
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Хотелки
Ответ #14 - 06. Декабря 2006 :: 23:31
Печать  
Arta писал(а) 06. Декабря 2006 :: 23:29:
Хмм... Понял.
У меня конечно была мысль приспособить этот поиск для отбора по вхождению. Так красиво бы получилось.

увы...

А почему увы? Это же запросто реализуемо.

Всего-то надо сделать еще один ODBCRecordSet, который в процедуре ПриБыстромПоиске будет по введенной строке поиска определять номер нужной строки для перепозиционирования.

+
Да, а номер строки задается в терминах заданного ранее поля ИД (скажем, у меня - это ROW_ID):
Код
Выбрать все
	_пост.УстИДПоле("ROW_ID");
 


Значит мне просто нужно в своей процедуре поиска определить необходимый ROW_ID и записать его в __тп.ТекущаяСтрока.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 ... 20
ОтправитьПечать