Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос. Ошибка синтаксиса?
,
0 Dolly_EV
 
30.10.12
11:27
Вот такой запрос:

ВЫБРАТЬ
   РегДолги.КредДокумент КАК [КредДок $Документ]
   ,РегДолги.СуммаКонечныйОстаток КАК КонОст
   ,Доки.СуммаДок КАК СуммаДок
   ,Доки.СуммаПоТовару КАК СуммаПоТовару
ИЗ
   $РегистрОстатки.РасчетыСКонтрагентами(:лКонДата~
                               ,(3=3 И 2=2 И ВидРасчета=:Перечисление.ВидыРасчетов.РасчетыСПоставщиками И Фирма=:лФирма)
                               ,(КредДокумент)
                               ,(Сумма)) КАК РегДолги
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
   ВЫБРАТЬ(
       $ПНК.ТекущийДокумент КАК ТекДок
       ,$ПНК.Всего КАК СуммаДок
       ,$ПНКСтроки.Всего КАК СуммаПоТовару
   ИЗ
       Документ.ПриходнаяНакладная КАК ПНК $nolock
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ
       ДокументСтроки.ПриходнаяНакладная КАК ПНКСтроки $nolock
   ПО
       $ПНКСтроки.ТекущийДокумент=$ПНК.ТекущийДокумент И $ПНКСтроки.Товар В (ВЫБРАТЬ val ИЗ #глУсловие1)) КАК Доки
ПО
   РегДолги.КредДокумент=Доки.ТекДок

на dbf валится с руганью "near "SELECT": syntax error"
на sql: "Meta name parser error: неизвестное метаимя или алиас "$ПНК""

что не так???? :-(((
1 cw014
 
30.10.12
11:28
Курите мануалы по 1сpp
2 akaBrr
 
30.10.12
11:30
Выбрать у вас за скобками
3 Dolly_EV
 
30.10.12
11:30
(1) доходчиво )))
4 Dolly_EV
 
30.10.12
11:31
(2) СПАСИБО!!!!
5 akaBrr
 
30.10.12
11:31
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
   ВЫБРАТЬ(

должно быть

ВНУТРЕННЕЕ СОЕДИНЕНИЕ
   (ВЫБРАТЬ
6 akaBrr
 
30.10.12
11:32
(4) рад был помочь
7 cw014
 
30.10.12
11:32
А в последнем 1сpp сделали русскоязычными конструкции "ВЫБРАТЬ" и т.д.?
8 Dolly_EV
 
30.10.12
11:34
(7) не, это класс-обертка "ПрямойЗапрос"
http://www.1cpp.ru/forum/YaBB.pl?num=1285352210/all-0
9 Ёпрст
 
30.10.12
11:36
(0)

ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(select ... from ...)как Вася  По Вася.Федя = ...
10 Dolly_EV
 
30.10.12
11:38
(9) угу...уже
11 Mikeware
 
30.10.12
11:48
(9) ты это зачем васю с федей внутренним соединением соединяешь? :-)
12 Dolly_EV
 
30.10.12
13:06
Тогда еще вопрос уже по сабжу к гуру:
Требуется определить задолженность по поставщику, исходя из фильтра по номенклатуре.
Т.е. есть Регистр.Долги (измерение КредДокумент), Документ.ПриходнаяНакладная, в нем - Товар
Вот такой запрос будет идеологически правильным? или есть путь короче и изящнее??
   лТекстЗапроса = "
   |ВЫБРАТЬ
   |    РегДолги.КредДокумент КАК [КредДок $Документ]
   |--    ,РегДолги.СуммаОстаток КАК КонОст
   |--    ,Доки.СуммаДок КАК СуммаДок
   |--    ,Доки.СуммаПоТовару КАК СуммаПоТовару
   |    ,РегДолги.СуммаОстаток*(Доки.СуммаПоТовару/Доки.СуммаДок) КАК КонОстПоТовару
   |ИЗ
   |    $РегистрОстатки.РасчетыСКонтрагентами(:лКонДата~
   |                                ,(3=3 И 2=2 И 4=4 И Фирма=:лФирма)
   |                                ,(КредДокумент)
   |                                ,(Сумма)) КАК РегДолги
   |ВНУТРЕННЕЕ СОЕДИНЕНИЕ
   |    (ВЫБРАТЬ
   |        $ПНК.ТекущийДокумент КАК ТекДок
   |        ,$ПНК.Всего КАК СуммаДок
   |        ,ПНКСтроки.Всего КАК СуммаПоТовару
   |    ИЗ
   |        Документ.ПриходнаяНакладная КАК ПНК $nolock
   |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
   |        (ВЫБРАТЬ
   |            $ПНКСтроки.ТекущийДокумент КАК ТекДок
   |            ,СУММА($ПНКСтроки.Всего) КАК Всего
   |        ИЗ
   |            ДокументСтроки.ПриходнаяНакладная КАК ПНКСтроки $nolock
   |        ГДЕ
   |            1=1
   |        СГРУППИРОВАТЬ
   |            $ПНКСтроки.ТекущийДокумент) КАК ПНКСтроки
   |    ПО
   |        ПНКСтроки.ТекДок=$ПНК.ТекущийДокумент) КАК Доки
   |ПО
   |    ПРАВО(РегДолги.КредДокумент,9)=Доки.ТекДок";
13 Dolly_EV
 
30.10.12
13:07
+(12) "1=1" - фильтр по Номенклатуре
14 Ёпрст
 
30.10.12
13:08
(12) неа .. всё в топку.
15 Ёпрст
 
30.10.12
13:09
СГРУППИРОВАТЬ
   |            $ПНКСтроки.ТекущийДокумент
это конечно, зачет
16 Dolly_EV
 
30.10.12
13:18
(15) дык, а иначе наверху много строк по количеству строк с товаром... и "Всего" - лишнее
17 Dolly_EV
 
30.10.12
13:19
(14) б...ть!!! когда же не "в топку" будет :-((
Пни тогда, как правильно?
18 Mikeware
 
30.10.12
13:19
"задолженность по поставщику, исходя из фильтра по номенклатуре" само по себе кагбэ навевает...
19 Dolly_EV
 
30.10.12
13:22
(18) Какбэ да)) навевает)) Перефразирую: на самом деле более распространена другая задача:
"Узнать, сколько в общей массе ДебЗадолженности имеется долга по конкретной номенклатуре", тут тоже самое, но применительно к КредЗадолженности

Код работает, и выдает правильные цифры при этом...
20 dedmoroz777
 
30.10.12
13:28
(19) у вас в платёжках так и пишут: "20 р за картошку, 30 р за морковку"?
21 Dolly_EV
 
30.10.12
13:31
(20) по сабжу ))) я же перефразировал...
Когда общая ДЗ 1000, и в ней сидят доки с картошкой, морковкой, свеклой, я хочу узнать сколько долг за (картошку И морковку)
22 dedmoroz777
 
30.10.12
13:33
(21) ну я и спрашиваю, свеклу отдельной строчкой оплачивают? Всегда?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой