Имя: Пароль:
1C
1С v8
У запроса не обнаружено поле выполнить.
,
0 Romyr
 
04.12.13
07:56
Место действия - внеший модуль.
Время события - перед записью чека ккм.
Действующие лица запрос на выборку договоров
Текст запроса
[code]        "ВЫБРАТЬ
        |    ДоговорыКонтрагентов.Ссылка
        |ИЗ
        |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        |ГДЕ
        |    ДоговорыКонтрагентов.Владелец = &Контрагент
        |    И ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора
        |    И ДоговорыКонтрагентов.Организация = &Организация";
[/code]

При попытке выполнения запроса программа вываливается в исключение.
а shift+F9 говорит что "поле объекта не обнаружено"

На всякий случай кусок кода от инициализации до выполнения запроса.
[code]    ЗапросПоДоговорамКонтрагентов = Новый Запрос;
    ЗапросПоДоговорамКонтрагентов.Текст =
        "ВЫБРАТЬ
        |    ДоговорыКонтрагентов.Ссылка
        |ИЗ
        |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        |ГДЕ
        |    ДоговорыКонтрагентов.Владелец = &Контрагент
        |    И ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора
        |    И ДоговорыКонтрагентов.Организация = &Организация";
//Создание документа
    Если ЭтоРеализация = Истина
    Тогда
        НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
        Организация = Продавец;
        СтрокаЗапросаСобственныеКонтрагенты = РезультатЗапросаСобственныеКонтрагенты.Найти(Покупатель,"Объект");
        Контрагент = СтрокаЗапросаСобственныеКонтрагенты.Контрагент;
        ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
        ЗапросПоДоговорамКонтрагентов.УстановитьПараметр(ВидДоговора,"ВидДоговора");
        ЗапросПоДоговорамКонтрагентов.УстановитьПараметр(Контрагент,"Контрагент");
        ЗапросПоДоговорамКонтрагентов.УстановитьПараметр(Организация,"Организация");
        РезультатЗапросаПоДоговорам = ЗапросПоДоговорамКонтрагентов.Выполнить();[/code]
Вот скажите. Я совсем дурак или запрос не может найти свой собственный метод?
1 shuhard
 
04.12.13
07:57
(0) совсем дурак
2 Romyr
 
04.12.13
07:57
з.ы. на теги [code] не смотрите. я плохо знаком с местным автооформлением
3 Romyr
 
04.12.13
07:57
(1) ок. А ЧЯДНТ?
4 SeraFim
 
04.12.13
07:59
СтрокаЗапросаСобственныеКонтрагенты = РезультатЗапросаСобственныеКонтрагенты.Найти(Покупатель,"Объект");
5 Romyr
 
04.12.13
08:00
(4) это другой запрос. он выполняется нормально. строка возвращает нужного контрагента, который кстати передается как параметр в запрос который не выполнеяется.
с параметрами там все нормально
6 George Wheels
 
04.12.13
08:02
В строке
РезультатЗапросаПоДоговорам = ЗапросПоДоговорамКонтрагентов.Выполнить();

какой тип у ЗапросПоДоговорамКонтрагентов?

Может там где-то аглицкая буковка затесалась?
7 kosts
 
04.12.13
08:02
Текст ошибки скопируй дословно.

(2) code замени на 1С
8 SeraFim
 
04.12.13
08:02
Параметры - в обратном порядке
9 Wobland
 
04.12.13
08:02
(3) параметры устанавливаешь неправльно
10 Галахад
 
гуру
04.12.13
08:03
Про УстановитьПараметр почитай.
11 Apokalipsec
 
04.12.13
08:05
И лучше вместо вот этого "Если ЭтоРеализация = Истина" пиши просто "Если ЭтоРеализация".
12 Defender aka LINN
 
04.12.13
08:13
*Поля* "Выполнить" у Запроса риальне нет, такая фигня.
Хотя в (0) вообще все хитро:
"При попытке выполнения запроса программа вываливается в исключение.
а shift+F9 говорит что "поле объекта не обнаружено""
Текст исключения когда планируется опубликовать, к пятнице?
13 kosts
 
04.12.13
08:18
Надо переписать (0), что бы получать все нужные данные одним запросом...
14 1Сергей
 
04.12.13
08:21
(13) там и так один запрос
15 kosts
 
04.12.13
08:23
(14) Не
Первый

СтрокаЗапросаСобственныеКонтрагенты = РезультатЗапросаСобственныеКонтрагенты.Найти(Покупатель,"Объект");

Второй

РезультатЗапросаПоДоговорам = ЗапросПоДоговорамКонтрагентов.Выполнить();
16 1Сергей
 
04.12.13
08:24
ы... недоглядел
17 Romyr
 
04.12.13
08:27
(6) Тип данных "Запрос". Вообще я там название копипастил так что они 100% совпадают.
(7) Не получится. Там перед записью регистра начинается "попытка", а при ошибке сразу выскакивает исключение.
Если подскажешь как текст ошибки выдернуть напишу.
(8) А разве есть разница? На всякий случай поменял порядок параметров в соотвтетствии с запросом. Та же фигня
(10) Где почитать? В синтаксис помошнике ничего про порядок не упоминается...
(12)
    Исключение
        Ответ     = "Ошибка при попытке проведения документа!";

Из модуля Чека ККМ.
(13) Да наверно... Надо глянуть используются ли у меня еще где-то результаты запроса собственных контрагентов.
18 1Сергей
 
04.12.13
08:28
(17) Объясняю для совсем тупых:

//ЗапросПоДоговорамКонтрагентов.УстановитьПараметр(ВидДоговора,"ВидДоговора");
ЗапросПоДоговорамКонтрагентов.УстановитьПараметр("ВидДоговора",ВидДоговора);
19 PR
 
04.12.13
08:29
Странно. Вроде не пятница, а ТС зажигает по пятничному.
20 Defender aka LINN
 
04.12.13
08:30
(17) Убрать Попытку. Или ОписаниеОшибки() заюзать.
И проверь, наконец, все Выполнить() на наличие скобок, ffs...
21 Apokalipsec
 
04.12.13
08:31
В модуле, ниже объявления запроса, напиши "ЗапросПоДоговорамКонтрагентов" поставь точку, если не вывалится список возможных действий, значит сверху ты ошибся в названии, унифицируй название копипастом.
22 George Wheels
 
04.12.13
08:33
(17) Вместо этого
Исключение
        Ответ     = "Ошибка при попытке проведения документа!";

Исключение
  Ответ = ОписаниеОшибки()
23 Wobland
 
04.12.13
08:33
(17) у тебя всё падает на установить параметр
24 PR
 
04.12.13
08:34
(23) Кстати, да
25 Romyr
 
04.12.13
08:34
(18) Всё. Я понял. Был не прав. Спасибо.
Сексульаная вампирша в подарок
http://cs314521.vk.me/v314521063/4c1c/6IWgprL089I.jpg
26 Romyr
 
04.12.13
08:35
п.с. дело было таки в порядке ключа значения.