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

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

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


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

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

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

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

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

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


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


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


Первое,, что тестил, результат тот же. Пустая таблица.
Притом запрос не через СКД, даёт тот же результат, к сожалению.
Да и отборы транспилируются платформой в качестве "WHERE" при компоновке запроса в базу.
4. Timur.V 77 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 58 03.08.23 15:11 Сейчас в теме
(5) Да, есть, но всё пустое.
7. user1973639 03.08.23 09:12 Сейчас в теме
Странно 1С как-то с Firebird работает. Я лично не разобрался. Тупо написал процедуру, в которой отправляется запрос, в ответ таблица значений. Сам запрос отлаживаю через саму консоль Firebird. Задача была разовая, заказчика устроило. Собирает данные из системы доступа по карточкам.
9. Alonarista 58 03.08.23 15:14 Сейчас в теме +4 $m
(7) Согласен, очень странно, но я разобрался.
Вопрос был в параметрах подключения к базе.
Кто то переопределил драйвер Firebase на сервере 1С, в результате я поимел кучу головняка, а заказчик получил расходы.
10. user1973639 03.08.23 16:00 Сейчас в теме
(9)Жестоко. А может там еще какой софт кроме 1С стоит? И он тебе ее обратно переопределит потом.
11. Alonarista 58 04.08.23 06:57 Сейчас в теме
(10) Нет, виновный найден и уже получил по ручкам своим шаловливым
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день