Имя: Пароль:
1C
1С v8
Ошибки в коде не могу понять в чем ошибка. Хочу получить цены для документа
0 Zariiiiii
 
09.11.16
19:50
&НаСервереБезКонтекста
Функция ПолучитьЦенуИзРегистра(Номенклатура, Цена, Дата)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    
         "ВЫБРАТЬ
        |    ЦеныНоменклатуры.Цена
        |    ЦеныНоменклатуры.Период,
        |ИЗ
        |    РегистрСведений.ЦеныПоставщиков.СрезПервых(&Дата, Цена = &Цена) КАК ЦеныПоставщиковСрезПервых";
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |ВЫБРАТЬ ПЕРВЫЕ 1
        |    ЦеныНоменклатуры.Цена,
        |    ЦеныНоменклатуры.Период,
        |ИЗ
        |    РегистрСведений.ЦеныПоставщиков.СрезПервых(&Дата, Цена = &Цена) КАК ЦеныПоставщиковСрезПервых";
        |
        |УПОРЯДОЧИТЬ ПО
        |    Период УБЫВ";
        
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Цена", Цена);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
        
  
КонецФункции
1 Cyberhawk
 
09.11.16
19:51
Консоль запросов что говорит?
2 Мимохожий Однако
 
09.11.16
19:52
СрезПоследних не понравился?
3 Zariiiiii
 
09.11.16
19:52
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(56,3)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
        <<?>>| (Проверка: Сервер)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(70,38)}: Ошибка в выражении
    РезультатЗапроса = Запрос.Выполнить(<<?>>); (Проверка: Сервер)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(75,13)}: Неопознанный оператор
         Вставить <<?>>обработку выборки ВыборкаДетальныеЗаписи (Проверка: Сервер)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(76,13)}: Обнаружено логическое завершение исходного текста модуля
    КонецЦикла;<<?>> (Проверка: Сервер)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(56,3)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
        <<?>>| (Проверка: Сервер)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(70,28)}: Обнаружено логическое завершение исходного текста модуля
    РезультатЗапроса = Запрос.<<?>>Выполнить(); (Проверка: Сервер)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(56,3)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
        <<?>>| (Проверка: Тонкий клиент)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(70,38)}: Ошибка в выражении
    РезультатЗапроса = Запрос.Выполнить(<<?>>); (Проверка: Тонкий клиент)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(75,13)}: Неопознанный оператор
         Вставить <<?>>обработку выборки ВыборкаДетальныеЗаписи (Проверка: Тонкий клиент)
{Документ.ПродажаТоваров.Форма.ФормаДокумента.Форма(76,13)}: Обнаружено логическое завершение исходного текста модуля
    КонецЦикла;<<?>> (Проверка: Тонкий клиент)
4 Мимохожий Однако
 
09.11.16
19:54
Убери очепятки для начала. Ответь на (1)
5 Lexey_
 
09.11.16
19:57
(3) "Ожидается ключевое слово 'КонецФункции' " где-то незакрытая функция
6 Zariiiiii
 
09.11.16
19:59
Хочу для документа "Продажи товаров" получить цену из регистра сведений "ЦеныНоменклатуры". Первый код ошибочно отправила.
&НаСервереБезКонтекста
Функция ПолучитьЦенуИзРегистра(Номенклатура, Цена, Дата)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    
         "ВЫБРАТЬ
        |    ЦеныНоменклатуры.Цена
        |    ЦеныНоменклатуры.Период,
        |ИЗ
        |    РегистрСведений.ЦеныНоменклатуры.СрезПервых(&Дата, Цена = &Цена) КАК ЦеныНоменклатурыСрезПервых";
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |ВЫБРАТЬ ПЕРВЫЕ 1
        |    ЦеныНоменклатуры.Цена,
        |    ЦеныНоменклатуры.Период,
        |ИЗ
        |    РегистрСведений.ЦеныНоменклатуры.СрезПервых(&Дата, Цена = &Цена) КАК ЦеныНоменклатурыСрезПервых";
        |
        |УПОРЯДОЧИТЬ ПО
        |    Период УБЫВ";
        
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Цена", Цена);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
        
  
КонецФункции
7 Lexey_
 
09.11.16
19:59
код в(0), видимо, не причем
8 Lexey_
 
09.11.16
20:00
либо ошибка в этой строке "Вставить обработку выборки ВыборкаДетальныеЗаписи", если это действительно не коммент
9 kosts
 
09.11.16
21:35
(6) Подскажи для чего применяешь двойной запрос с объединением. Интересно просто.
10 Franchiser
 
гуру
09.11.16
22:09
запрос - бред
11 AlxnrVslv
 
10.11.16
12:11
|    ЦеныНоменклатуры.Цена
|    ЦеныНоменклатуры.Период
исправь на
|    ЦеныНоменклатурыСрезПервых.Цена
|    ЦеныНоменклатурыСрезПервых.Период
12 Zariiiiii
 
10.11.16
12:22
Разобралась, спасибо всем
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.