Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Запрос для ТП [.. $Дата] (число прочтений - 11149 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Запрос для ТП [.. $Дата]
06. Июня 2006 :: 09:21
Печать  
ч/з ODBCDataProvider.VFP. Не пашет. Выдает не понятную дату.
Было сделано несколько телодвижений, например:
|$ПартииРемонта.ДатаОбзвона as "+?(ЭтоСкуль=1,"ДатаОбзвона","[DTOS(ДатаОбзвона) $Дата]") + ",
|$ПартииРемонта.ДатаОбзвона as "+?(ЭтоСкуль=1,"ДатаОбзвона","DTOS($ПартииРемонта.ДатаОбзвона) ") + ",
|$ПартииРемонта.ДатаОбзвона as "+?(ЭтоСкуль=1,"ДатаОбзвона","[ДатаОбзвона $Дата]") + ",
Они ни к чему не привели....
Как бы это подправить?
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #1 - 06. Июня 2006 :: 09:34
Печать  
хм.. забыл.
1С++ 2030.
XP-2 SP. 1C - 20 рел/SQL, база-DBF.
Фокс-драйвер - последний...
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #2 - 06. Июня 2006 :: 10:01
Печать  
вообще правилный - третий вариан
  

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



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #3 - 06. Июня 2006 :: 10:01
Печать  
только что набросал и проверил пример
Код
Выбрать все
Процедура ПослеОткрытия()
	РФорма=СоздатьОбъект("РасширениеФормы");
	гТП=РФорма.ПолучитьАтрибут("ТП").СоздатьЭлементУправления("ТабличноеПоле");
	гТП.Колонки.Добавить("Дата").Данные="Новый1";
	гТП.ПоставщикДанных=СоздатьОбъект("ODBCDataProvider.VFP");
	гТП.ПоставщикДанных.БазаДанных=СоздатьОбъект("ODBCDatabase");
	гТП.ПоставщикДанных.БазаДанных.Соединение("DRIVER={Microsoft Visual FoxPro B="+КаталогИБ());
	гТП.ПоставщикДанных.УстТекстЗапроса("
	|select
	|  $Новый1.Новый1 as [Новый1 $Дата]
	|from $Справочник.Новый1 Новый1
	|");
	гТП.ПоставщикДанных.УстКлючПорядка("Новый1");
КонецПроцедуры 


даты выдаются верно
  

1&&2&&3
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #4 - 06. Июня 2006 :: 11:09
Печать  
ни Чё не понимаю.........
Создал справочник "новый1" с реквизитом типа Дата ИД "новый1". Наштамповал.
Скопировал пример.
Все работает.
заменил в примере строки:
Код
Выбрать все
	гТП.Колонки.Добавить("Дата").Данные="ДатаВыдачи";	    
....
	гТП.ПоставщикДанных.УстТекстЗапроса("
	|select
	|  $Новый1.ДатаВыдачи as [ДатаВыдачи $Дата]
	|from $Справочник.ПартииРемонта Новый1
	|");
	гТП.ПоставщикДанных.УстКлючПорядка("ДатаВыдачи");
 


получил везде даты:
30.12.99
Единственное различие, что справочник ПартииРемонта подчинен спр-ку "Номенклатура".
проверил свойства атрибутов "Новый1" и "ДатаВыдачи" в соотв. справочниках - все один в один....
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #5 - 06. Июня 2006 :: 11:17
Печать  
+ почистил справочник "Новый1", изменил подчинение с "" на "Справочник.Номенклатура"
ввел пару элементов. Одну с пустой датой. другие с датами:
06.04.06
06.06.06
получил:
30.12.99
06.04.06
06.06.06

Изменил подчинение на "(не подчинено)", ввел так-же.
получил:
30.12.99
06.04.06
06.06.06

Взял текущий найт билд, результат тот-же..

Щас полезу в таблицЫ и *.DD
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #6 - 06. Июня 2006 :: 11:26
Печать  
Шас перекачаю провайдера...
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #7 - 06. Июня 2006 :: 11:38
Печать  
перекачал. пофиг. как выдавал везде даты 30.12.99 (и там где не пустые, так и выдает..)
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #8 - 09. Июня 2006 :: 09:13
Печать  
Знаю вопрос сложный, требуется время на "разборки полетов".
Если можно, отпишите сюда о стадии решения проблемы.
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #9 - 09. Июня 2006 :: 09:23
Печать  
могу тебе сказать только одно.
Эта дата '30.12.1899' при пустом значении в таблице возвращается самим ODBC-драйвером.
Можно ли повлиять, и если можно то как, на драйвер и есть для другие драйверы с отличным поведением я не знаю.
  

1&&2&&3
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Запрос для ТП [.. $Дата]
Ответ #10 - 09. Июня 2006 :: 10:27
Печать  
trad писал(а) 09. Июня 2006 :: 09:23:
могу тебе сказать только одно.
Эта дата '30.12.1899' при пустом значении в таблице возвращается самим ODBC-драйвером.
Можно ли повлиять, и если можно то как, на драйвер и есть для другие драйверы с отличным поведением я не знаю.

Да вот в том то и фишка, что возвращает она '30.12.1899' и в тех слючаях когда дата не пуста.
Готов выслать тестовый конфиг и указать где это проявляется.....
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать