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

В запросе с условием надо как-то преобразовать ссылочное поле в строку

Автор orehov, 08 окт 2017, 20:07

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

orehov

В отчете нужно: Вывести всю проинкассированную сумму денежной наличности, тариф, тип тарифа, количество заездов по каждой торговой точке. Рассчитать доход по каждой торговой точке клиента в зависимости от вида тарифа, рассчитать итоги по доходам каждого клиента.
Как правильно преобразовать ссылочное поле регистра сведений в строку и сравнить с нужным результатом? Пожалуйста помогите с запросом.

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

ИЗ
Справочник.КлиентыИнкассации КАК КлиентыИнкассации
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЯвочнаяКарточка КАК ЯвочнаяКарточка
      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТочкиОбслуживания КАК ТочкиОбслуживания
         ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТарифыНаУслуги КАК ТарифыНаУслуги
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТарифыНаУслуги.СрезПоследних КАК ТарифыНаУслугиСрезПоследних
ПО ТарифыНаУслуги.ТочкаОбслуживания.Ссылка = ТарифыНаУслугиСрезПоследних.ТочкаОбслуживания.Ссылка ПО ТочкиОбслуживания.Ссылка=ТарифыНаУслуги.ТочкаОбслуживания.Ссылка
ПО ЯвочнаяКарточка.ТочкаОбслуживания = ТочкиОбслуживания.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПроинкассированнаяВыручка.Обороты КАК ПроинкассированнаяВыручкаОбороты
ПО ЯвочнаяКарточка.ТочкаОбслуживания.Ссылка=ПроинкассированнаяВыручкаОбороты.ТорговаяТочка.Ссылка
      ПО (КлиентыИнкассации.Ссылка = ТочкиОбслуживания.Владелец.Ссылка)
      //ГДЕ ТарифыНаУслуги.ВидТарифа.Ссылка =ЗНАЧЕНИЕ("С одной тысячи рублей")
СГРУППИРОВАТЬ ПО
   ЯвочнаяКарточка.КалендарныйГодОбслуживания.Ссылка,
   ЯвочнаяКарточка.КалендарныйМесяцОбслуживания.Ссылка,
   КлиентыИнкассации.КатегорияГруппыХозорганов.Ссылка,
   КлиентыИнкассации.Наименование,
   ТочкиОбслуживания.Наименование,
   ЯвочнаяКарточка.КоличествоЗаездов,
   ТарифыНаУслуги.ВидУслуги.Ссылка,
   ТарифыНаУслуги.ВидТарифа.Ссылка,
   ТарифыНаУслугиСрезПоследних.Тариф,
   ПроинкассированнаяВыручкаОбороты.ВыручкаТорговойТочкиОборот

Golickoff

Если ТарифыНаУслуги.ВидТарифа это ссылка на справочник, используйте ТарифыНаУслуги.ВидТарифа.Наименование. Если это перечисление, воспользуйтесь методом ССЫЛКА: ТарифыНаУслуги.ВидТарифа ССЫЛКА Перечисление.ВидыТарифов.НужноеПеречисление. Либо в крайнем случае пробуйте ВЫРАЗИТЬ(ТарифыНаУслуги.ВидТарифа.Ссылка КАК СТРОКА)
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

orehov

Цитата: Golickoff от 09 окт 2017, 02:19
Если ТарифыНаУслуги.ВидТарифа это ссылка на справочник, используйте ТарифыНаУслуги.ВидТарифа.Наименование.[/color]

Да, вот так получилось. Большое спасибо за помощь!

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск