Чт, 18.12.2025, 20:56:23
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Консоль запросов. Индекс находится за границами массива
yasnovidyashiiДата: Пн, 15.09.2025, 16:07:05 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 178
Репутация: 232
Статус: Оффлайн
Пишу отчет для ЗУП в консоли компоновок.
Отлаживаю запрос по мере написания в консоли запросов.

При выполнении запроса с настройками компоновки получаю ошибку:

Код
Индекс находится за границами массива
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2634)}:СтрокаДерева.РазмерРезультата = РезультатЗапроса.Выгрузить()[0][0];
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2591)}:ОбновитьКоличествоСтрокРезультата(мРезультатПакета[ЭлементРезультата.Индекс], СтрокаДерева);
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2402)}:ЗагрузитьРезультатПакета();
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(11077)}:ВыполнитьЗапрос(,,,, Истина);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]



При «обычном» выполнении того же запроса ошибка не возникает.
При выполнении каждого подзапроса в отдельности ошибки также нет.

Добавлено (15.09.2025, 16:17:14)
---------------------------------------------
Второй подзапрос возвращает пустой результат. Похоже, корень ошибки в этом.
Поменял запросы местами — ошибка возникать перестала.

Добавлено (15.09.2025, 16:21:39)
---------------------------------------------
Смена периода в параметрах компоновки также подтверждает версию, что ошибка возникает при пустом результате второго подзапроса.

Сообщение отредактировал yasnovidyashii - Пн, 15.09.2025, 16:09:39
 
tormozitДата: Пн, 15.09.2025, 17:25:29 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 7257
Репутация: 193
Статус: Оффлайн
Нужна полная картинка окна консоли в момент появления ошибки и точное название выполняемой команды
 
yasnovidyashiiДата: Пн, 15.09.2025, 20:36:23 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 178
Репутация: 232
Статус: Оффлайн
Точное название кнопки: Выполнить с настройками (F6)
Обработчик: КоманднаяПанельФормыВыполнитьСНастройками

Прикрепления: 6952382.png (553.2 Kb)
 
tormozitДата: Пн, 15.09.2025, 23:35:44 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 7257
Репутация: 193
Статус: Оффлайн
Пока не удалось воспроизвести. Возможно играют роль и сами настройки компоновки. Покажи их.
Тест я провожу на запросе без метаданных. Поэтому описание теста без метаданных сильно бы ускорило расследование.
 
yasnovidyashiiДата: Вт, 16.09.2025, 08:31:36 | Сообщение # 5
Полковник
Группа: Проверенные
Сообщений: 178
Репутация: 232
Статус: Оффлайн
Цитата tormozit ()
Возможно играют роль и сами настройки компоновки. Покажи их



Прикрепления: 0216088.png (6.4 Kb) · 2723657.png (79.7 Kb)
 
yasnovidyashiiДата: Ср, 17.09.2025, 10:22:44 | Сообщение # 6
Полковник
Группа: Проверенные
Сообщений: 178
Репутация: 232
Статус: Оффлайн
Цитата tormozit ()
Тест я провожу на запросе без метаданных. Поэтому описание теста без метаданных сильно бы ускорило расследование.

Текст запроса без метаданных:

Код
//{Запрос: 0, -3 ////////////////////////////////////////
ВЫБРАТЬ
    "Регистратор1" КАК Регистратор,
    ДАТАВРЕМЯ(2025, 1, 1) КАК Период,
    "Сотрудник1" КАК ФизическоеЛицо,
    100 КАК КВыплате,
    13 КАК НДФЛ
ПОМЕСТИТЬ ВТ_ИсходныеДанные
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
    "Регистратор2" КАК Регистратор,
    ДАТАВРЕМЯ(2025, 1, 1) КАК Период,
    "Сотрудник2" КАК ФизическоеЛицо,
    300 КАК КВыплате,
    39 КАК НДФЛ
;
//{Запрос: 1, -2 ////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ИсходныеДанные.Регистратор КАК Регистратор,
    СУММА(ВТ_ИсходныеДанные.КВыплате) КАК КВыплате
ПОМЕСТИТЬ ВТ_Выплата
ИЗ
    ВТ_ИсходныеДанные КАК ВТ_ИсходныеДанные
{ГДЕ
    ВТ_ИсходныеДанные.Период >= &ДатаНачала,
    ВТ_ИсходныеДанные.Период <= &ДатаОкончания}
СГРУППИРОВАТЬ ПО
    ВТ_ИсходныеДанные.Регистратор
;
//{Запрос: 2, -1 ////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ИсходныеДанные.Регистратор КАК Регистратор,
    СУММА(ВТ_ИсходныеДанные.НДФЛ) КАК НДФЛ
ПОМЕСТИТЬ ВТ_НДФЛ
ИЗ
    ВТ_ИсходныеДанные КАК ВТ_ИсходныеДанные
{ГДЕ
    ВТ_ИсходныеДанные.Период >= &ДатаНачала,
    ВТ_ИсходныеДанные.Период <= &ДатаОкончания}
СГРУППИРОВАТЬ ПО
    ВТ_ИсходныеДанные.Регистратор

Формировать за период, не включающий в себя дату 01.01.2025.
В виде файла в аттаче.
Прикрепления: ir_oshibkakompnovki_konsolzapr.sel (26.0 Kb)
 
tormozitДата: Ср, 17.09.2025, 11:24:55 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 7257
Репутация: 193
Статус: Оффлайн
Код
ОбновитьКоличествоСтрокРезультата(мРезультатПакета[ЭлементРезультата.Индекс], СтрокаДерева);

замени на
Код
ПолучатьСозданнуюВременнуюТаблицу = ПустаяСтрока(мОписаниеРезультата.МассивСоздаваемыхВременныхТаблиц[ЭлементРезультата.Индекс]);
            ОбновитьКоличествоСтрокРезультата(мРезультатПакета[ЭлементРезультата.Индекс], СтрокаДерева, ПолучатьСозданнуюВременнуюТаблицу);
 
tormozitДата: Ср, 17.09.2025, 11:27:56 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 7257
Репутация: 193
Статус: Оффлайн
Ошибку воспроизвел  https://www.hostedredmine.com/issues/1007197
 
yasnovidyashiiДата: Ср, 17.09.2025, 11:31:31 | Сообщение # 9
Полковник
Группа: Проверенные
Сообщений: 178
Репутация: 232
Статус: Оффлайн
Замену осуществил. Помогло. Спасибо.
 
tormozitДата: Вс, 21.09.2025, 19:54:39 | Сообщение # 10
Генералиссимус
Группа: Администраторы
Сообщений: 7257
Репутация: 193
Статус: Оффлайн
Исправлено в 7.94
 
  • Страница 1 из 1
  • 1
Поиск: