8.х не знаю как реализовать запрос в 8.1

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем udmesk, 30 янв 2009.

  1. TopicStarter Overlay
    udmesk
    Offline

    udmesk

    Регистрация:
    2 дек 2008
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    В семерке было

    Код:
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ДатаНач по ДатаКон;
    |Клиент = Регистр.Взаиморасчеты.Контрагент, Регистр.Начисление.Контрагент;
    ......
    |Нач = Регистр.Взаиморасчеты.ТекущийДокумент.НачислениеПрочее.ЗначениеСвойства.ТекущийЭлемент;
    |Опл = Регистр.Взаиморасчеты.ТекущийДокумент.Оплата.ЗначениеСвойства.ТекущийЭлемент;            
    
    |Тариф = Регистр.Начисление.Тариф.СУчетомНДС;
    |НСумма = Регистр.Начисление.Сумма;
    |ННДС = Регистр.Начисление.НДС;  	
    
    |ВСумма = Регистр.Взаиморасчеты.Сумма;
    |ВНДС = Регистр.Взаиморасчеты.НДС;  
    
    |Функция НачОстСумма = НачОст(ВСумма);
    |Функция КонОстСумма = КонОст(ВСумма);
    </span>
    |Функция ПриходСумма = Приход(ВСумма);
    |Функция ПриходСуммаБанк = Приход(ВСумма) Когда (Опл = ДНб);
    |Функция ПриходСуммаКасса = Приход(ВСумма) Когда (Опл = ДНн);
    |Функция ПриходСуммаВексель = Приход(ВСумма) Когда (Опл = ВК);
    |Функция ПриходСуммаПрочие = Приход(ВСумма) Когда ((Опл <> ДНб) и (Опл <> ДНн) и (Опл <> ВК));
    
    |Функция РасходСуммаЛьгот = Сумма(НСумма) Когда (Тариф <> 0);
    |Функция РасходНДСЛьгот = Сумма(ННДС) Когда (Тариф <> 0);
    
    |Функция РасходСумма = Расход(ВСумма);
    |Функция РасходНДС = Расход(ВНДС);
    |Функция РасходСуммаПеребор = Расход(ВСумма) Когда (Нач = Перебор);
    |Функция РасходНДСПеребор = Расход(ВНДС) Когда (Нач = Перебор);
    |Функция РасходСуммаНедобор = Расход(ВСумма) Когда (Нач = Недобор);
    |Функция РасходНДСНедобор = Расход(ВНДС) Когда (Нач = Недобор);
    |Функция РасходСуммаПоАктам = Расход(ВСумма) Когда (Нач = Акты);
    |Функция РасходНДСПоАктам = Расход(ВНДС) Когда (Нач = Акты);
    
    |Группировка Клиент Упорядочить По Клиент.Код Без Групп Все; 
    |";
    </FONT></FONT></pre>
    Как можно реализовать эти Функции в восьмерке, неужели на каждую надо вложенный запрос писать?
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Элементарнейший запрос, который пишется на коленке.

    Очень рекомендую изучить основы T-SQL, что бы было проще
  3. TopicStarter Overlay
    udmesk
    Offline

    udmesk

    Регистрация:
    2 дек 2008
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    про основы вроде читал, у меня же не весь запрос трудности вызывает, а реализация функций, которые считают приход расход в зависимости от значения свойства.
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    ВЫБОР КОГДА ... ИНАЧЕ ... КОНЕЦ
  5. TopicStarter Overlay
    udmesk
    Offline

    udmesk

    Регистрация:
    2 дек 2008
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    ВЫБОР
    Когда ЗакупочнаяЦена >= 1000 Тогда Диапазон ="1000 и выше"
    Когда ЗакупочнаяЦена >= 100 Тогда "Диапазон1 =100 - 1000"
    Когда ЗакупочнаяЦена >= 10 Тогда "Диапазон2 =10 - 100"
    Когда ЗакупочнаяЦена > 0 Тогда Диапазон3 ="О - 10"
    Иначе Диапазон4 ="Не задана"
    КОНЕЦ

    Так?
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Переменных нет в запросе

    Код:
    "ВЫБОР
    КОГДА ЗакупочнаяЦена >= 1000 Тогда ""1000 и выше" "
    ИНАЧЕ КОГДА ЗакупочнаяЦена >= 100 Тогда ""100 - 1000""
    ИНАЧЕ КОГДА ЗакупочнаяЦена >= 10 Тогда ""10 - 100""
    ИНАЧЕ КОГДА ЗакупочнаяЦена > 0 Тогда ""О - 10""
    ИНАЧЕ ""Не задана""
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ
    КОНЕЦ КАК Диапазон"
    
    
    Мог ошибаться при наборе :)
  7. TopicStarter Overlay
    udmesk
    Offline

    udmesk

    Регистрация:
    2 дек 2008
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    мне то надо по разным переменным все это разложить как было раньше, что теперь для каждой CASE делать?
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А подумать?
    Код:
    "ВЫБОР КОГДА ЗакупочнаяЦена >= 1000 Тогда ""1000 и выше" " ИНАЧЕ "" КОНЕЦ КАК Диапазон1;
    ВЫБОР КОГДА ЗакупочнаяЦена >= 100 И ЗакупочнаяЦена  < 1000 ТОГДА ""100 - 1000"" ИНАЧЕ "" КОНЕЦ КАК Диапазон2;"
    
  9. TopicStarter Overlay
    udmesk
    Offline

    udmesk

    Регистрация:
    2 дек 2008
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    так и предлагал я. Попробую напишу потом что получилось.
Похожие темы
  1. Pogroleg
    Ответов:
    2
    Просмотров:
    620
Загрузка...

Поделиться этой страницей