Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) помогите новичку с запросом (число прочтений - 10083 )
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
помогите новичку с запросом
16. Января 2007 :: 03:57
Печать  
Имеется регистр Реклама

Структура -
Измерения - Издание
           Контрагент
           Рубрика
           Номер
           Документ
           менеджер
Реквизиты - ВидПлатежа
           КодОперации
Ресурсы   - Сумма


как преобразовать вот такой запрос


ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)

    |Период с ДатаНач по ДатаКон;
    |ТекДок     = Регистр.Реклама.Документ;
    |Издание    = Регистр.Реклама.Издание;
    |Контрагент = Регистр.Реклама.Контрагент;
    |Рубрика    = Регистр.Реклама.Рубрика;
    |Размер     = ент.ПеремещениеРекламы.Размер;
    |ВидПлатежа = Регистр.Реклама.ВидПлатежа;
    |Выпуски    = Регистр.Реклама.Номер;
    |Менеджер   = Регистр.Реклама.Менеджер;
    |Сумма      = Регистр.Реклама.Сумма;
    |КодОперации= Регистр.Реклама.КодОперации;
    |Функция СуммаНач    = НачОст(Сумма);
    |Функция СуммаКон    = КонОст(Сумма);   
    |Функция СуммаБанк   = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.БН));
    |Функция СуммаНал    = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Н));
    |Функция СуммаНал1   = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Н1));
    |Функция СуммаБеспл  = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Бесплатно));
    |Функция СуммаБартер = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Бартер));
    |Функция СуммаУвеличения = Расход(Сумма) когда((КодОперации=Перечисление.КодОперации.Перемещение));
    |Функция СуммаУменьшения = Приход(Сумма) когда((КодОперации=Перечисление.КодОперации.Перемещение));
    |Группировка Рубрика;
    |Группировка Контрагент без групп;
    |Группировка Выпуски;
    |Группировка ТекДок;
    |"//}}ЗАПРОС



в запрос 1с++
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #1 - 16. Января 2007 :: 04:46
Печать  
формат ИБ? SQL/DBF

1) Если SQL, то можно воспользоваться виртуальной таблиц (ВТ) РегистрОстаткиОбороты.Реклама(...) описание ее имеется в документации к 1С++

2) Если DBF, то нужно "вручную" объединять таблицы итогов и движений регистра Реклама
  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите новичку с запросом
Ответ #2 - 16. Января 2007 :: 04:53
Печать  
сорри забыл сказать
база СКУЛЬ

проблема в том что не могу понять как получить реквизиты регистров при использовании "РЕГИСТРЫОСТАТКИОБОРОТЫ"
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите новичку с запросом
Ответ #3 - 16. Января 2007 :: 04:56
Печать  
|Функция СуммаНал    = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Н));

вот это как реализовать
/////////////////////////////////////////////////////////////////////////
когда((ВидПлатежа=Перечисление.ВидыПлатежей.Н)
/////////////////////////////////////////////////////////////////////////
видплатежа это реквизит а его я не могу получить
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #4 - 16. Января 2007 :: 05:23
Печать  
тогда проще объединить ВТ Остатки и ВТ Обороты таблицу движений Регистра(здесь можно фильтровать по реквизитам), так как оптимизировать отбор оборотов при такой фильтрации все равно не получится
  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите новичку с запросом
Ответ #5 - 16. Января 2007 :: 05:25
Печать  
спасибо за идею - обязательно попробую
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #6 - 16. Января 2007 :: 09:20
Печать  
а зачем объединять, есл иможно заюзать ВТ РегистрОстаткиОбороты?
или что то пропустил?
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #7 - 16. Января 2007 :: 09:51
Печать  
Цитата:
а зачем объединять, есл иможно заюзать ВТ РегистрОстаткиОбороты?
или что то пропустил?

по реквизитам там фильтровать не получается (даже если только обороты)
  
Наверх
 
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #8 - 16. Января 2007 :: 09:59
Печать  
DrACe писал(а) 16. Января 2007 :: 09:51:
по реквизитам там фильтровать не получается (даже если только обороты)

вроде да, не получается... сам не пробовал, приму на веру несколько веток, которые были...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #9 - 16. Января 2007 :: 18:02
Печать  
Боян, Славко
Я пробовал  Смущённый
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите новичку с запросом
Ответ #10 - 24. Января 2007 :: 05:13
Печать  
ни у кого идей не возникло??? как сделать
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите новичку с запросом
Ответ #11 - 24. Января 2007 :: 05:16
Печать  
помогите плиз!!! сильно надо
в общем отчет на стандартном запросе длится 208 сек (тока запрос без вывода данных и их обработки то есть проход по группировкам)
а на 1с++ запрос длится 14 сек (ну без некоторых условий) и данные уже в ТЗ только выбрать то что надо и все готово
дело в том что отчет формируется достаточно часто и много времени уходит зря....
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: помогите новичку с запросом
Ответ #12 - 24. Января 2007 :: 05:23
Печать  
Так чего тебе нужно в итоге-то?
Вроде и так все быстро?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
nikolka
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 83
Зарегистрирован: 15. Января 2007
Re: помогите новичку с запросом
Ответ #13 - 24. Января 2007 :: 07:52
Печать  
Ему наверно нужен запрос с условиями... Подмигивание
Про:
2: тогда проще объединить ВТ Остатки и ВТ Обороты таблицу движений Регистра(здесь можно фильтровать по реквизитам), так как оптимизировать отбор оборотов при такой фильтрации все равно не получится.

Он наверно забыл ...
Как срочно тебе все это надобно то ?
В чем проблеммы при реализации 2 ?

  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите новичку с запросом
Ответ #14 - 24. Января 2007 :: 08:02
Печать  
ЕСЧЕ раз, все с начала и по проядку:


Имеется регистр Реклама 

Структура - 
Измерения - Издание
          Контрагент
          Рубрика
          Номер
          Документ
          менеджер
Реквизиты - ВидПлатежа
          КодОперации
Ресурсы   - Сумма


как преобразовать вот такой запрос 


ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
 
    |Период с ДатаНач по ДатаКон;
    |ТекДок     = Регистр.Реклама.Документ;
    |Издание    = Регистр.Реклама.Издание;
    |Контрагент = Регистр.Реклама.Контрагент;
    |Рубрика    = Регистр.Реклама.Рубрика;
    |Размер     =
ент.ПеремещениеРекламы.Размер;
    |ВидПлатежа = Регистр.Реклама.ВидПлатежа;
    |Выпуски    = Регистр.Реклама.Номер;
    |Менеджер   = Регистр.Реклама.Менеджер;
    |Сумма      = Регистр.Реклама.Сумма; 
    |КодОперации= Регистр.Реклама.КодОперации;
    |Функция СуммаНач    = НачОст(Сумма);
    |Функция СуммаКон    = КонОст(Сумма);    
    |Функция СуммаБанк   = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.БН));
    |Функция СуммаНал    = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Н));
    |Функция СуммаНал1   = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Н1));
    |Функция СуммаБеспл  = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Бесплатно));
    |Функция СуммаБартер = Приход(Сумма) когда((ВидПлатежа=Перечисление.ВидыПлатежей.Бартер));
    |Функция СуммаУвеличения = Расход(Сумма) когда((КодОперации=Перечисление.КодОперации.Перемещение));
    |Функция СуммаУменьшения = Приход(Сумма) когда((КодОперации=Перечисление.КодОперации.Перемещение));
    |Группировка Рубрика;
    |Группировка Контрагент без групп;
    |Группировка Выпуски;
    |Группировка ТекДок;
    |"//}}ЗАПРОС
 


в запрос 1с++

база СКУЛЬ.

когда((ВидПлатежа=Перечисление.ВидыПлатежей.БН));  - ВидПлатежа - РЕКВИЗИТ РЕГИСТРА
в данном запросе используется услови по РЕКВИЗИТАМ регистра
точнее условия по которым я не могу вставить в конструкцию ОСТАтКИИОБОроты запроса 1с++

и еще как организовать вот это
|Размер     =
ент.ПеремещениеРекламы.Размер;
то есь ТЕКУЩИЙ ДОКУМЕНТ на 1с++



насчет срочности это не супер срочно, меня не четвертуют и ничего не сделают со мной просто хотелось бы облегчить жизни бедным бухам
представьте 5 минут сверки отчета равняются  8 тире 10 минутам ожидания формирования отчета.... бедные
бухи...

могу скинуть полностью модуль отчета.. если это облегчит понимание задачи
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать