Пятница, 03.05.2024, 22:25
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Проблемные ситуации » Обработка NULL в запросе в толстом клиенте (Ошибка исполнения запроса)
Обработка NULL в запросе в толстом клиенте
BabysДата: Понедельник, 01.04.2019, 16:42 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 10
Статус: Оффлайн
Есть запрос:
Код
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
   ИсторияКППКонтрагентов.КПП КАК КПП
ПОМЕСТИТЬ ИсторическоеЗначениеКПП
ИЗ
   Справочник.Контрагенты.ИсторияКПП КАК ИсторияКППКонтрагентов
ГДЕ
   ИсторияКППКонтрагентов.Ссылка = &Контрагент
   И ИсторияКППКонтрагентов.Период <= &ДатаСведений

УПОРЯДОЧИТЬ ПО
   ИсторияКППКонтрагентов.Период УБЫВ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
   ИсторияНаименованийКонтрагентов.НаименованиеПолное КАК НаименованиеПолное
ПОМЕСТИТЬ ИсторическоеЗначениеНаименования
ИЗ
   Справочник.Контрагенты.ИсторияНаименований КАК ИсторияНаименованийКонтрагентов
ГДЕ
   ИсторияНаименованийКонтрагентов.Ссылка = &Контрагент
   И ИсторияНаименованийКонтрагентов.Период <= &ДатаСведений

УПОРЯДОЧИТЬ ПО
   ИсторияНаименованийКонтрагентов.Период УБЫВ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ЕСТЬNULL(ИсторическоеЗначениеНаименования.НаименованиеПолное, Контрагенты.НаименованиеПолное) КАК НаименованиеПолное,
Контрагенты.ИНН КАК ИНН,
   ЕСТЬNULL(ИсторическоеЗначениеКПП.КПП, Контрагенты.КПП) КАК КПП,
   Контрагенты.КодПоОКПО КАК КодПоОКПО,
   Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
   Контрагенты.НалоговыйНомер КАК НалоговыйНомер,
   Контрагенты.СтранаРегистрации КАК СтранаРегистрации,
   ЕСТЬNULL(СтраныМира.КодАльфа2, "") КАК КодАльфа2СтраныРегистрации,
   Контрагенты.ОбособленноеПодразделение КАК ОбособленноеПодразделение,
   Контрагенты.ГоловнойКонтрагент КАК ГоловнойКонтрагент
ИЗ
   Справочник.Контрагенты КАК Контрагенты
      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныМира
      ПО Контрагенты.СтранаРегистрации = СтраныМира.Ссылка
      ЛЕВОЕ СОЕДИНЕНИЕ ИсторическоеЗначениеКПП КАК ИсторическоеЗначениеКПП
      ПО (ИСТИНА)
      ЛЕВОЕ СОЕДИНЕНИЕ ИсторическоеЗначениеНаименования КАК ИсторическоеЗначениеНаименования
      ПО (ИСТИНА)
ГДЕ
   Контрагенты.Ссылка = &Контрагент

При формировании печатной формы в тонком клиенте поле НаименованиеПолное возвращает пустую строку.

В консоли запросов УФ 8.3.5.1 в тонком и толстом клиентах возвращает так же пустую строку.

В консоли запросов ИР возвращает Наименование контрагента.

Цитата
Платформа: 8.3.13.1644
Режим БД: клиент-серверный
Конфигурация. Название: БИТ:CRM 3 (Управление взаимоотношениями с клиентами) (11.4.6.188)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим совместимости: Версия8_3_12
Конфигурация. Версия БСП: 3.0.1.351
Инструменты разработчика. Версия: Расширение 4.86e
Инструменты разработчика. Объекты на сервере: Да
Расширения. РасширениеCRM (190326 001)
Расширения. РасширениеПечать (190321 001)
Расширения. ИнструментыРазработчикаTormozit (4.86e)
Клиент. ОС: Windows x86-64 Microsoft Windows 10 version 10.0  (Build 16299)
Клиент. Приложение: Управляемое приложение 64б
Клиент. От имени администратора Windows: Нет
Клиент. Текущий язык системы: ru_RU
Сервер. ОС: Windows x86-64 Microsoft Windows 8 version 6.2  (Build 9200)
Сервер. Отладка: tcp


Получается, что один и тот же запрос, в одной и той же сессии возвращает разные результаты в различных инструментах.
 
tormozitДата: Понедельник, 01.04.2019, 21:53 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6184
Репутация: 156
Статус: Оффлайн
Скорее всего имеет место грязный эксперимент, т.е. отличаются значения параметров в проведенных опытах.
Чтобы качественно разобраться в проблеме, нужно выполнить запрос с установкой параметров в коде и сохранить в отладчике результат-таблицу в виде табличного документа. Затем надо воспользоваться функцией ирОбщий.ОтЛкс(Запрос) и сделать снимок запроса. Далее нужно открыть снимок запроса, выполнить запрос и сравнить полученную таблицу с той, которая в отладчике сохранена. Различий не должно быть. Далее, если таблица отличается от полученной в ручную сделанном запросе в консоли, то нужно тщательно сравнить значения параметров в обоих случаях.
 
BabysДата: Среда, 03.04.2019, 11:44 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 10
Статус: Оффлайн
Спасибо. По экспериментирую.
 
Форум » Основной » Проблемные ситуации » Обработка NULL в запросе в толстом клиенте (Ошибка исполнения запроса)
  • Страница 1 из 1
  • 1
Поиск: