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

Ошибка чтения значения

Автор ivangrant, 23 окт 2019, 16:12

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

ivangrant

Тысячу тем нашёл и ни одной нет решения :(
При выполнении запроса выпадает "ошибка чтения значения" по всем отбираемым полям в запросе. Ошибку ловил в отладчике.
Пробовал и ссылки запихивать и строки, и в отбор и в запрос. Бестолку.
Консолькой всё показывает.
В запросе не хочет. Запрос находится во внешнем обработчике.
Вот сам он:
Функция ПолучитьРуководителя(Организация, Дата)

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ОтветственныеЛица.Руководитель КАК Руководитель,
| ОтветственныеЛицаПолномочия.Должность КАК Должность,
| ОтветственныеЛицаПолномочия.ОснованиеПодписи
|ИЗ
| РегистрСведений.СведенияОбОтветственныхЛицах.СрезПоследних КАК ОтветственныеЛица
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ОснованияПолномочийОтветственныхЛиц КАК ОтветственныеЛицаПолномочия
| ПО
| ОтветственныеЛица.Организация = ОтветственныеЛицаПолномочия.Организация
| И ОтветственныеЛица.Руководитель = ОтветственныеЛицаПолномочия.ФизическоеЛицо
|ГДЕ
| ОтветственныеЛица.Период <= &Период
| И ОтветственныеЛица.Организация = &Организация";

Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Период", Дата);
Выбор = Запрос.Выполнить().Выбрать();
Если Выбор.Следующий() Тогда
Возврат Новый Структура ("Руководитель, Должность, ОснованиеПодписи", Выбор.Руководитель, Выбор.Должность, Выбор.ОснованиеПодписи);
КонецЕсли;
Возврат Неопределено;
КонецФункции


Где ещё посмотреть варианты решения?

LexaK

попробуйте добавить ключевое слово Разрешенные
Запрос.Текст = "ВЫБРАТЬ Разрешенные
... и т.д.
у меня такое было при попытке читать с ограничениями по РЛС (видимо за исключением разрешенных полей), тогда не понятно почему у вас в консоли работает
если помогло нажмите: Спасибо!

ivangrant

Цитата: LexaK от 23 окт 2019, 17:19
попробуйте добавить ключевое слово Разрешенные
Запрос.Текст = "ВЫБРАТЬ Разрешенные
... и т.д.
у меня такое было при попытке читать с ограничениями по РЛС (видимо за исключением разрешенных полей), тогда не понятно почему у вас в консоли работает
Спасибо, но помогло без добавления РАЗРЕШЕННЫЕ.
Ошибка была в запросе - не туда добавил условие. Нужно было в параметры виртуальной таблицы.
Добавлено: 23 окт 2019, 19:35


Ну и в догонку. Почти такой же по структуре запрос. Но с той же ошибкой.
Опять что-то недосмотрел?


Функция ПолучитьФИО(Физлицо, Период)
   
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ФИОФизическихЛицСрезПоследних.Фамилия КАК Фамилия,
    |    ФИОФизическихЛицСрезПоследних.Имя КАК Имя,
    |    ФИОФизическихЛицСрезПоследних.Отчество КАК Отчество
    |ИЗ
    |    РегистрСведений.ФИОФизическихЛиц.СрезПоследних(&Период, ФизическоеЛицо = &ФизЛицо) КАК ФИОФизическихЛицСрезПоследних";
   
    Запрос.УстановитьПараметр("Период", Период);
    Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо);
    Выбор = Запрос.Выполнить().Выбрать();
    Если Выбор.Следующий() Тогда
        Возврат Новый Структура("Фамилия, Имя, Отчество", Выбор.Фамилия, Выбор.Имя, Выбор.Отчество);
    КонецЕсли;   
    Возврат Неопределено;
КонецФункции

LexaK

какая ошибка? на реквизиты Фамилия, Имя ?
тогда попробуйте так

Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ФИОФизическихЛицСрезПоследних.ФизическоеЛицо.Фамилия КАК Фамилия,
    |    ФИОФизическихЛицСрезПоследних.ФизическоеЛицо.Имя КАК Имя,
    |    ФИОФизическихЛицСрезПоследних.ФизическоеЛицо.Отчество КАК Отчество
    |ИЗ
    |    РегистрСведений.ФИОФизическихЛиц.СрезПоследних(&Период, ФизическоеЛицо = &ФизЛицо) КАК ФИОФизическихЛицСрезПоследних";
   
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск