Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) ТП+SQL и order by (число прочтений - 6856 )
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
ТП+SQL и order by
26. Августа 2011 :: 09:09
Печать  
Народ, очень сильно туплю, как сделать чтобы в ТП+SQL работал order by desc тоесть вверху последние строки.
НачальноеПредставление ставлю и 1 и 0 толку нет, все равно сортирует даты сверху вниз.
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #1 - 26. Августа 2011 :: 10:14
Печать  
desc в ключе порядка
  

1&&2&&3
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #2 - 29. Августа 2011 :: 03:14
Печать  
точно, спасибо.  Смех
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #3 - 26. Сентября 2011 :: 08:19
Печать  
вот вам мистика в которую по сути я не верю но увы приходится Улыбка
ничего не трогал неделю, даже никто обработку не запускал и все работало, само собой база тестовая не трогалась и 1c++ не обновлялась, НО:
ТП+SQL стало валится как только открываешь обработку, валится 1С Печаль на ОбновитьСТроки() методом исключения выяснил если открыть любую из этих строк или обе сразу (по сути обе сразу ранее работали) то 1С валится Печаль

Код
Выбрать все
//Источник.УстКлючПорядка("dateevent desc");
//Источник.УстИДПоле("ид");
 



если кому интересно и хочет глянуть по больше говорите кину весь код, но там все стандартно. Может кто сталкивался или может помочь, голова кипит уже.
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #4 - 26. Сентября 2011 :: 08:52
Печать  
так давай полный текст и точное сообщение которое возникает когда валится
  
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #5 - 26. Сентября 2011 :: 09:07
Печать  
вот код примерно такой, этот проверен не пашет.

Код
Выбрать все
Функция СформироватьЗапрос(пЗакладка) // возвращает текст запроса для SQL
	Перем доВыбор;

	допВыбор="";
	//Сообщить(пЗакладка);
	Если пЗакладка=1 Тогда
		допВыбор="and end_date='19000101'";
	ИначеЕсли пЗакладка=2 Тогда
		допВыбор="";
	КонецЕсли;
	ТекстЗапроса = "-- CRM_Задания
		|Select row_id as ид
		|	, dateofinsert as [ДатаВремяВвода $Строка]
		|	, case when end_date='19000101' then 52 else 54 end as Статус
		|	, rtrim(comment) as Задача
		|	, dateevent as dateevent
		|	, convert(char(10), dateevent, 108) as Время
		|	, convert(char(10), dateevent, 104) as Дата
		|From general as Основная (nolock)
		|where 1=1
		|	"+допВыбор+"
		|";

	Возврат ТекстЗапроса;
КонецФункции // УсловияФильтра()


Процедура ПолучитьДанные(открытие=0)

ТекстЗапроса=СформироватьЗапрос(Форма.Закладки.ТекущаяСтрока());

	Если ТП.Колонки.Количество()>0 Тогда
		ТП.ПоставщикДанных="";
		ТП.Колонки.Очистить();
	КонецЕсли;
	Источник=СоздатьОбъект("ПоставщикДанныхODBC.MSSQL");
	Источник.БазаДанных = СоздатьОбъект("ODBCDatabase");
	Источник.БазаДанных.Соединение("driver={SQL Server};server=it\test;database=ppp;uid=sa;pwd=1");
	Источник.УстТекстЗапроса(ТекстЗапроса);
	//Источник.УстКлючПорядка("dateevent desc");
	Источник.Поля.Добавить("ид").Автоудаление=0;
	//Источник.УстИДПоле("ид");
	Источник.Отладка(1);

	ТП.АвтоШирина();
	ТП.ФиксацияСлева=3;

	Колонка=ТП.Колонки.Добавить("Дата");
	Колонка.Данные="Дата";
	Колонка.Заголовок="Дата";
	Колонка.ИзменениеРазмера=0;
	Колонка.ИзменятьВидимость=0;
	Колонка.Ширина=65;

	//Колонка=ТП.Колонки.Добавить("Время");
	//Колонка.Данные="Время";
	//Колонка.Заголовок="Время";
	//Колонка.ИзменениеРазмера=0;
	//Колонка.ИзменятьВидимость=0;
	//Колонка.Ширина=65;

	Колонка=ТП.Колонки.Добавить("Статус");
	Колонка.Данные="Статус";
	Колонка.Заголовок="+";
	Колонка.Ширина=18;
	Колонка.ИзменениеРазмера=0;
	Колонка.ИзменятьВидимость=0;
	Колонка.ГоризонтальноеВыравнивание=3;

	Колонка=ТП.Колонки.Добавить("Задача");
	Колонка.Данные="Задача";
	Колонка.Заголовок="Задача";
	Колонка.ИзменениеРазмера=0;
	Колонка.ИзменятьВидимость=0;
	//Колонка.Положение=1;
	Колонка.ПереноситьПоСловам=1;
	Колонка.Ширина=95;

	ТП.ПоставщикДанных=Источник;
	ТП.ТаймаутОбновления=15;//Время обновления

	ТП.НачальноеПредставление=1;
	ТП.РежимВыделения=1;
	ТП.РежимВыделенияСтроки=2;
	ТП.РазрешитьПеретаскивание=0;
	ТП.РазрешитьНачалоПеретаскивания=0;
	ТП.ЧередованиеЦветовСтрок=1;
	ТП.ИзменятьПозициюКолонок=0;
	ТП.СтильЗаголовков=1;

	ТП.ЦветФонаВыделения=глПолучитьЦвет(200,230,255); // голубой
	ТП.ЦветТекстаВыделения=глПолучитьЦвет(0,0,0);
	ТП.Колонки.Статус.УстановитьКартинкиСтрок(КартСтатусов,16);

	ТП.ОбновитьСтроки();
КонецПроцедуры // Сформировать
 

  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #6 - 26. Сентября 2011 :: 09:12
Печать  
Z1 писал(а) 26. Сентября 2011 :: 08:52:
так давай полный текст и точное сообщение которое возникает когда валится

текст выше, а валится - картинка к сообщению прикреплена Печаль
  

111.png ( 13 KB | Загрузки )
111.png

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #7 - 26. Сентября 2011 :: 10:22
Печать  
не сильно понимаю асм, но трындит в отладке что в 1cpp что то, хотя логично ТП то там Улыбка
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #8 - 26. Сентября 2011 :: 10:36
Печать  
попробуй
ТП.ПоставщикДанных="";
всегда ставить первой строкой
а не по условию есть или нет колонки.
  
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #9 - 26. Сентября 2011 :: 10:44
Печать  
попробовал тоже самое Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #10 - 26. Сентября 2011 :: 12:15
Печать  
А если эти процедуры вынести в тестовую обработку (переделав запрос к произвольной таблице) и сделать в "ПриОткрытии" заполнение этой таблицы некоторым набором тестовых данных, а в ПриЗакрытии - дропать эту таблицу... Тогда можно было бы полноценно потестить...
  
Наверх
ICQ  
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #11 - 26. Сентября 2011 :: 14:48
Печать  
Улыбка
ну ладно, завтра скину Улыбка
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #12 - 27. Сентября 2011 :: 11:10
Печать  
мда, нужно заставлять таки себя тестовые собирать, собрал не падает, в итоге выяснилось что было, что то с DSN строкой, не понял потому что переписал ее поверх из второго вариант в целом с нуля, но как только с тестового вставил в рабочую DSN новый все работает, не красиво падать если что не так 1с++, но подтверждается чудес не бывает Улыбка
ВСЕМ СПАСИБО!
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #13 - 03. Октября 2011 :: 08:09
Печать  
это прямо напасть какая то, теперь ТП при первом запуске нормально работает, НО если вызвать повторно ТП.ОбновитьСТроки() то ТП выдает ошибку такого рода:
"Подключение занято до получения результатов для другого hstmt"
и что только не делал, выдает и тресни, может кто нарывался на такое?  Класс
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: ТП+SQL и order by
Ответ #14 - 03. Октября 2011 :: 08:48
Печать  
Запрос в гугле выдал, например, такую ссылку: http://forum.mista.ru/topic.php?id=193179 и такую http://www.1cpp.ru/forum/YaBB.pl?num=1285094763
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать