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

Правильно составить запрос

Автор Fangus, 02 сен 2013, 15:46

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

Fangus

Всем привет!
Помогите пожалуйста исправить ошибку назначением параметра Пациент?
Ошибка:
{Форма.ТаблицаВыборки.Форма(40)}: Ошибка при вызове метода контекста (Выполнить)
   Выборка = ЗапросТЕЛ.Выполнить().Выбрать();
по причине:
{(7, 11)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
Объект <<?>>= &Пациент


...
ЗапросПациент.Текст =
"ВЫБРАТЬ
| ДОУП.Пациент
|ИЗ
| Документ.ОказаниеУслугПациенту КАК ДОУП
| ГДЕ ДОУП.Сотрудник.ФизическоеЛицо.Фамилия = ""Варданян""";   

РезультатПациент = ЗапросПациент.Выполнить().Выбрать();

КолонкаФИО = НоваяТЗ.Колонки.Добавить("ФамилияИмяОтчество");
КолонкаДР = НоваяТЗ.Колонки.Добавить("ДатаРождения");
КолонкаТЕЛ = НоваяТЗ.Колонки.Добавить("Телефон");

КолонкаФИО.Заголовок = "Фамилия Имя Отчество";
КолонкаДР.Заголовок = "Дата рождения";
КолонкаТЕЛ.Заголовок = "Телефон";

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

ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент);

...

LordWizard

Вопрос: а что вы передаете в качестве параметра во второй запрос?? Почему не ссылку? я бы для начала сделал так.
Поиск = РезультатЗапроса1. Пациент;
Запрос2.УстановитьПараметр("Найденное", Поиск);
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Yura063

Помогли, отблагодари!

Fangus

Вот как раз хотел ссылку, но на этот вариант:

...
ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент.Ссылка);
...

вылетает следующее:

{Форма.ТаблицаВыборки.Форма(38)}: Поле объекта не обнаружено (Ссылка)
   ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент.Ссылка);


Yura063

Цитата: Fangus от 02 сен 2013, 16:05
Вот как раз хотел ссылку, но на этот вариант:

...
ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент.Ссылка);
...

вылетает следующее:

{Форма.ТаблицаВыборки.Форма(38)}: Поле объекта не обнаружено (Ссылка)
   ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент.Ссылка);


скорее всего
ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент.Пациент);
или
ЗапросТЕЛ.УстановитьПараметр("Пациент", РезультатПациент.Пациент.Ссылка);
Помогли, отблагодари!

Fangus


LordWizard

я же и писал вверху - сначала через запрос получить результат =)через реквизит запроса, а потом подставить..
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

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

Рейтинг@Mail.ru

Поиск