Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сортировка в запросе
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Анна Команкова
Помоги пожалуйста, не получается отсортировать по условию если в объекте МетодСписаниПартий выбрано ФИФО или ЛИФО

Вот мой запрос

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


Вылезла ошибка
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.РасходнаяНакладная.МодульОбъекта(57)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
{(23, 22)}: Ожидается выражение "КОНЕЦ"
ТОГДА УПОРЯДОЧИТЬ <<?>>ПО Партия.Дата ВОЗР

Анна Команкова
Немножко хочу пояснить, есть у меня документ РасходнаяНакладная и в ней поле МетодСписанияПартии (это перечисление - ФИФО,ЛИФО)
в запросе нужно выбрать партии из Регистра Накопления и отсортировать их либо по возрастанию, либо по убыванию в зависимости от того, что в поле МетодСписанияПартии
vadim007
УПОРЯДОЧИТЬ ПО ТМЦОстатки.Партия.Дата УБЫВ ?
sava1
Конструкция Упорядочить так входить в запрос не может. Она применяется к результату запроса, а не к отдельным строкам.
2. Метод списания по-идее должен быть один, а не разный в разных документах.
Анна Команкова
спасибо за ответы, уже сделала)
vadim007
Похвастайтесь.
Анна Команкова
 Если МетодСписанияПартий = Перечисления.МетодСписанияПартий.ФИФО Тогда
         ЗапросТекст = " УПОРЯДОЧИТЬ ПО ТМЦОстатки.Партия ВОЗР"
     Иначе
         ЗапросТекст = " УПОРЯДОЧИТЬ ПО ТМЦОстатки.Партия УБЫВ"
    КонецЕсли;


А потом это условие в запрос вставляю + ЗапросТекст +

Но вот только у меня теперь новый вопрос

Есть поле Контрагент с ссылкой на справочник Контрагенты с реквизитом ВидЦены и есть поле ВидЦены, при изменении контрагента меняется вид цены, а при изменении вида цены меняются цены в ТЧ документа.

Нужно сделать так, что бы при повторном изменении Контрагента был диалог с пользователем, типо Пересчитать все цены в документе?

    Режим = РежимДиалогаВопрос.ДаНет;
    Текст = "ru = ""При изменении контрагента изменятся все цены в накладной. Продолжить выполнение операции?""";
    Ответ = Вопрос(НСтр(Текст), Режим, 0);
        Если Ответ = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли;


Не знаю в какую процедура впихнуть и сработает ли оно вообще с таким условием

уже все работает)
Vofka
Цитата(Анна Команкова @ 14.07.15, 23:49) необходимо зарегистрироваться для просмотра ссылки
Но вот только у меня теперь новый вопрос

Правила, пункт 6. Тема закрывается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.