Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Что-то невероятное... (число прочтений - 1864 )
Den@
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 24. Октября 2008
Что-то невероятное...
09. Сентября 2009 :: 12:58
Печать  
Делаю запрос к справочнику контрагенты:

     ТекстЗапроса = "
     |SELECT
     |            LTRIM(RTRIM($Контр.Фамилия)) + ' ' + LTRIM(RTRIM($Контр.Имя)) + ' ' + LTRIM(RTRIM($Контр.Отчество)) as ФИО,
     |            $Контр.АдресФактический as АдресФактический,
     |            $Контр.ПаспортНомер as ПаспортНомер
     |FROM
     |            $Справочник.Контрагенты as Контр";

Выдает ФИО как надо, паспорт тоже, а вот с полем АдресФактический творится какая то полная чушь... В 1с оно заполнено практически у всех контрагентов, и отображается все корректно. Длина поля в конфигураторе 51.
В данном запросе - для всех выведенных строк поле пустое!
Смотрю текст запроса с Отладка(1), ссылка идет на SP474. Открываю DBF для просмотра - данные в этом поле есть (однако, когда проверил в дальнейшем, при создании нового элемента, данные вместо этого поля заносятся в поле SP478) При указаннии в запросе напрямую SP474 результат не меняется...
В DD-шнике написано что: F=SP474     |(P)АдресФактический |C   |512   |0  
DD-шник пересоздавал, все оставалось прежним.
Провел тестирование и исправление - особых ошибок не найдено.

У контрагента есть также поле "должность", так вот, по DD:

F=SP477     |(P)Должность        |C   |50    |0

При этом при создании нового элемента поле SP477 в таблице остается пустым - для уже существующих оно тоже пустое, т.е. вообще вся колонка всегда пустая. При просмотре в 1с все на месте...

Вопрос... что это за фигня  Ужас И как мне заставить запрос выдавать те же данные что преспокойно берет откуда-то сама 1с. Может я что-то критически не понимаю, подскажите пожалуйста.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Что-то невероятное...
Ответ #1 - 09. Сентября 2009 :: 13:25
Печать  
Какая длина должна быть у реквизита  АдресФактический ?
  
Наверх
 
IP записан
 
Den@
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 24. Октября 2008
Re: Что-то невероятное...
Ответ #2 - 09. Сентября 2009 :: 13:27
Печать  
"Длина поля в конфигураторе 51." таблицу длинных строк тоже кстати просмотрел на всякий... ничего там нет.
И у контрагента есть более длинное строковое поле "ПаспортВыданУчреждение" - которое и в таблице отображается и по запросу все данные выходят...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Что-то невероятное...
Ответ #3 - 09. Сентября 2009 :: 13:31
Печать  
Давайте последовательно разбираться.
1. Сделайте копию базы и Все эксперементы только на ней.

Измените конфигурацию в базе саму на себя.

Далее какой должна быть длина реквизита фактич адрес?
  
Наверх
 
IP записан
 
Den@
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 24. Октября 2008
Re: Что-то невероятное...
Ответ #4 - 09. Сентября 2009 :: 14:38
Печать  
Вроде вопрос разрешился. Как и предполагалось, все-таки из за длины полей. Верить надо DD, а не конфигуратору  Улыбка В конфигураторе такое маленькое окошко под числа, отображающие длину поля, что входит только две цифры, да еще и вручную можно ввести тоже только две цифры. Это и вводит в заблуждение - кажется что длина поля 51, на самом деле 512. Если длина строкового поля укладывается в 255, то оно записывается в таблицу и запросом оттуда все выводится как следует. Почему в длинных строках не нашел данных, не знаю, плохо искал наверное  Улыбка Почему должность не отображалась вообще, хотя длина у нее точно была 50 - так и не понял.
Поправил длины поля, ограничив 200-255 максимальную длину, и все заработало как надо, все поля выводятся.  Очень довольный
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Что-то невероятное...
Ответ #5 - 09. Сентября 2009 :: 14:55
Печать  
только что в тестовой базе dbf сделал.Все ок.
в конфигураторе нормально отобразилась в том же самом окошке
поле строка с длиной 550. При смене конфигурации на основании md
файл dd пересоздается а не наоборот.

Скорее всего поменял шрифты конфигуратора вот поле с длиной и не влезает и неправильно отображается.
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Что-то невероятное...
Ответ #6 - 10. Сентября 2009 :: 05:37
Печать  
При использовании стиля винды Xp, действительно отображается только 2 символа, если использовать простой стиль тогда выводится 3 символа. 1С-ИНА 77 БЫЛА НАПИСАНА ВО ВРЕМЕНА 95-98 ВИНДЫ
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Что-то невероятное...
Ответ #7 - 10. Сентября 2009 :: 05:44
Печать  
leov-001 писал(а) 10. Сентября 2009 :: 05:37:
При использовании стиля винды Xp, действительно отображается только 2 символа, если использовать простой стиль тогда выводится 3 символа. 1С-ИНА 77 БЫЛА НАПИСАНА ВО ВРЕМЕНА 95-98 ВИНДЫ

Есть гораздо более критические ошибки чем эта,
даже очень древние которые тоже никогда не будут исправляться.
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Что-то невероятное...
Ответ #8 - 10. Сентября 2009 :: 08:35
Печать  
Z1 писал(а) 10. Сентября 2009 :: 05:44:
leov-001 писал(а) 10. Сентября 2009 :: 05:37:
При использовании стиля винды Xp, действительно отображается только 2 символа, если использовать простой стиль тогда выводится 3 символа. 1С-ИНА 77 БЫЛА НАПИСАНА ВО ВРЕМЕНА 95-98 ВИНДЫ

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


Это точно.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать