Переключение на Главную Страницу Страницы: 1 ... 10 11 [12] 13 14 ... 20 ОтправитьПечать
Очень популярная тема (более 25 ответов) Начну пожалуй потихоньку постить баги 1cpp-tf (число прочтений - 86236 )
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #165 - 17. Марта 2008 :: 18:44
Печать  
vip писал(а) 17. Марта 2008 :: 17:26:
Скачал последнюю ночную и обнаружил зависимость от того, в какой момент подключается поставщик.


Окак.

Первое и самое главное: это порочная практика такого использования ТП.
Что ты делаешь: ты ставишь поставщика, потом заполняешь колонки; каждая колонка - это отдельный запрос на сервер.
Который на самом деле не нужен, ибо завершается все установкой КП.

В принципе, такой путь всегда был проблемным для ТП - поэтому от него отказались в пользу отключения поставщика на время установки текста запроса и КП.
Рекомендация единая - действуй по предложенной мной схеме.

Цитата:
1. отключаем поставщика
2. устанавливаем текст запроса
3. устанавливаем кп
4. устанавливаем ид поле
5. подключаем поставщика


Второе: по текущей ситуации.
Конечно, тут есть проблема.
Установка текста запроса и установка КП должны гарантированно инвалидировать все строки в ТП.
Но в текущей ситуации - не инвалидируют.
Это неверно, исправлю.

Установка ИДПоля может быть осуществлена без инвалидации строк ТП - т.е. в текущей редакции это безопасная операция.
Можно делать при подключенном поставщике.

Короче, очистку ТП я приделаю, но лучше идти нормальным человеческим путем, а не звериной тропой поиска неизвестных неприятностей. Улыбка
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #166 - 17. Марта 2008 :: 18:50
Печать  
Цитата:
Рекомендация единая - действуй по предложенной мной схеме.

Нисколько не против. Только неплохо бы такой путь закрепить в документации.
А пример я по-быстрому на коленке набросал, особо не задумываясь. Чтобы наглядно было видно странность.

В реальности в справочнике с ТП эффекты проявились намного круче, даже не стал все ситуации разбирать.
Если причина для тебя ясна, мне не трудно у себя подправить.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #167 - 17. Марта 2008 :: 18:57
Печать  
Да я понял; если на завтрашней сборке останутся проблемы - не жалей, рассказывай.
Тема установки текста и КП при подключенном поставщике старая и проблемная; а по идее должна быть просто неэффективной - к этому стремлюсь.

За пример, кстати, спасибо - как всегда. Улыбка
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #168 - 17. Марта 2008 :: 20:54
Печать  
Исправлено.
ТП тут было не виновато, это мне предикат сортировки надо было получше продумать.
Продумал еще раз, а как иначе? Улыбка

Цитата:
[-] Нарушение логики обновления ТП в случае установки КП без
отключения провайдера
Changed files:
1cpp/Source/CursorGrid SQLProvider.h,1.7 SQLProvider.cpp,1.11 V7ODBCProvider.cpp,1.15 V7LogProvider.cpp,1.20


vip
Посмотри завтра, а?
  

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



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #169 - 17. Марта 2008 :: 21:04
Печать  
kms писал(а) 17. Марта 2008 :: 20:54:
Исправлено.
ТП тут было не виновато, это мне предикат сортировки надо было получше продумать.
Продумал еще раз, а как иначе? Улыбка

Цитата:
[-] Нарушение логики обновления ТП в случае установки КП без
отключения провайдера
Changed files:
1cpp/Source/CursorGrid SQLProvider.h,1.7 SQLProvider.cpp,1.11 V7ODBCProvider.cpp,1.15 V7LogProvider.cpp,1.20


vip
Посмотри завтра, а?

Да уже сегодня настало Улыбка
Если я сам сейчас соберу, все нормально будет?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #170 - 17. Марта 2008 :: 21:05
Печать  
Вот, на всякий случай, текущий транк, а то вдруг завтра не соберется.
  

1CPP-trunk-2008-03-18.rar ( 401 KB | Загрузки )

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #171 - 17. Марта 2008 :: 21:06
Печать  
vip писал(а) 17. Марта 2008 :: 21:04:
Если я сам сейчас соберу, все нормально будет?

Ойблин, а я все по старинке (см. предыдущий пост) Улыбка
Конечно, нормально... пока ты еще что-нибудь не найдешь. Подмигивание
  

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


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

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #172 - 18. Марта 2008 :: 05:18
Печать  
ТабличноеПоле штука вообще тонкая, и с ней надо аккуратно обращаться. Особенно внимательно надо подходить к порядку действий, потому что крайне сложно технически реализовать правильное поведение ТП при любых каскадах ударов.  Например, стоит поменять
Код
Выбрать все
	Источник.УстТекстЗапроса(ТекстЗапроса);
	Источник.УстКлючПорядка("ИД,Ном");
	Источник.УстИдПоле("ИД"); 


на
Код
Выбрать все
	Источник.УстТекстЗапроса(ТекстЗапроса);
	Источник.УстИдПоле("ИД");
	Источник.УстКлючПорядка("ИД,Ном"); 

и всё заработает.
Я всё это к чему? А к тому, что может быть стоит вкрутить жёсткий контроль последовательности действий с поставщиком и ТП, чтобы неправильно сделать было никак невозможно? С одной стороны всегда будет получаться работоспособная связка, а с другой - ещё и оптимальный в плане быстродействия и нагрузки на систему.
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #173 - 18. Марта 2008 :: 05:51
Печать  
добавить метод
Код
Выбрать все
	Источник.УстановитьВсё( ТекстЗапроса, ИдПоле, КлючПорядка );
 

  
Наверх
ICQ  
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #174 - 18. Марта 2008 :: 05:53
Печать  
Ну тогда может лучше добавить новый метод, типа УстановитьПараметрыТП(ТекстЗапроса,ИДПоле,КлючПорядка), а в нем в нужной последовательности вызывать методы УстИДПоле и т.д. Было бы неплохо и скрыть эти методы в приват, но людям при этом придется переписывать много существующего кода, так что...
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #175 - 18. Марта 2008 :: 05:58
Печать  
иногда нужно менять КП не меняя ТЗ и ИДП
  

1&&2&&3
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #176 - 18. Марта 2008 :: 06:00
Печать  
Или добавить в поставщика (или ТП) метод\свойство ставящий систему на паузу до готовности. Начали что-то определяющее менять - Источник подмерзает, и не важно, в каком порядке его нагружаешь данными, главное после всех изменений снова всё разморозить (Источник.Поехали() или Источник.Активен = 1)
Тут, правда, обратная совместимость заболеет.
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #177 - 18. Марта 2008 :: 06:03
Печать  
trad писал(а) 18. Марта 2008 :: 05:58:
иногда нужно менять КП не меняя ТЗ и ИДП

Параметры пропускать:
Код
Выбрать все
Источник.УстановитьВсё( , , КлючПорядка ); 

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #178 - 18. Марта 2008 :: 06:04
Печать  
ADirks писал(а) 18. Марта 2008 :: 05:18:
ТабличноеПоле штука вообще тонкая, и с ней надо аккуратно обращаться. Особенно внимательно надо подходить к порядку действий, потому что крайне сложно технически реализовать правильное поведение ТП при любых каскадах ударов.  Например, стоит поменять
Код
Выбрать все
	Источник.УстТекстЗапроса(ТекстЗапроса);
	Источник.УстКлючПорядка("ИД,Ном");
	Источник.УстИдПоле("ИД"); 


на
Код
Выбрать все
	Источник.УстТекстЗапроса(ТекстЗапроса);
	Источник.УстИдПоле("ИД");
	Источник.УстКлючПорядка("ИД,Ном"); 

и всё заработает.
Я всё это к чему? А к тому, что может быть стоит вкрутить жёсткий контроль последовательности действий с поставщиком и ТП, чтобы неправильно сделать было никак невозможно? С одной стороны всегда будет получаться работоспособная связка, а с другой - ещё и оптимальный в плане быстродействия и нагрузки на систему.

Леша, как раз пытаюсь уйти от жесткой последовательности действий.
Вот на сегодняшнем варианте не должно быть разницы, что устанавливается в начале - ИДПоле или КП, подключен поставщик в этот момент, или нет.
http://www.1cpp.ru/forum/YaBB.pl?num=1195053151/170#170

dnp писал(а) 18. Марта 2008 :: 06:00:
Или добавить в поставщика (или ТП) метод\свойство ставящий систему на паузу до готовности. Начали что-то определяющее менять - Источник подмерзает, и не важно, в каком порядке его нагружаешь данными, главное после всех изменений снова всё разморозить (Источник.Поехали() или Источник.Активен = 1)
Тут, правда, обратная совместимость заболеет.

Такая заморозка есть

ТП.ПостащикДанных = ""
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Начну пожалуй потихоньку постить баги 1cpp-tf
Ответ #179 - 18. Марта 2008 :: 06:05
Печать  
dnp писал(а) 18. Марта 2008 :: 06:00:
Или добавить в поставщика (или ТП) метод\свойство ставящий систему на паузу до готовности.
это делается отключением поставщика от ТП
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 10 11 [12] 13 14 ... 20
ОтправитьПечать