| 
    
            
         
         | 
    
    
  | 
Помогите с Запросом | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        prog-Igor    
     18.11.14 
            ✎
    13:36 
 | 
         
        Суть:В заказе поставщика нужно видеть всю сумму касс.ордер. проведенных,
 
        Запрос.Текст="ВЫБРАТЬ | ЗаказПоставщику.Контрагент.Ссылка КАК КонтрагентСсылка, | СУММА(ЕСТЬNULL(РасходныйКассовыйОрдер.СуммаДокумента, 0)) КАК СуммаДокумента |ИЗ | Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику | ПО РасходныйКассовыйОрдер.Контрагент.Ссылка = ЗаказПоставщику.Контрагент.Ссылка | И РасходныйКассовыйОрдер.Проведен = ЗаказПоставщику.Проведен |ГДЕ | ЗаказПоставщику.Контрагент.Ссылка = &Контрагент | И РасходныйКассовыйОрдер.Проведен | |СГРУППИРОВАТЬ ПО | ЗаказПоставщику.Контрагент.Ссылка"; Запрос.УстановитьПараметр("Контрагент",Контрагент); Запрос.УстановитьПараметр("Проведен",Истина); Выборка=Запрос.Выполнить().Выбрать(); по запросу то данные правильные показывает в заказе, но если сам заказ провести тогда при следующим заказе показывает сумму в 2 раза больше, почему, ведь сам заказ не должен влиять на сумму!?  | 
|||
| 
    1
    
        prog-Igor    
     18.11.14 
            ✎
    13:40 
 | 
         
        нужно видеть общую сумму проведенный ордеров по контрагенту в заказе не в зависимости заказ проведен или нет     
         | 
|||
| 
    2
    
        Cube    
     18.11.14 
            ✎
    13:42 
 | 
         
        (0) Связь у тебя по контрагенту потому что. Эсли на этого котрагента сделать 10 заказов и один РКО, то запрос выдаст сумму = сумма РКО * 10.     
         | 
|||
| 
    3
    
        spero    
     18.11.14 
            ✎
    13:43 
 | 
         
        (0) В следующем заказе контрагент какой?     
         | 
|||
| 
    4
    
        prog-Igor    
     18.11.14 
            ✎
    13:44 
 | 
         
        (3) тот же     
         | 
|||
| 
    5
    
        Cube    
     18.11.14 
            ✎
    13:44 
 | 
         
        (0) И что за условие связи такое корявое?
 
        РасходныйКассовыйОрдер.Контрагент.Ссылка = ЗаказПоставщику.Контрагент.Ссылка надо так: РасходныйКассовыйОрдер.Контрагент.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка = ЗаказПоставщику.Контрагент.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка только хардкор!  | 
|||
| 
    6
    
        Cube    
     18.11.14 
            ✎
    13:44 
 | 
         
        (0) "РасходныйКассовыйОрдер.Проведен = ЗаказПоставщику.Проведен"
 
        А это ваще пять баллов!)))  | 
|||
| 
    7
    
        sapphire    
     18.11.14 
            ✎
    13:45 
 | 
         
        (0) Бред какой-то     
         | 
|||
| 
    8
    
        DrShust    
     18.11.14 
            ✎
    13:45 
 | 
         
        (6) :))     
         | 
|||
| 
    9
    
        sapphire    
     18.11.14 
            ✎
    13:46 
 | 
         
        (0) "В заказе поставщика нужно видеть всю сумму касс.ордер. проведенных"
 
        Ничего не смущает?  | 
|||
| 
    10
    
        DrShust    
     18.11.14 
            ✎
    13:46 
 | 
         
        (0) И вроде левое соединение не проканает, если условие наложено в том числе на правую таблицу.     
         | 
|||
| 
    11
    
        sapphire    
     18.11.14 
            ✎
    13:46 
 | 
         
        Почему не сумму оплат?     
         | 
|||
| 
    12
    
        sapphire    
     18.11.14 
            ✎
    13:47 
 | 
         
        (10) Ессно     
         | 
|||
| 
    13
    
        sapphire    
     18.11.14 
            ✎
    13:47 
 | 
         
        (10) Ону уже вырождается в INNER JOIN из-за условия:
 
        ЗаказПоставщику.Контрагент.Ссылка = &Контрагент  | 
|||
| 
    14
    
        prog-Igor    
     18.11.14 
            ✎
    13:49 
 | 
         
        хорошо народ я понял что не правильно     
         | 
|||
| 
    15
    
        prog-Igor    
     18.11.14 
            ✎
    13:50 
 | 
         
        тогда дайте совет как правильно     
         | 
|||
| 
    16
    
        sapphire    
     18.11.14 
            ✎
    13:51 
 | 
         
        (15) Сначала надо понять что нужно.
 
        - вывести взаиморасчеты с контрагентом (Сумму) - вывести оплаты через кассу котрагенту  | 
|||
| 
    17
    
        prog-Igor    
     18.11.14 
            ✎
    13:53 
 | 
         
        вывести оплаты через кассу котрагенту     
         | 
|||
| 
    18
    
        sapphire    
     18.11.14 
            ✎
    13:54 
 | 
         
        (17) А зачем вот так вот все прямо сразу, или по конкретному заказу?     
         | 
|||
| 
    19
    
        sapphire    
     18.11.14 
            ✎
    13:55 
 | 
         
        (17) Так РКО, наверное, делает определенные движения по регистрам накопления. По каким?     
         | 
|||
| 
    20
    
        prog-Igor    
     18.11.14 
            ✎
    13:55 
 | 
         
        вывести оплаты через кассу по конктретному котрагенту в заказе     
         | 
|||
| 
    21
    
        User_Agronom    
     18.11.14 
            ✎
    13:57 
 | 
         
        (0)>> Запрос.УстановитьПараметр("Проведен",Истина);
 
        А где этот параметр в тексте запроса? Может эту строку просто удалить?  | 
|||
| 
    22
    
        sapphire    
     18.11.14 
            ✎
    13:57 
 | 
         
        (20) И что это даст?
 
        Предположим, год назад мы у него брали и платили колбасу, предположим, 15 килограмм в... 5 лет покажет сумму 15 000. Что это даст-то?  | 
|||
| 
    23
    
        sapphire    
     18.11.14 
            ✎
    13:57 
 | 
         
        (21) Какая разница.     
         | 
|||
| 
    24
    
        sapphire    
     18.11.14 
            ✎
    13:59 
 | 
         
        (20) Вы уже ответили на собственный вопрос.
 
        И так, текст запроса никак не зависит от самого заказа, а только от контрагента. Ваша задача получить сумму оплат от контрагента за весь период БД.  | 
|||
| 
    25
    
        sapphire    
     18.11.14 
            ✎
    13:59 
 | 
         
        +(24) А если платили б/н?     
         | 
|||
| 
    26
    
        DrShust    
     18.11.14 
            ✎
    14:01 
 | 
         
        (19) 100% движения должны быть по какому-то регистру. Например, Взаиморасчёты.     
         | 
|||
| 
    27
    
        prog-Igor    
     18.11.14 
            ✎
    14:02 
 | 
         
        (25)к примеру: будет расходный кассовый ордер на 3000 на конкр. контрагента, и поступление товара от него на 1000, вот в заказе нужно видеть эту разницу -2000!     
         | 
|||
| 
    28
    
        sapphire    
     18.11.14 
            ✎
    14:09 
 | 
         
        (27) значит, Вы в (20) ошиблись и Вам нужно по вопросу в (16) сделать другой выбор, верно?     
         | 
|||
| 
    29
    
        prog-Igor    
     18.11.14 
            ✎
    14:15 
 | 
         
        получается что да     
         | 
|||
| 
    30
    
        sapphire    
     18.11.14 
            ✎
    14:16 
 | 
         
        (29) Так что же именно нужно вывести?     
         | 
|||
| 
    31
    
        prog-Igor    
     18.11.14 
            ✎
    14:18 
 | 
         
        общую сумму долга контрагента     
         | 
|||
| 
    32
    
        prog-Igor    
     18.11.14 
            ✎
    14:23 
 | 
         
        думаю что нужно получить с регистров накопления сумму долга контрагента     
         | 
|||
| 
    33
    
        vicof    
     18.11.14 
            ✎
    14:24 
 | 
         
        ВЫБРАТЬ * ИЗ РегистрНакопления.Взаиморасчеты.СрезПоследних(&Дата, Контрагент = &Контрагент)     
         | 
|||
| 
    34
    
        sapphire    
     18.11.14 
            ✎
    14:42 
 | 
         
        (33) Ну вот, взял всё и опошлил :)     
         | 
|||
| 
    35
    
        sapphire    
     18.11.14 
            ✎
    14:43 
 | 
         
        +(34) Меня особенно радует сочетание:
 
        РегистрНакопления.Взаиморасчеты.СрезПоследних  | 
|||
| 
    36
    
        prog-Igor    
     18.11.14 
            ✎
    14:47 
 | 
         
        скорее всего регистр сведений...срезПоследних     
         | 
|||
| 
    37
    
        sapphire    
     18.11.14 
            ✎
    14:50 
 | 
         
        (36) Скорее всего такого регистра сведений как "Взаиморасчеты" нет :)
 
        А вот накопления с таким именем встречается.  | 
|||
| 
    38
    
        sapphire    
     18.11.14 
            ✎
    14:51 
 | 
         
        (36) Остается подумать над тем, что глумливый социум имел ввиду под(33)  :)))     
         | 
|||
| 
    39
    
        vicof    
     18.11.14 
            ✎
    14:51 
 | 
         
        (35) Остатки имел ввиду. Болею, не соображаю уже :)     
         | 
|||
| 
    40
    
        sapphire    
     18.11.14 
            ✎
    14:53 
 | 
         
        (39) Ты знал, да?! :))))     
         | 
|||
| 
    41
    
        vicof    
     18.11.14 
            ✎
    14:54 
 | 
         
        (40) Знал. Верил. Ждал.     
         | 
|||
| 
    42
    
        prog-Igor    
     18.11.14 
            ✎
    15:01 
 | 
         
        в УТ 8.3 регистр накопления.взаиморасчетов нет, есть регистр накопления.расчетыСПоставщиками     
         | 
|||
| 
    43
    
        vicof    
     18.11.14 
            ✎
    15:03 
 | 
         
        (42) больше скажу, УТ 8.3 вообще в природе нет     
         | 
|||
| 
    44
    
        sapphire    
     18.11.14 
            ✎
    15:05 
 | 
         
        (42) Таки может Вы подумаете, что именно глядеть надо?
 
        Вроде инфы вполне себе достаточно.  | 
|||
| 
    45
    
        prog-Igor    
     18.11.14 
            ✎
    15:05 
 | 
         
        ок     
         | 
|||
| 
    46
    
        prog-Igor    
     18.11.14 
            ✎
    15:06 
 | 
         
        УТ ред.3.0     
         | 
|||
| 
    47
    
        sapphire    
     18.11.14 
            ✎
    15:13 
 | 
         
        (46) на ИТС консоль запросов есть.     
         | 
|||
| 
    48
    
        vicof    
     18.11.14 
            ✎
    15:15 
 | 
         
        (46) УТ 3.0 - еще лучше :))     
         | 
|||
| 
    49
    
        sapphire    
     18.11.14 
            ✎
    15:17 
 | 
         
        (48) :)))     
         | 
|||
| 
    50
    
        sapphire    
     18.11.14 
            ✎
    15:18 
 | 
         
        (48) Давай угадаем :)
 
        ВЫБРАТЬ Сумма ИЗ РегистрНакопления.Взаиморасчеты.Остатки(&Дата, Контрагент = &Контрагент)  | 
|||
| 
    51
    
        sapphire    
     18.11.14 
            ✎
    15:19 
 | 
         
        ВЫБРАТЬ Сумма ИЗ РегистрНакопления.расчетыСПоставщиками.Остатки(&Дата, Контрагент = &Контрагент)     
         | 
|||
| 
    52
    
        prog-Igor    
     18.11.14 
            ✎
    15:21 
 | 
         
        интересные вы люди, любите показать что вы всех умнее,что вы лучше знаете, ведь я обратился подсказать,думаю что вы взрослые люди а ведете себя как дети! что не так сказал на счет УТ?     
         | 
|||
| 
    53
    
        vicof    
     18.11.14 
            ✎
    15:23 
 | 
         
        (52) Если ты не в состоянии отличить конфигурацию от платформы, о каких запросах может идти речь?     
         | 
|||
| 
    54
    
        prog-Igor    
     18.11.14 
            ✎
    15:30 
 | 
         
        я в нормальном состоянии, и указал УТ 3.0 а вот точнее будет
 
        конфигурация:Управление торговлей для *******, редакция 3.0 Разработка конфигурации: "*******", 2005-2014 (3.0.8.1)  | 
|||
| 
    55
    
        prog-Igor    
     18.11.14 
            ✎
    15:31 
 | 
         
        ты ведь сам написал регистр накоплений.срезПоследних, зачем мне писать что я не в состоянии....     
         | 
|||
| 
    56
    
        sapphire    
     18.11.14 
            ✎
    15:33 
 | 
         
        (52) Интересный Вы человек, мы интересные люди, пытались понять, что именно Вам вывести необходимо, т.к. по опыту нашему усомнились в правильности постановки задачи.
 
        Поскольку, Вашего cf-ника у нас нет, вот мы и гадаем, какой же именно регистр (да, явно, регистр накопления) Вам нужен.  | 
|||
| 
    57
    
        sapphire    
     18.11.14 
            ✎
    15:33 
 | 
         
        (55) Так ведь ниже написал, что болеет человек, не сообразил :)     
         | 
|||
| 
    58
    
        prog-Igor    
     18.11.14 
            ✎
    15:36 
 | 
         
        (56)хорошо,спасибо за подсказу     
         | 
|||
| 
    59
    
        prog-Igor    
     18.11.14 
            ✎
    15:37 
 | 
         
        почему бы так сразу не написать, и не обсуждать правда?     
         | 
|||
| 
    60
    
        sapphire    
     18.11.14 
            ✎
    15:37 
 | 
         
        (55) Возьмите консоль запросов, посмотрите какие регистры затрагивает РКО.
 
        выберите нужный. Посмотрите как именно называется поле в запросе, например: ВЫБРАТЬ * ИЗ РегистрНакопления.расчетыСПоставщиками.Остатки(&Дата, Контрагент = &Контрагент) может поле будет звучать как СуммаОстаток  | 
|||
| 
    61
    
        sapphire    
     18.11.14 
            ✎
    15:38 
 | 
         
        (59) Что сразу написать? Код?
 
        Нужно что бы Вы сами додумались, иначе смысла помогать нет.  | 
|||
| 
    62
    
        prog-Igor    
     18.11.14 
            ✎
    15:41 
 | 
         
        нет не код, достаточно было как (60), спасибо,понял что сначала не то что надо делал, тема закрыта!     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |