Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) ТП: Поставщик данных ИТ (число прочтений - 15426 )
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #30 - 04. Мая 2008 :: 12:20
Печать  
Подскажите пожалуйста, в ИТ оптимизировано по памяти хранение одинаковых значений?
Например:
Две колонки Контрагент, Номенклатура
строки
1 Пупкин, Пиво
2 Пупкин, Вино
3 Пупкин, Водка
В каждой строке Справочник=Пупкин много Байт, или Ссылка 4-8 Байта?
И если не оптимизировано, то планируется что-то в этом направлении?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #31 - 08. Мая 2008 :: 07:52
Печать  
Если поставщик - ИТ, то не работает:
Код
Выбрать все
тпНаФорме.НачальноеПредставление=0; 


т.е. при первом отображении текущей строкой всегда является последняя.
На всякий пожарный: http://www.1cpp.ru/bugs/show_bug.cgi?id=3827
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #32 - 08. Мая 2008 :: 08:15
Печать  
JohnyDeath писал(а) 08. Мая 2008 :: 07:52:
Если поставщик - ИТ, то не работает:
Код
Выбрать все
тпНаФорме.НачальноеПредставление=0; 


т.е. при первом отображении текущей строкой всегда является последняя.
На всякий пожарный: http://www.1cpp.ru/bugs/show_bug.cgi?id=3827

Я знал, что это вызовет вопросы. Но это не баг, это фича такая Улыбка

При установке поставщика ТП позиционируется на текущую строку ИТ с учетом активного индекса.
Поэтому ДО установки поставщика надо сделать
Код
Выбрать все
ит.ВНачало();
 


Либо можно точно также на любую другую строку.

А вот что такое
Цитата:
тпНаФорме.НачальноеПредставление=0;

не понятно.
Я вроде такого свойства не делал. Озадачен
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #33 - 08. Мая 2008 :: 08:17
Печать  
Хм.
Документацию на "НачальноеПредставление" нашел.
Ну и ну.
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #34 - 08. Мая 2008 :: 08:49
Печать  
kms писал(а) 08. Мая 2008 :: 08:17:
Хм.
Документацию на "НачальноеПредставление" нашел.
Ну и ну.

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #35 - 08. Мая 2008 :: 09:55
Печать  
Это значит, что все работает ровно так, как я задумал.
Но во избежание дальнейших недоразумений, поведение пришлось изменить.

(*) обновление ТП отключено для момента установки поставщика

Changed files:
icpp/Source/CursorGrid/VTExtProvider.cpp,1.3

===
Отключена привязка к текущей строке индекса при установке поставщика.
Для обновления ТП в дальнейшем требуется явный вызов

ТП.ОбновитьСтроки()

или установка свойства

ТП.ТекущаяСтрока

Будет в следующем снапшоте icpp/3.0.
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #36 - 08. Мая 2008 :: 10:07
Печать  
kms писал(а) 08. Мая 2008 :: 09:55:

(*) обновление ТП отключено для момента установки поставщика


Печаль Я так понимаю - это действует не только для поставщика ИТ? Просто у меня много мест, где провайдером является ТЗ и там я не делал ни обновитьСтроки() ни "текущаяСтрока". Переписывать?
А вообще зачем ты отключил эту фичу? И без этого можно было написать:
Код
Выбрать все
ТП.ТекущаяСтрока = 1 

и всё было бы хорошо...

Нельзя ли сделать просто в зависимости от значения свойства "НачальноеПредставление" (для поставщика ИТ) делать либо Поставщик.ИТ.ВНачало(), либо Поставщик.ИТ.ВКонец() ?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #37 - 08. Мая 2008 :: 10:15
Печать  
JohnyDeath писал(а) 08. Мая 2008 :: 10:07:
Я так понимаю - это действует не только для поставщика ИТ? Просто у меня много мест, где провайдером является ТЗ и там я не делал ни обновитьСтроки() ни "текущаяСтрока". Переписывать?

Не волнуйся, с поставщиком ТЗ это никак не связано.
Переделывать не придется.

Такое поведение как будет в поставщике ИТ, кстати, реализовано также для поставщика ODBC.
Логика в том, что я хочу иметь возможность спозиционироваться на конкретную строку за одно обновление, а не за два.
  

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



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #38 - 08. Мая 2008 :: 10:25
Печать  
фууух.. это радует, а то я уж испугался...  Улыбка
А с "НачальнымПредставлением" что? Оно на ТП с ИТ никак не влияет?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #39 - 08. Мая 2008 :: 11:00
Печать  
JohnyDeath писал(а) 08. Мая 2008 :: 10:25:
фууух.. это радует, а то я уж испугался...  Улыбка
А с "НачальнымПредставлением" что? Оно на ТП с ИТ никак не влияет?

С этим тоже все нормально будет Улыбка
После последнего вливания будет влияние.
  

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


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 24. Октября 2006
Re: ТП: Поставщик данных ИТ
Ответ #40 - 15. Мая 2008 :: 21:13
Печать  
Здраствуйте. Можно ли выполнить сортировку не по индексу т.е. например ставлю фильтр по дате приема в ИТ, он по ней и сортирует в ТП, а хотелось бы сортировать по любой колонке не учитывая фильтр. Это можно добиться?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #41 - 15. Мая 2008 :: 21:18
Печать  
Наверное следует сделать составной индекс (ДатаПриема,ДругаяКолонка) и передавать его ТП.
  
Наверх
 
IP записан
 
mdocs
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 24. Октября 2006
Re: ТП: Поставщик данных ИТ
Ответ #42 - 16. Мая 2008 :: 13:40
Печать  
Скажем так есть практическая "хотелка" - загнать в ИТ справочник сотрудники и дать возможность пользователю отбора по многим реквизитам, например по дате приема, при этом всегда желательная сортировка по наименованию независимо от установленного отбора. Дабавив Наименование в составной индекс я установлю отбор и по нему, а мне этого не надо, нужна только сортировка Печаль
Если я правильно понимая, нужен метод аналогичный УстКлючПорядка().
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #43 - 16. Мая 2008 :: 13:53
Печать  
mdocs писал(а) 16. Мая 2008 :: 13:40:
Если я правильно понимая, нужен метод аналогичный УстКлючПорядка().

Не нужен.

Когда пользователь определится, по каким полям он будет фильтровать, ты создаешь индекс по данным полям отбора плюс поля сортировки ("Наименование" в данном случае).
Далее накладываешь фильтр методом "Подмножество" на поля отбора.
Все.
  

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


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 24. Октября 2006
Re: ТП: Поставщик данных ИТ
Ответ #44 - 16. Мая 2008 :: 16:31
Печать  
kms писал(а) 16. Мая 2008 :: 13:53:
Когда пользователь определится, по каким полям он будет фильтровать, ты создаешь индекс по данным полям отбора плюс поля сортировки ("Наименование" в данном случае).
Далее накладываешь фильтр методом "Подмножество" на поля отбора.
Все.

Опять же для сортировки наименование должно идти в индексе первым? Пропустить установку индекса по этому полю методом Подмножество() уже не получится. А нельзя чтобы Сортировать() в ПостащикеДанных работало?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать