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

Подскажите что не так?

Автор sshku, 06 июл 2011, 14:18

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

sshku

вот код:
запрос.УстановитьПараметр("НаДату", НаДату);
    СписокПолей="";
    номер=1;
    СписокСоединений="";
    для каждого строкаТипЦены из тзТипыЦен цикл
    СписокПолей=СписокПолей+"ЦеныНоменклатурыСрезПоследних.Цена(&НаДату)"+номер+" КАК Цена"+номер+Символы.ПС;
    СписокСоединений=СписокСоединений+ "
     |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних.Цена (&НаДату, ТипЦены = &ТипЦены) "+номер+" КАК ЦеныНоменклатурыСрезПоследних"+номер+"
     |      ПО ТаблицаНоменклатура.Ссылка =ЦеныНоменклатурыСрезПоследних"+номер+".Номенклатура";

    номер=номер+1;
   КонецЦикла;
   
    ТекстЗапроса = "ВЫБРАТЬ
                     |   ТаблицаНоменклатура.Ссылка,
                     |   "+СписокПолей+"
                     |ИЗ
                     |   Справочник.Номенклатура КАК ТаблицаНоменклатура
                     | "+СписокСоединений+"";


для каждого строкаТипЦены из тзТипыЦен цикл
      запрос.УстановитьПараметр("ТипЦены"+номер,строкаТипЦены.ссылка);
      номер=номер+1;
    КонецЦикла;
   
   
   
    выборка =запрос.Выполнить().Выбрать();
   
    пока выборка.Следующий()Цикл
         
         областьНоменклатура.Параметры.Номенклатура=выборка.ссылка;
         ТабДок.Вывести(ОбластьНоменклатура);
         номер=1;
         для каждого строкаТипЦены из тзТипыЦен цикл
         областьТипЦены.Параметры.Цена=выборка["цена"+номер];
         ТабДок.Присоединить(ОбластьТипЦены);
         номер=номер+1;
         конеццикла
         
    конеццикла
   
а вот ошибка:
{Отчет.СписокНоменклатуры.Форма.ФормаОтчета.Форма(138)}: Ошибка при вызове метода контекста (Выполнить)
    выборка =запрос.Выполнить().Выбрать();
по причине:

по причине:
{(3, 36)}: Синтаксическая ошибка "(&НаДату)1"
ЦеныНоменклатурыСрезПоследних.Цена<<?>>(&НаДату)1 КАК Цена1


Шурыгин Иван Сергеевич

знаете ошибка не в параметре.... вы запросы хорошо знаете???:))) нет виртуальной таблицы цена!!
строчку
РегистрСведений.ЦеныНоменклатуры.СрезПоследних.Цена (&НаДату, ТипЦены = &ТипЦены)

меняем на строчку
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦены = &ТипЦены)

и впредь больше пользуйтесь конструктором запросов.
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Теги:

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

Рейтинг@Mail.ru

Поиск