Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 13:10

При попытке выгрузки колонки выдаёт "Недопустимое значение параметра (параметр номер '1')"

Автор xheirt, 28 апр 2024, 04:25

0 Пользователей и 1 гость просматривают эту тему.

xheirt

Мне нужно заполнить массив сотрудников, я пытаюсь выгрузить их имена из таблицы, но возникает ошибка:

"Ошибка при вызове метода контекста (ВыгрузитьКолонку)
{Документ.НачисленияСотрудникам_11.МодульОбъекта(39)}:   МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник");
по причине:
Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)
Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)"

часть кода, в которой возникает ошибка:

Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| НачисленияСотрудникам_11.Сотрудник_11 КАК Начисления_11
|ИЗ
| Документ.НачисленияСотрудникам_11.Начисления_11 КАК НачисленияСотрудникам_11
|ГДЕ НачисленияСотрудникам_11.Ссылка = &ТекущийДокумент";
Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);

// Сформируем список сотрудников.
ТаблЗнач = Запрос.Выполнить().Выгрузить();
МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник");

Я уверен что проблема с неправильным указанием наименования колонки, но уже перепробовал всё("Сотрудник", "Сотрудник_11", "Начисления_11Сотрудник_11"). Не пойму в чём моя ошибка. Прошу Вашей помощи

Максим75

xheirt, так у Вас в запросе нет Сотрудник, есть Начисления_11. Или в запросе переименуйте или в выгрузке в массив.

xheirt


xheirt

Максим75, Можно попросить Вас подсказать еще один момент. У меня компилятор на запрос ругается:
ошибка:
Неверный параметр "ИзмеренияОсновногоРегистра" (измерение 0 не соответствует ни одному из измерений основного регистра)И сам запрос:
ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления_11.Премия Тогда
        Запрос = Новый Запрос;
       
        Запрос.Текст =
            "ВЫБРАТЬ
            |    Начисления_11БазаНачисления_11.Результат_11База КАК База,
            |    Начисления_11БазаНачисления_11.НомерСтроки КАК НомерСтроки
            |ИЗ
            |    РегистрРасчета.Начисления_11.БазаНачисления_11(
            |            &ИзмеренияОсновного,&ИзмеренияБазового, ,
            |            Регистратор = &Регистратор
            |            И ВидРасчета = &ВидРасчета
            |            И Сотрудник_11 В (&СписокСотрудников)) КАК Начисления_11БазаНачисления_11";
       
        Измер = Новый Массив(1);
        Измер[0] = "Сотрудник";   
       
        Запрос.УстановитьПараметр("ИзмеренияОсновного", Измер);
        Запрос.УстановитьПараметр("ИзмеренияБазового", Измер);
           Запрос.УстановитьПараметр("Регистратор", Регистратор);
           Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);
           Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);
       
        ВыборкаРезультата = Запрос.Выполнить().Выбрать();

Более полная ошибка:
Ошибка при вызове метода контекста (Выполнить)
{ОбщийМодуль.ВыполнениеРасчетов.Модуль(68)}: ВыборкаРезультата = Запрос.Выполнить().Выбрать();
{Документ.НачисленияСотрудникам_11.МодульОбъекта(43)}: ВыполнениеРасчетов.РассчитатьНачисления(Движения.Начисления_11, ПланыВидовРасчета.ОсновныеНачисления_11.Премия, МассивСотрудников);
по причине:
{(5, 2)}: Ошибка обработки представления "РегистрРасчета.Начисления_11.БазаНачисления_11"
<<?>>РегистрРасчета.Начисления_11.БазаНачисления_11(
по причине:
Неверный параметр "ИзмеренияОсновногоРегистра" (измерение 0 не соответствует ни одному из измерений основного регистра)

по причине:
{(5, 2)}: Ошибка обработки представления "РегистрРасчета.Начисления_11.БазаНачисления_11"
<<?>>РегистрРасчета.Начисления_11.БазаНачисления_11(
по причине:
Неверный параметр "ИзмеренияОсновногоРегистра" (измерение 0 не соответствует ни одному из измерений основного регистра)

Каримдат

Цитата: xheirt от 28 апр 2024, 12:22Измер = Новый Массив(1);         Измер[0] = "Сотрудник";
Вы строку передаёте в массиве. А требуется вероятно перечисление. Или же справочник.

xheirt

Каримдат, Подскажите пожалуйста, а как явно указать вместо строки нужный тип данных? А вообще да, сотрудник это справочник

Каримдат

xheirt, к примеру:
СпрСотрудник = Справочники.Сотрудники.НайтиПоНаименованию(ИмяСотрудника);
Измер = Новый Массив;
        Измер.Добавить(СпрСотрудник);

xheirt


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск