Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Можно мозг сломать (число прочтений - 7228 )
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Можно мозг сломать
Ответ #15 - 04. Мая 2009 :: 11:29
Печать  
kiruha писал(а) 04. Мая 2009 :: 11:27:
Жур на
Журнал

Видимо уже глаз замылился.

Код
Выбрать все
SELECT
    $ПродажаТМЦ.Контрагент Контрагент
    ,$ЗаявкаКлиента.АдресДоставки АдресДоставки
FROM
    $Документ.ПродажаТМЦ AS ПродажаТМЦ
INNER JOIN
    1SJOURN AS Журнал ON ПродажаТМЦ.IDDOC = Журнал.IDDOC
INNER JOIN
    $Документ.ЗаявкаКлиента AS ЗаявкаКлиента ON ЗаявкаКлиента.IDDOC = Right(Журнал.$ОбщийРеквизит.ДокументОснование,9)
WHERE
    Журнал.Date BETWEEN :НачДата~~ AND :КонДата~~
    AND Журнал.Closed = 1
GROUP BY
    $ПродажаТМЦ.Контрагент
    ,$ЗаявкаКлиента.АдресДоставки
 



Выдает ошибку: qryConsole : Error # 3021 : 0 : BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись.
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Можно мозг сломать
Ответ #16 - 04. Мая 2009 :: 11:51
Печать  
Попробуй выполнить в ДБФ - вроде ошибок не вижу

если АдресДоставки не неограниченной длины
  
Наверх
 
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Можно мозг сломать
Ответ #17 - 04. Мая 2009 :: 11:53
Печать  
kiruha писал(а) 04. Мая 2009 :: 11:51:
Попробуй выполнить в ДБФ - вроде ошибок не вижу


В смысле без консоли?

Убрал
Код
Выбрать все
AND Журнал.Closed = 1 


Ошибка пропала. Даже что- то возвращает. Но как-то мало....
Сейчас попробую без консоли посмотреть.
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Можно мозг сломать
Ответ #18 - 04. Мая 2009 :: 11:58
Печать  
Наверно скобки были нужны перед AND
(Журнал.Date BETWEEN :НачДата~~ AND :КонДата~~)
  
Наверх
 
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Можно мозг сломать
Ответ #19 - 04. Мая 2009 :: 12:20
Печать  
Код
Выбрать все
SELECT
    $ПродажаТМЦ.Контрагент as [Контрагент $Справочник.Контрагенты]
    ,$ЗаявкаКлиента.АдресДоставки as [АдресДоставки $Справочник.АдресаДоставки]
FROM
    $Документ.ПродажаТМЦ AS ПродажаТМЦ
INNER JOIN
    1SJOURN AS Журнал ON ПродажаТМЦ.IDDOC = Журнал.IDDOC
INNER JOIN
    $Документ.ЗаявкаКлиента AS ЗаявкаКлиента ON ЗаявкаКлиента.IDDOC = Right(Журнал.$ОбщийРеквизит.ДокументОснование,9)
WHERE
    (Журнал.Date BETWEEN :НачДата~~ AND :КонДата~~)
GROUP BY
    $ПродажаТМЦ.Контрагент
    ,$ЗаявкаКлиента.АдресДоставки
 



Этот вариант заработал.

Но как выбрать только проведенные документы?
Вариант
Код
Выбрать все
SELECT
    $ПродажаТМЦ.Контрагент as [Контрагент $Справочник.Контрагенты]
    ,$ЗаявкаКлиента.АдресДоставки as [АдресДоставки $Справочник.АдресаДоставки]
FROM
    $Документ.ПродажаТМЦ AS ПродажаТМЦ
INNER JOIN
    1SJOURN AS Журнал ON ПродажаТМЦ.IDDOC = Журнал.IDDOC
INNER JOIN
    $Документ.ЗаявкаКлиента AS ЗаявкаКлиента ON ЗаявкаКлиента.IDDOC = Right(Журнал.$ОбщийРеквизит.ДокументОснование,9)
WHERE
    (Журнал.Date BETWEEN :НачДата~~ AND :КонДата~~)
    AND Журнал.Closed = 1
GROUP BY
    $ПродажаТМЦ.Контрагент
    ,$ЗаявкаКлиента.АдресДоставки
 


Не возвращает результатов. Хотя документ возвращаемый при первом варианте проведен.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно мозг сломать
Ответ #20 - 04. Мая 2009 :: 12:34
Печать  
У тебя скорее всего есть бухия, а там Closed = 5 (обычно) для проведенных.
Точнее смотри у себя в табличке общего журнала
  
Наверх
 
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Можно мозг сломать
Ответ #21 - 04. Мая 2009 :: 12:37
Печать  
JohnyDeath писал(а) 04. Мая 2009 :: 12:34:
У тебя скорее всего есть бухия, а там Closed = 5 (обычно) для проведенных.
Точнее смотри у себя в табличке общего журнала


Вот жесть! Да, она тоже есть.
Заработало!

Осталось самую малость. Фильтр номенклатуры, сумма количества в документах, сумма количества документов.....
Страшно представить какие камни ждут дальше.
  
Наверх
ICQ  
IP записан
 
Delorn
YaBB Newbies
*
Отсутствует


1c user

Сообщений: 9
Зарегистрирован: 07. Августа 2007
Пол: Мужской
Re: Можно мозг сломать
Ответ #22 - 04. Мая 2009 :: 12:40
Печать  
Вот тут есть описание этих моментов.
http://www.1cpp.ru/forum/YaBB.pl?num=1148874473
  
Наверх
 
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Можно мозг сломать
Ответ #23 - 04. Мая 2009 :: 12:43
Печать  
Delorn писал(а) 04. Мая 2009 :: 12:40:
Вот тут есть описание этих моментов.
http://www.1cpp.ru/forum/YaBB.pl?num=1148874473


Это у меня есть.
А вот опыта и понимания в каких случаях где и что искать нету.
Перечитывать всю документацию при каждом вопросе в поисках похожего вопроса просто нереально.
  
Наверх
ICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно мозг сломать
Ответ #24 - 04. Мая 2009 :: 16:00
Печать  
BuZZZard писал(а) 04. Мая 2009 :: 10:56:
У меня нет SQL. Есть только DBF и OLEDB.

ПС. Еще нет боксерской груши, о которой постоянно думаю когда начинаю писать прямые запросы.

достаточно обить стены матрацами..
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать