|   |   | 
| 
 | Запрос, выбор нескольких договоров по наименованию | ☑ | ||
|---|---|---|---|---|
| 0
    
        zzzLEXzzz 19.03.13✎ 17:33 | 
        Приветствую всех, 1С 8.2 Торговля. 
  Имеется запрос, как изменить или что дописать чтобы запрос выбирал договора по двум наименованием, то есть, сейчас он ищет по наименованию "Основной договор" а надо ещё чтобы искал по наименованию "Договор КП" вот сам текст запроса текст = "ВЫБРАТЬ | ДоговорыКонтрагентов.Владелец КАК Контр, | ДоговорыКонтрагентов.Владелец.Наименование, | ДоговорыКонтрагентов.Ссылка КАК Дог |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И ДоговорыКонтрагентов.Наименование = &НаимДог | И ДоговорыКонтрагентов.ПометкаУдаления = Ложь | |СГРУППИРОВАТЬ ПО | ДоговорыКонтрагентов.Владелец, | ДоговорыКонтрагентов.Владелец.Наименование, | ДоговорыКонтрагентов.Ссылка"; Запрос = новый запрос; Запрос.Текст = Текст; Запрос.УстановитьПараметр("ТП",Агент_.Ссылка); Запрос.УстановитьПараметр("НаимДог","Основной договор"); Кон_ = Запрос.Выполнить().Выбрать(); | |||
| 1
    
        acsent 19.03.13✎ 17:35 | 
        как у договора появилось 2 наименования?     | |||
| 2
    
        zzzLEXzzz 19.03.13✎ 17:36 | 
        (1) у договора не два наименования, просто на одном контрагенте закреплены несколько договоров     | |||
| 3
    
        pessok 19.03.13✎ 17:38 | 
        И ДоговорыКонтрагентов.Наименование В (&СписНаимДог)
  Спис = Новый СписокЗначений(); Спис.Добавить("Основной договор"); Спис.добавить("Договор КП") Запрос.УстановитьПараметр("СписНаимДог",Спис); | |||
| 4
    
        acsent 19.03.13✎ 17:39 | 
        а зачем сгруппировать?     | |||
| 5
    
        zzzLEXzzz 19.03.13✎ 17:45 | 
        (3) Спасибо всё получилось     | |||
| 6
    
        zzzLEXzzz 19.03.13✎ 17:46 | 
        Ребят ещё проблема в этом же запросе, помогите щас постараюсь правильно объяснить     | |||
| 7
    
        zzzLEXzzz 19.03.13✎ 17:48 | 
        Можно ли сделать так чтобы когда он перебирал договора, и если одно из наименований уже есть то второй договор он уже не трогал, например если есть "Основной договор" то тогда "Договор КП" он не трогал, а если нету "основной договор" то тогда он подбирал "Договор КП"  если не понятно объяснил, извините     | |||
| 8
    
        pessok 19.03.13✎ 17:53 | 
        ВЫБРАТЬ ПЕРВЫЕ 1     | |||
| 9
    
        zzzLEXzzz 19.03.13✎ 17:54 | 
        (8) а можешь показать где это в коде указать     | |||
| 10
    
        pessok 19.03.13✎ 17:55 | 
        (9) в первой строке твоего запроса     | |||
| 11
    
        zzzLEXzzz 19.03.13✎ 17:57 | 
        (10) он тогда берет одного контрагента, и всё, а надо по всем контрагентам, но один договор     | |||
| 12
    
        Юный 1С 19.03.13✎ 18:01 | 
        Может в начала сделать временную таблицу с контрами у которых есть договор "Основной". Потом сделать таблицу с договорами "Договор КП",и исключить из нею контров из первой таблице. И 3-ий шаг объединить эти таблицы.     | |||
| 13
    
        zzzLEXzzz 19.03.13✎ 18:03 | 
        (12) К сожалению для меня это слишком сложно (((( я просто начинающий только     | |||
| 14
    
        Юный 1С 19.03.13✎ 18:08 | 
        "ВЫБРАТЬ
  | ДоговорыКонтрагентовОсновные.Владелец КАК Контр, | ДоговорыКонтрагентовОсновные.Владелец.Наименование, | ДоговорыКонтрагентовОсновные.Ссылка КАК Дог |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентовОсновные |ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И ДоговорыКонтрагентовОсновные.Наименование = &НаимДогОсновной | И ДоговорыКонтрагентовОсновные.ПометкаУдаления = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | ДоговорыКонтрагентовОсновные.Владелец, | ДоговорыКонтрагентовОсновные.Владелец.Наименование, | ДоговорыКонтрагентовОсновные.Ссылка | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ДоговорыКонтрагентовОстальные.Владелец, | ДоговорыКонтрагентовОстальные.Владелец.Наименование, | ДоговорыКонтрагентовОстальные.Ссылка |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентовОстальные |ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И ДоговорыКонтрагентовОстальные.Наименование = &НаимДог | И ДоговорыКонтрагентовОстальные.ПометкаУдаления = ЛОЖЬ | И НЕ ДоговорыКонтрагентовОстальные.Владелец В | (ВЫБРАТЬ | ДоговорыКонтрагентовОсновные.Владелец | ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентовОсновные | ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И ДоговорыКонтрагентовОсновные.Наименование = &НаимДогОсновной | И ДоговорыКонтрагентовОсновные.ПометкаУдаления = ЛОЖЬ) | |СГРУППИРОВАТЬ ПО | ДоговорыКонтрагентовОстальные.Владелец, | ДоговорыКонтрагентовОстальные.Владелец.Наименование, | ДоговорыКонтрагентовОстальные.Ссылка" | |||
| 15
    
        Юный 1С 19.03.13✎ 18:08 | 
        Вот как то так, только местные гуру не забрасывайте тапками)     | |||
| 16
    
        John D 19.03.13✎ 18:16 | 
        Повторюсь за (4) - зачем группировать, если нет агрегатных функций? Ну и запрос из (14) это, конечно, сильно...
  Удачи! | |||
| 17
    
        zladenuw 19.03.13✎ 18:39 | 
        а разве у контрагента нет реквизита Основной Договор ?     | |||
| 18
    
        zzzLEXzzz 20.03.13✎ 09:59 | 
        (17) Есть, но по нему нельзя, т.к пометка на основной договор стоит совсем на других договорах     | |||
| 19
    
        zzzLEXzzz 20.03.13✎ 09:59 | 
        (14) что-то не получается ((     | |||
| 20
    
        hhhh 20.03.13✎ 10:04 | 
        (19) но вообще-то в типовых уже есть точно такая же функция. Всё уже сделано до вас.     | |||
| 21
    
        zzzLEXzzz 20.03.13✎ 10:32 | 
        (20) Можешь подсказать где именно?     | |||
| 22
    
        Ткачев 20.03.13✎ 10:35 | 
        Я бы так сделал
  И (ДоговорыКонтрагентов.Наименование = "Основной договор" Или ДоговорыКонтрагентов.Наименование = "Договор КП") | |||
| 23
    
        zzzLEXzzz 20.03.13✎ 11:10 | 
        (22) Попробовал так, он тогда всё равно подхватывает 2 договора     | |||
| 24
    
        Ткачев 20.03.13✎ 11:36 | 
        (23)
  ВЫБРАТЬ ДоговорыКонтрагентов.Владелец КАК Контрагент, ДоговорыКонтрагентов.Владелец.Наименование, МАКСИМУМ(ДоговорыКонтрагентов.Ссылка) КАК Договор ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ГДЕ (ДоговорыКонтрагентов.Наименование = "Основной договор" ИЛИ ДоговорыКонтрагентов.Наименование = "Договор КП") И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ СГРУППИРОВАТЬ ПО ДоговорыКонтрагентов.Владелец, ДоговорыКонтрагентов.Наименование | |||
| 25
    
        Ткачев 20.03.13✎ 11:39 | 
        СГРУППИРОВАТЬ ПО
  ДоговорыКонтрагентов.Владелец, ДоговорыКонтрагентов.Наименование = СГРУППИРОВАТЬ ПО ДоговорыКонтрагентов.Владелец, ДоговорыКонтрагентов.Владелец.Наименование | |||
| 26
    
        zzzLEXzzz 20.03.13✎ 11:44 | 
        (24)Выходит эта ошибка, не подскажешь из-за чего?  
  {Форма.Форма.Форма(942,45)}: Ожидается символ ';' | И(ДоговорыКонтрагентов.Наименование = "<<?>>Основной договор" (Проверка: Толстый клиент (обычное приложение)) {Форма.Форма.Форма(942,54)}: Неопознанный оператор | И(ДоговорыКонтрагентов.Наименование = "Основной <<?>>договор" (Проверка: Толстый клиент (обычное приложение)) | |||
| 27
    
        Ткачев 20.03.13✎ 11:47 | 
        (26)Весь запрос давай;
  Скорее всего надо И(ДоговорыКонтрагентов.Наименование = ""Основной договор"" и ДоговорыКонтрагентов.Наименование = ""Договор КП"") | |||
| 28
    
        zzzLEXzzz 20.03.13✎ 11:49 | 
        (27) текст = "ВЫБРАТЬ
  | ДоговорыКонтрагентов.Владелец КАК Контр, | ДоговорыКонтрагентов.Владелец.Наименование, | ДоговорыКонтрагентов.Ссылка КАК Дог |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И(ДоговорыКонтрагентов.Наименование = "Основной договор" | ИЛИ ДоговорыКонтрагентов.Наименование = "Договор КП") | И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | ДоговорыКонтрагентов.Владелец, | ДоговорыКонтрагентов.Владелец.Наименование, | ДоговорыКонтрагентов.Ссылка"; Запрос = новый запрос; Запрос.Текст = Текст; Запрос.УстановитьПараметр("ТП",Агент_.Ссылка); Кон_ = Запрос.Выполнить().Выбрать(); | |||
| 29
    
        Ткачев 20.03.13✎ 11:50 | 
        текст = "ВЫБРАТЬ
  | ДоговорыКонтрагентов.Владелец КАК Контр, | ДоговорыКонтрагентов.Владелец.Наименование, | ДоговорыКонтрагентов.Ссылка КАК Дог |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И(ДоговорыКонтрагентов.Наименование = ""Основной договор"" | ИЛИ ДоговорыКонтрагентов.Наименование = ""Договор КП"") | И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | ДоговорыКонтрагентов.Владелец, | ДоговорыКонтрагентов.Владелец.Наименование, | ДоговорыКонтрагентов.Ссылка"; Запрос = новый запрос; Запрос.Текст = Текст; Запрос.УстановитьПараметр("ТП",Агент_.Ссылка); Кон_ = Запрос.Выполнить().Выбрать(); | |||
| 30
    
        zzzLEXzzz 20.03.13✎ 11:50 | 
        (27) Я делал в 2-х кавычках, но он тогда опять подбирает 2 договора...     | |||
| 31
    
        Ткачев 20.03.13✎ 11:51 | 
        текст = "ВЫБРАТЬ
  | ДоговорыКонтрагентов.Владелец КАК Контр, | ДоговорыКонтрагентов.Владелец.Наименование, | МАКСИМУМ(ДоговорыКонтрагентов.Ссылка) КАК Дог |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.ТорговыйПредставитель = &ТП | И(ДоговорыКонтрагентов.Наименование = ""Основной договор"" | ИЛИ ДоговорыКонтрагентов.Наименование = ""Договор КП"") | И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ | |СГРУППИРОВАТЬ ПО | ДоговорыКонтрагентов.Владелец, | ДоговорыКонтрагентов.Владелец.Наименование"; Запрос = новый запрос; Запрос.Текст = Текст; Запрос.УстановитьПараметр("ТП",Агент_.Ссылка); Кон_ = Запрос.Выполнить().Выбрать(); | |||
| 32
    
        Ткачев 20.03.13✎ 11:51 | 
        (30)Так максимум не поставил     | |||
| 33
    
        zzzLEXzzz 20.03.13✎ 12:00 | 
        (32) Афигеннно, всё заработало, огромнейшее тебе спасибо, но только за максимум я так и не понял эт что? ))))     | |||
| 34
    
        Ткачев 20.03.13✎ 12:04 | 
        (33)Так скажем в твоем случае это Сортировка договоров по убыванию, МИНИМУМ по возрастанию.     | |||
| 35
    
        zzzLEXzzz 20.03.13✎ 12:07 | 
        (34) Спасибо тебе огромное, сам бы в жизнь не до пёр бы до этого )))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |