Переключение на Главную Страницу Страницы: 1 ... 6 7 [8] 9 10 ... 13 ОтправитьПечать
Очень популярная тема (более 25 ответов) Конструктор запросов 1C++ (SQL) v3.29 (число прочтений - 109663 )
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #105 - 22. Ноября 2007 :: 10:18
Печать  
"ОстаткиТоваров.асТовар = Товары.Ссылка " - это условие в итоге будет выглядеть так?
Таблица1                   Таблица2            УсловиеСвязи
ОстаткиТоваров         Номенклатура    асТовар           = Ссылка
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #106 - 22. Ноября 2007 :: 10:23
Печать  
Да.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #107 - 22. Ноября 2007 :: 10:30
Печать  
А как тогда мне добавить ещё такие строки? Что их в условии я не вижуПечаль
асАрхивный = Регистр.ОстаткиТоваров.асТовар.Архивный - уже есть а теперь следующие
асГруппа = Регистр.ОстаткиТоваров.асТовар.Родитель;
чКодВТорговле = Регистр.ОстаткиТоваров.асТовар.чКодВТорговле;
асМол = Регистр.ОстаткиТоваров.асТовар.МОЛ.Родитель;

АсМол находится в справочнике Номенклатура, но тип значения у поля Справочник.Агенты

Думал по аналогии, но не понимаю как записать эти параметры
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #108 - 22. Ноября 2007 :: 10:34
Печать  
с асМол вроде разобрался
Номенклатура         Агенты          Наименование = Наимменование
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #109 - 22. Ноября 2007 :: 10:40
Печать  
Родитель и КодВТорговле - реквизиты справочника Номенклатура. Добавь их в список полей на первой вкладке. Для вывода мола нужно добавить таблицу Справочник.Агенты, вывести реквизит Агенты.Родитель и связать агентов с номенклатурой:

Номенклатура.МОЛ = Агенты.Ссылка

BOL всё же почитай - терминология схожая. Разберёшься с синтаксисом - разберёшься с конструктором.

МОЛ у номенклатуры?.. Озадачен
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #110 - 22. Ноября 2007 :: 10:48
Печать  
Так и делал, добавлял в первой вкладке. А вот для связи что то они не выводятся в разворачивающемся списке.
Что такое BOL? Дай ссылку пжалстаУлыбка
Как описать эту строку асГруппа = Регистр.ОстаткиТоваров.асТовар.Родитель
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.79
Ответ #111 - 22. Ноября 2007 :: 11:56
Печать  
Aswed писал(а) 22. Ноября 2007 :: 10:48:
Так и делал, добавлял в первой вкладке. А вот для связи что то они не выводятся в разворачивающемся списке.

Что-то делаешь не так или у полей не совпадает тип. В этом случае нужно выполнить вручную некоторые преобразования. Т.е. конструктором такое соединение не построить.

Aswed писал(а) 22. Ноября 2007 :: 10:48:
Что такое BOL? Дай ссылку пжалстаУлыбка

Books Online. Документация. Входит в поставку SQL Server.

Aswed писал(а) 22. Ноября 2007 :: 10:48:
Как описать эту строку асГруппа = Регистр.ОстаткиТоваров.асТовар.Родитель

Реквизит Родитель справочника Номенклатура.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #112 - 30. Ноября 2007 :: 06:08
Печать  
2berezdetsky
Прежде всего спасибо за такую классную разработку как конструктор запросов. Когда разобраляс с тем что да как в прямых запросах, так понял насколько классная, и облегчающая жизнь, штукаУлыбка Сейчас почти все запросы переписываю под прямые с помощью этого конструктора.
Теперь вопросик.
Есть такой регистр ОстаткиТоваров у него реквизиты:
- асТовар
- чОстаток
- сКодОП
Мне нужно получить Расход(чОстаток) за определённый период. Т.е. Функция чСуммаРасход = Расход(чОстаток).
Само собой беру для этого виртуальную таблицу "Остатки". Всё нормально работае, но трабл в том что надо при этом выбюоре добавить ещё два условия. Одно по справочнику Номенклатура (спокойно добавилось), а второе по реквизиту этого же регистра сКодОП.  Так вот с ним и проблема. Когда я добавил регистр ОстаткиТоваров(остатки) в нём осталось всего два реквизита для выбора: асТовар и чОстаток(остаток). Теперь вот сижу и думаю как добавить условие на этот реквизит. Если добавлять обычный регистр, то там видны все реквизиты, в том числе и нужный, но если я буду делать запрос не с помощью виртуальных таблиц, тогда не смогу выбрать данные за определённый период. Подскажите как быть?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #113 - 30. Ноября 2007 :: 08:14
Печать  
Aswed писал(а) 30. Ноября 2007 :: 06:08:
Мне нужно получить Расход(чОстаток) за определённый период. Т.е. Функция чСуммаРасход = Расход(чОстаток).
Само собой беру для этого виртуальную таблицу "Остатки".

Хм.. Я не очень представляю себе, как получить из ВТ Остатки сумму расхода. Озадачен
Я использовал бы ВТ Обороты или таблицу движений.

Aswed писал(а) 30. Ноября 2007 :: 06:08:
Если добавлять обычный регистр, то там видны все реквизиты, в том числе и нужный, но если я буду делать запрос не с помощью виртуальных таблиц, тогда не смогу выбрать данные за определённый период. Подскажите как быть?

А в чём проблема? Соединяй регистр с журналом:

Регистр.Документ = Журнал.Документ

и ограничивай период по Журнал.Позиция документа
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #114 - 30. Ноября 2007 :: 09:17
Печать  
Спасиб, через ВТ Обороты в самом деле оказалось проще. Условие добавляется.
Как добавить такое условие сКодОп = а или сКодОп = е?

Текст запроса с одним условием

     ТекстЗапроса = "-- qryMaker:Отчет1.2007.11.29.15.42.34
           |SELECT ОстаткиТоваровОбороты.асТовар [асТовар $Справочник.Номенклатура]
           |      , ОстаткиТоваровОбороты.чОстатокРасход чСуммаРасход
           |FROM $РегистрОбороты.ОстаткиТоваров(,,,
           |            INNER JOIN $Справочник.Номенклатура AS Номенклатура ON асТовар = Номенклатура.ID,
           |            ($Номенклатура.Сверхнорматив = 1)
           |            AND (сКодОП = :е),,) AS ОстаткиТоваровОбороты
           |";

ЗЫ пытался дописывать так: AND (сКодОП = :е) OR (сКодОП = :а)
Выдаёт явно не то, значит не правильно.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


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

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #115 - 30. Ноября 2007 :: 09:41
Печать  
AND ((сКодОП = :е) OR (сКодОП = :а))
AND (сКодОП in (:e, :a))
Озадачен
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #116 - 30. Ноября 2007 :: 10:02
Печать  
Операцию ИЛИ конструктор не умеет. Используй В (aka IN) или дописывай вручную.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #117 - 03. Декабря 2007 :: 07:43
Печать  
Хочу сгрупировать получить сумму по колонке чСуммаРасход, для этого сумирую по ней,а остальные групирую.

     ТекстЗапроса = "-- qryMaker:Отчет1.2007.12.03.08.42.17
           |SELECT ОстаткиТоваровОбороты.асТовар [асТовар $Справочник.Номенклатура]
           |      , Агенты.PARENTID [асМол $Справочник.Агенты]
           |      , Sum(ОстаткиТоваровОбороты.чОстатокРасход) чСуммаРасход
           |FROM $РегистрОбороты.ОстаткиТоваров(,,,
           |            INNER JOIN $Справочник.Номенклатура AS Номенклатура ON асТовар = Номенклатура.ID
           |            INNER JOIN $Справочник.Агенты AS Агенты ON $Номенклатура.МОЛ = Агенты.ID,
           |            ($Номенклатура.Сверхнорматив = 1)
           |            AND (сКодОП = :е),,) AS ОстаткиТоваровОбороты
           |      INNER JOIN $Справочник.Номенклатура AS Номенклатура ON ОстаткиТоваровОбороты.асТовар = Номенклатура.ID
           |      INNER JOIN $Справочник.Агенты AS Агенты ON $Номенклатура.МОЛ = Агенты.ID
           |WHERE ($Номенклатура.Сверхнорматив = 1)
           |GROUP BY ОстаткиТоваровОбороты.асТовар
           |      , Агенты.PARENTID
           |";

В итоге, если не добавлять в "Групповое поле" ни каких колонок, то получаю необходимую мне сумму. Если же добавляю в это поле асТовар и Мол, то получаю только набор строк без сумирования по этой колонке. Что делаю не правильно?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #118 - 03. Декабря 2007 :: 08:12
Печать  
Если тебе кроме сумм по агентам и товарам нужна ещё общая сумма, используй With Rollup ("Итоги: Свертка" на вкладке "Дополнительно").
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Конструктор запросов 1C++ (SQL) v2.80
Ответ #119 - 03. Декабря 2007 :: 08:33
Печать  
Спасиб, пошло.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 6 7 [8] 9 10 ... 13
ОтправитьПечать