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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: ТП: Поставщик данных ИТ
Ответ #45 - 16. Мая 2008 :: 17:24
Печать  
mdocs писал(а) 16. Мая 2008 :: 16:31:
Опять же для сортировки наименование должно идти в индексе первым? Пропустить установку индекса по этому полю методом Подмножество() уже не получится. А нельзя чтобы Сортировать() в ПостащикеДанных работало?

Ну я же четко написал - наименование идет первым ПОСЛЕ полей фильтра.

+
Ну, если это кажется сложновато  - можно вообще в два этапа сделать.
Выгружаешь отфильтрованные данные из исходной ИТЗ во временную ИТЗ (или ТЗ), сортируешь - и телемаркет.
  

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


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 24. Октября 2006
Re: ТП: Поставщик данных ИТ
Ответ #46 - 16. Мая 2008 :: 19:40
Печать  
kms писал(а) 16. Мая 2008 :: 17:24:
Ну я же четко написал - наименование идет первым ПОСЛЕ полей фильтра.

+
Ну, если это кажется сложновато  - можно вообще в два этапа сделать.
Выгружаешь отфильтрованные данные из исходной ИТЗ во временную ИТЗ (или ТЗ), сортируешь - и телемаркет.

Спасибо, вторым способом получилось.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #47 - 22. Июля 2008 :: 03:36
Печать  
Короче кто прочитал.. простите что смутил народ, я сам ступил, каждый раз обнулял данные на кой черт не помню... в общем приношу извинения за дезинформацию
« Последняя редакция: 22. Июля 2008 :: 04:42 - vandalsvq »  

_test.ert ( 13 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #48 - 02. Сентября 2008 :: 05:08
Печать  
Михаил, у меня тут это... ну идея есть... хочу обсудить.

В связи с возможностью использовать ИТЗ в качестве поставщика данных очень не хватает возможности добавлять строки в определенное место, а не только в конец таблицы.
Может я что-то не вижу (хотя только что перечитал всю документацию и поиском пробежался малость) но не нашел такого способа.
В свете предложения видиться такая реализация, в метод "НоваяСтрока" добавить возможность указывать номер создаваемой строки.

Пы.Сы. кстати иногда хочется после ИТЗ.НомерСтроки = 10 чтобы метод "СледующаяСтрока()" уже шел на 11-ю и т.д. строку, а "ПредыдущаяСтрока()" 9-ю и т.д... т.к. иногда надо бы пробежаться по строкам с определенной позиции вверх или вниз.
Буду премного благодарен при рассмотрении моих просьб.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #49 - 02. Сентября 2008 :: 05:21
Печать  
Это противоречит идеологии ИТ, таблица никогда не меняется, изменения только в индексе Печаль
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #50 - 02. Сентября 2008 :: 05:28
Печать  
PVR писал(а) 02. Сентября 2008 :: 05:21:
Это противоречит идеологии ИТ, таблица никогда не меняется, изменения только в индексе Печаль


Однако последнее слово за разработчиками.  Класс
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #51 - 02. Сентября 2008 :: 05:33
Печать  
vandalsvq писал(а) 02. Сентября 2008 :: 05:08:
Михаил, у меня тут это... ну идея есть... хочу обсудить.

В связи с возможностью использовать ИТЗ в качестве поставщика данных очень не хватает возможности добавлять строки в определенное место, а не только в конец таблицы.
Может я что-то не вижу (хотя только что перечитал всю документацию и поиском пробежался малость) но не нашел такого способа.
В свете предложения видиться такая реализация, в метод "НоваяСтрока" добавить возможность указывать номер создаваемой строки.

Пы.Сы. кстати иногда хочется после ИТЗ.НомерСтроки = 10 чтобы метод "СледующаяСтрока()" уже шел на 11-ю и т.д. строку, а "ПредыдущаяСтрока()" 9-ю и т.д... т.к. иногда надо бы пробежаться по строкам с определенной позиции вверх или вниз.
Буду премного благодарен при рассмотрении моих просьб.


Так нумеруй их сам и заведи индекс по этому полю. А вставка в любое месть для ИТ по моему лишнее.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #52 - 02. Сентября 2008 :: 06:56
Печать  
Nick писал(а) 02. Сентября 2008 :: 05:33:
Так нумеруй их сам и заведи индекс по этому полю. А вставка в любое месть для ИТ по моему лишнее.


Я позицию понял.
Догадывался что в отсутствии такой возможности есть глубинный смысл  Очень довольный
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
zelenprog
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 44
Зарегистрирован: 03. Июня 2022
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #53 - 05. Июля 2024 :: 12:39
Печать  
Здравствуйте!

Подскажите, как правильно обновить ТП?

Есть ТП + ПоставщикДанныхИТ + ИТ.
В цикле в ИТ добавляются строки.

Нужно сделать, чтобы после добавления каждой новой строки в ИТ, ТП обновилось и показало эту последнюю строку.
Какие методы каких объектов для этого нужно вызвать?

Сейчас у меня сделано просто вот так:
[code c++]

     мИТ = ... // Создание ИТ
     .....
     мФорма = СоздатьОбъект("Форма");
     мФорма.УстановитьФорму(Форма);
     мТабличноеПоле = мФорма.СоздатьЭлементУправления("ТабличноеПоле", "дКнТабличноеПоле");
     мТабличноеПоле.ЦветОтрицательных = 10;
     мТабличноеПоле.ВертСкроллер = 1;
     
     мПоставщикТабличногоПоля = СоздатьОбъект("ПоставщикДанныхИТ");
     мПоставщикТабличногоПоля.ИндексированнаяТаблица = мИТ;
     мТабличноеПоле.ПоставщикДанных = мПоставщикТабличногоПоля;
     ....
     // затем в цикле
     ....
     мИТ.НоваяСтрока();
     мИТ.Знач1 = ххх;
     мИТ.Знач2 = ууу;
     
     мТабличноеПоле.ТекущаяСтрока = мИТ.КоличествоСтрок();
     мТабличноеПоле.ОбновитьСтроки();

[/code]

Вроде работает, но интерфейс сильно "дергается" при этом.
Можно ли это сделать как-то по другому, чтобы было меньше "дерганий"?

  
Наверх
 
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 65
Зарегистрирован: 06. Февраля 2019
Re: ТП: Поставщик данных ИТ
Ответ #54 - 09. Июля 2024 :: 12:24
Печать  
[quote author=39262F262D33312C24430 link=1209592007/53#53 date=1720183148]
Вроде работает, но интерфейс сильно "дергается" при этом.
Можно ли это сделать как-то по другому, чтобы было меньше "дерганий"?

[/quote]

чтобы было меньше "дерганий" не надо вызывать ОбновитьСтроки() в цикле. Это неверно. ОбновитьСтроки() должно стоять вне цикла. Если процесс заполнения [b]сильно длительный[/b] и ты хочешь видеть процесс заполнения, то перед циклом запускай таймер и им делай ОбновитьСтроки(), но не быстрее чем 150-250 мс (зависит от тяжести ТП, скорости компа, etc). Ну, или просто обновляй не на каждую итерацию цикла.
  
Наверх
 
IP записан
 
zelenprog
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 44
Зарегистрирован: 03. Июня 2022
Пол: Мужской
Re: ТП: Поставщик данных ИТ
Ответ #55 - 11. Июля 2024 :: 06:01
Печать  
[quote author=695A4A5D52280 link=1209592007/54#54 date=1720527877]
чтобы было меньше "дерганий" не надо вызывать ОбновитьСтроки() в цикле...
[/quote]

Идею понял, спасибо.

Непосредственно добавление и заполнение строки выполняется быстро - по сути это время выполнения метода ИТ.НоваяСтрока().
А вот "вычисление" нужных значений перед заполнением строки может выполняться  от долей секунды до нескольких секунд. Поэтому была мысль сделать отображение каждой строки.

Пока ждал здесь ответа, этот вопрос обсудили на Мисте:
https://forum.mista.ru/topic/894401

Оказалось, что мелькание происходит при включенном вертикальном скроллбаре.
Если при создании ТП у него включается "ВертСкроллер = 1":
[code c++]
     мТабличноеПоле = мФорма.СоздатьЭлементУправления("ТабличноеПоле", "дКнТабличноеПоле");
     мТабличноеПоле.ВертСкроллер = 1;
[/code]
« Последняя редакция: 12. Июля 2024 :: 05:41 - zelenprog »  
Наверх
 
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 65
Зарегистрирован: 06. Февраля 2019
Re: ТП: Поставщик данных ИТ
Ответ #56 - 11. Июля 2024 :: 11:16
Печать  
Да, я читал там и примеры запускал. Действительно, при включённом скроллбаре пока не заполнится вся видимая область ТП, ёё дёргает, даже на таймере — я проверил.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 
ОтправитьПечать