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

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

Автор algrib, 24 янв 2017, 13:50

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

algrib

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

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

При проверке Результат "Ошибка чтения значения". Не могу понять в чем причина

bartolomew

Вроде как не задали значение для параметра &ФизЛицо из запроса

algrib

Цитата: bartolomew от 24 янв 2017, 13:53
Вроде как не задали значение для параметра &ФизЛицо из запроса
Но это то работает и выводит данные
//Образование
ОбластьШапки = Макет.ПолучитьОбласть("ШапкаОбразование");
ТД.Вывести(ОбластьШапки);
Область = Макет.ПолучитьОбласть("СтрокаОбразование");
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛицаОбразование.ВидОбразования.Наименование КАК ВидОбразования,
| ФизическиеЛицаОбразование.УчебноеЗаведение.Наименование КАК УчебноеЗаведение,
| ФизическиеЛицаОбразование.ГодОкончания,
| ФизическиеЛицаОбразование.Специальность.Наименование КАК Специальность,
| ФизическиеЛицаОбразование.Квалификация
//| ФизическиеЛицаОбразование.СреднийБалПоДиплому
|ИЗ
| Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование
|ГДЕ
| ФизическиеЛицаОбразование.Ссылка = &Физлицо";

Результат = Запрос.Выполнить().Выбрать();
Если Результат.Количество() = 0 Тогда
ТД.Вывести(Область);
КонецЕсли;

Пока Результат.Следующий() Цикл
Область.Параметры.Образование   = Результат.ВидОбразования;
Область.Параметры.Учреждение    = Результат.УчебноеЗаведение;
Область.Параметры.ДатаОкончания = Формат(Результат.ГодОкончания, "ЧГ=");
Область.Параметры.СпецПоДиплому = Результат.Специальность;
Область.Параметры.Квалификация  = Результат.Квалификация;
//Область.Параметры.СреднийБалПоДиплому = Формат(Результат.СреднийБалПоДиплому, "ЧЦ=4; ЧДЦ=2");
ТД.Вывести(Область);
Область = Макет.ПолучитьОбласть("СтрокаОбразование");
КонецЦикла;

bartolomew

Цитата: algrib от 24 янв 2017, 14:02
Цитата: bartolomew от 24 янв 2017, 13:53
Вроде как не задали значение для параметра &ФизЛицо из запроса
Но это то работает и выводит данные
//Образование
ОбластьШапки = Макет.ПолучитьОбласть("ШапкаОбразование");
ТД.Вывести(ОбластьШапки);
Область = Макет.ПолучитьОбласть("СтрокаОбразование");
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛицаОбразование.ВидОбразования.Наименование КАК ВидОбразования,
| ФизическиеЛицаОбразование.УчебноеЗаведение.Наименование КАК УчебноеЗаведение,
| ФизическиеЛицаОбразование.ГодОкончания,
| ФизическиеЛицаОбразование.Специальность.Наименование КАК Специальность,
| ФизическиеЛицаОбразование.Квалификация
//| ФизическиеЛицаОбразование.СреднийБалПоДиплому
|ИЗ
| Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование
|ГДЕ
| ФизическиеЛицаОбразование.Ссылка = &Физлицо";

Результат = Запрос.Выполнить().Выбрать();
Если Результат.Количество() = 0 Тогда
ТД.Вывести(Область);
КонецЕсли;

Пока Результат.Следующий() Цикл
Область.Параметры.Образование   = Результат.ВидОбразования;
Область.Параметры.Учреждение    = Результат.УчебноеЗаведение;
Область.Параметры.ДатаОкончания = Формат(Результат.ГодОкончания, "ЧГ=");
Область.Параметры.СпецПоДиплому = Результат.Специальность;
Область.Параметры.Квалификация  = Результат.Квалификация;
//Область.Параметры.СреднийБалПоДиплому = Формат(Результат.СреднийБалПоДиплому, "ЧЦ=4; ЧДЦ=2");
ТД.Вывести(Область);
Область = Макет.ПолучитьОбласть("СтрокаОбразование");
КонецЦикла;


Запрос не сможет сформироваться без указания значений параметров. Или вы просто в коде здесь не указали эту строчку: "Запрос.УстановитьПараметр("Физлицо", ЗначениеФизЛица);" ?

algrib

Все верно. Он и не должен ни чего выводить, так как в Справочник.ФИзическиелица.Трудовая деятельность не заполнен. Нужно данные по перемещениям в организации брать в другом месте.

bartolomew

Попробуйте закомментить эти строчки запроса
|ГДЕ
|    ФизическиеЛицаТрудоваяДеятельность.Ссылка = &ФизЛицо

Теги:

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

Рейтинг@Mail.ru

Поиск