Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема глюк с типообразующими псевдонимами вообще (число прочтений - 2901 )
smallits
YaBB Newbies
*
Отсутствует


...

Сообщений: 7
Зарегистрирован: 30. Августа 2006
Пол: Мужской
глюк с типообразующими псевдонимами вообще
11. Июня 2007 :: 15:22
Печать  
при создании подключения из текущей SQL базы в "старую" DBF базу (через ОЛЕДБ или ОДБЦ) и указании типообразующего псевдонима [Признак $Перечисление.Булево] при вызове драйвера передает текст (Отладка(1))
[Признак_1c_type_Перечисление_Булево] и такой заголовок загружает в таблицу результата
при этом никакого преобразования не производится.
В колонке с названием "Признак_1c_type_Перечисление_Булево" сидит строка с внутренним
представлением , а не перечисление

выяснил что это происходит и при типообразующем псевдониме $Справочник.ххх

Ужас

проверено на версиях 1с++ 2.0.3.4, 2.5.0.2

это 1с++ или я что-то не так делаю ?

пс.
глюк НЕ налюдается если подключаться из DBF к DBF, из DBF к SQL
(в Отладка(1) виден псевдоним as [имя_1c_type_тип_вид] , но в таблицу загружается все корректно)
« Последняя редакция: 12. Июня 2007 :: 07:37 - smallits »  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: глюк с типообразующими псевдонимами вообще
Ответ #1 - 12. Июня 2007 :: 06:28
Печать  
Попробуй 2.5.0.2
Было у мене такое на старых релизах.
  
Наверх
 
IP записан
 
smallits
YaBB Newbies
*
Отсутствует


...

Сообщений: 7
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: глюк с типообразующими псевдонимами вообще
Ответ #2 - 12. Июня 2007 :: 06:41
Печать  
приверил на 2.5.0.2
то же самое
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: глюк с типообразующими псевдонимами вообще
Ответ #3 - 12. Июня 2007 :: 06:51
Печать  
А из dbf-ной базы в dbf-ную пробовал?
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: глюк с типообразующими псевдонимами вообще
Ответ #4 - 12. Июня 2007 :: 07:02
Печать  
Подтверждаю (0).
Действительно когда делаеш запрос из SQL базы в DBF базу то типизация вообще не работает,хотя если из DBF в DBF то все нормально!
НАРОД!
Надо с ентим шо-то решать!
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: глюк с типообразующими псевдонимами вообще
Ответ #5 - 12. Июня 2007 :: 07:38
Печать  
Соединение делаеться через
// возвращает Объект типа ODBCRecordSet или OLEDBCommand в зависимости от типа соединения + при
//указании пути устанавливается соеднение с другой базой!
Функция глСоединение(ТипСоединения="",ПутьИБ="",Пользователь="",Пароль="") Экспорт
     Каталог=КаталогИБ();
     Если Врег(ТипСоединения)="SQL" Тогда
           БД =СоздатьОбъект("ODBCDataBase");
           Запрос=СоздатьОбъект("ODBCRecordSet");
           Если ПустоеЗначение(ПутьИБ)=0 Тогда
                 СтрокаСоединения = "Driver={SQL Server};Server=%1;Database=%2;Uid=%3;Pwd=%4;";
                 БД.ПрисоединитьИБ(ПутьИБ,Пользователь,Пароль,СтрокаСоединения);
                 Запрос.УстБД(БД);
           КонецЕсли;
           Возврат Запрос;
     ИначеЕсли Врег(ТипСоединения)="ОЛЕ" Тогда
           Попытка
                 БД = СоздатьОбъект("OLEDBData");   
                 Если ПустоеЗначение(ПутьИБ)=0 Тогда
                       БД.ПрисоединитьИБ(ПутьИБ);
                 Иначе
                       СтрокаСоединения = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + Каталог
                       + ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";;
                       БД.Соединение(СтрокаСоединения);
                 КонецЕсли;
                 Команда=БД.СоздатьКоманду();
                 Команда.УстановитьКаталогВремТаблиц(КаталогВременныхФайлов());
                 Возврат Команда;
           Исключение
                 Возврат глСоединение("ДБФ",ПутьИБ);
           КонецПопытки;
     ИначеЕсли Врег(ТипСоединения)="ДБФ" Тогда
           Попытка
                 БД =СоздатьОбъект("ODBCDataBase");
                 Если ПустоеЗначение(ПутьИБ)=0 Тогда
                       БД.ПрисоединитьИБ(ПутьИБ);
                 Иначе
                       БД.Соединение("DRIVER={Microsoft Visual FoxPro Driver}Смехeleted=Yes;
                       |Null=Yes;Collate=RUSSIAN;Exclusive=No;SourceType=DBF;SourceDB="+Каталог);
                 КонецЕсли;
                 Запрос=СоздатьОбъект("ODBCRecordSet");
                 Запрос.УстБД(БД);
                 Возврат Запрос;
           Исключение
                 Возврат 0;
           КонецПопытки;
     ИначеЕсли Врег(ТипСоединения)="ADV" Тогда
           СтрокаСоединения="
           |Provider=Advantage.OLEDB.1;
           |Data Source=" + Каталог + ";
           |TableType=ADS_CDX;
           |ServerType=ADS_LOCAL_SERVER;
           |SecurityMode=ADS_IGNORERIGHTS;
           |LockMode=ADS_COMPATIBLE_LOCKING;
           |ShowDeleted=FALSE;
           |DbfsUseNulls=TRUE;
           |CharType=ADS_ANSI;
           |TrimTrailingSpaces=FALSE;
           |";      
           БД = СоздатьОбъект("OLEDBData");   
           БД.Соединение(СтрокаСоединения);
           Команда=БД.СоздатьКоманду();
           Команда.УстановитьКаталогВремТаблиц(КаталогВременныхФайлов());
           Возврат Команда;
     Иначе
           МФ=СоздатьОбъект("MetaInfoClasses");
           Если МФ.ЭтоSQL_Версия()=1 Тогда
                 Возврат глСоединение("SQL");
           Иначе
                 Если МонопольныйРежим()=1 Тогда
                       Возврат 0;
                 Иначе
                       Возврат глСоединение("ОЛЕ",ПутьИБ);
                 КонецЕсли;
           КонецЕсли;
     КонецЕсли;
КонецФункции      // глСоединение
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: глюк с типообразующими псевдонимами вообще
Ответ #6 - 12. Июня 2007 :: 08:53
Печать  
Проверил на вер 2.0.3.1 и ОЛЕ и ДБФ результат тот же
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: глюк с типообразующими псевдонимами вообще
Ответ #7 - 12. Июня 2007 :: 09:13
Печать  
Вообщем склонен к мысли по другому поводу.
В принципе это баг.
Вот только вопрос зачем типизировать поля из разныхбаз.
Тем более в SQL из DBF, а не проше по какомунибудь уникальному ключу делать соединение таблиц?
А раз уж у тебе база SQL так не проше и вторую тоже сделать SQL?
На сколько я понимаю они в распределенке?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать