Разные результаты запроса из внешнего источника данных при работе через сервер и клиент

1. Alonarista 62 03.08.23 07:20 Сейчас в теме
Дамы и господа! Кто сталкивался с работой внешних источников данных, точнее с их не очень адекватным поведением?
Имеем базу на Firebird, которую через драйвера прокинули в конфигурацию как ВИД.
Имеем запрос в эту базу, который при программном формировании выдаёт пустую таблицу.
И имеем тот же самый запрос, который на клиенте, через консоль выдаёт необходимый результат.
Собственно вопрос: Что я делаю не так и куда копать?

Пример кода (программное формирование:
Код формирования СКД


Результатом тут является пустая таблица (см аттач)

Вот запрос из СКД:
Запрос из СКД

И во втором аттаче результат выполнения того же запроса, но через консольку или через встроенный отчёт...
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Timur.V 81 03.08.23 07:32 Сейчас в теме
(1)
// Разбираем предопределённые отборы

Для Каждого ВариантОтбора Из Настройки.Отбор.Элементы Цикл

Если Строка(ВариантОтбора.ЛевоеЗначение) = "DOCHEAD_FILIALINDEX" Тогда // Филиалы
Если СписокФилиалов.Количество() Тогда
ВариантОтбора.Использование = Истина;
ВариантОтбора.ПравоеЗначение = СписокФилиалов;
КонецЕсли;
ИначеЕсли Строка(ВариантОтбора.ЛевоеЗначение) = "DOCTYPE" Тогда // Типы документов
Если МассивТиповДокументов.Количество() Тогда
ВариантОтбора.Использование = Истина;
ВариантОтбора.ПравоеЗначение = МассивТиповДокументов;
КонецЕсли;
ИначеЕсли Строка(ВариантОтбора.ЛевоеЗначение) = "OPERATIONID_OPERATION" Тогда // Виды операций
Если МассивВидовОпераций.Количество() Тогда
ВариантОтбора.Использование = Истина;
ВариантОтбора.ПравоеЗначение = МассивВидовОпераций;
КонецЕсли;
КонецЕсли;

КонецЦикла;
Показать


Убери все фильтры, попробуй без них получить результат, вначале. (Период оставь, получи за один день)
Часто ошибка в них.
3. Alonarista 62 03.08.23 07:35 Сейчас в теме
(2)


Убери все фильтры, попробуй без них получить результат, вначале. (Период оставь, получи за один день)
Часто ошибка в них.


Первое,, что тестил, результат тот же. Пустая таблица.
Притом запрос не через СКД, даёт тот же результат, к сожалению.
Да и отборы транспилируются платформой в качестве "WHERE" при компоновке запроса в базу.
4. Timur.V 81 03.08.23 07:53 Сейчас в теме
(3)
Поменяй внешний источник данных на Таблицу значений (напиши для теста).
Так ты проверишь правильность кода.
Прикрепленные файлы:
ПримерОтчетаСТаблицейЗначений.erf
6. spacecraft 03.08.23 08:39 Сейчас в теме +1 $m
(1)
// Инициализация макета СКД

ОтчётСКД = Отчеты.СМаркетЗагрузкаДанныхИзВнешнегоИсточника.Создать();
СхемаКомпоновкиДанных = ОтчётСКД.СхемаКомпоновкиДанных;
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

// Настройки отчёта

ПараметрДатаНачала = СхемаКомпоновкиДанных.Параметры.Найти("ДатаНачала");
ПараметрДатаОкончания = СхемаКомпоновкиДанных.Параметры.Найти("ДатаОкончания");
ПараметрДатаНачала.Значение = ДатаНачала;
ПараметрДатаОкончания.Значение = ДатаОкончания;


Отбор через настройки получаете, а почему параметры так?

ПараметрДатаНачала = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаНачала"));
ПараметрДатаНачала.Использование = Истина;
ПараметрДатаНачала.Значение = ДатаНачала;
ПараметрДатаОкончания = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаОкончания"));
ПараметрДатаОкончания.Использование = Истина;
ПараметрДатаОкончания.Значение = ДатаОкончания;
5. user1880116 03.08.23 08:28 Сейчас в теме
(3)
Пустая таблица
Колонки в таблице есть?
8. Alonarista 62 03.08.23 15:11 Сейчас в теме
(5) Да, есть, но всё пустое.
7. user1973639 03.08.23 09:12 Сейчас в теме
Странно 1С как-то с Firebird работает. Я лично не разобрался. Тупо написал процедуру, в которой отправляется запрос, в ответ таблица значений. Сам запрос отлаживаю через саму консоль Firebird. Задача была разовая, заказчика устроило. Собирает данные из системы доступа по карточкам.
9. Alonarista 62 03.08.23 15:14 Сейчас в теме +4 $m
(7) Согласен, очень странно, но я разобрался.
Вопрос был в параметрах подключения к базе.
Кто то переопределил драйвер Firebase на сервере 1С, в результате я поимел кучу головняка, а заказчик получил расходы.
10. user1973639 03.08.23 16:00 Сейчас в теме
(9)Жестоко. А может там еще какой софт кроме 1С стоит? И он тебе ее обратно переопределит потом.
11. Alonarista 62 04.08.23 06:57 Сейчас в теме
(10) Нет, виновный найден и уже получил по ручкам своим шаловливым
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот