7.7 Запрос не выбирает по рекизиту

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем alex-79, 21 сен 2006.

  1. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    :unsure: В документе "Счет" есть реквизит "ИзГорода" который ссылается на справочник "Города". У этого реквизита есть реквизит "ОсновнойГород", он ссылается на такой же справоник. При обработке запроса не отбираются строки по реквизиту "ОсновнойГород", а по реквизиту "ИзГорода".

    Вот кусок запроса

    |Город = Документ.Счет.ИзГорода.ОсновнойГород, Документ.Счет2.ИзГорода.ОсновнойГород, Документ.Счет1.ИзГорода.ОсновнойГород;
    ....
    |Группировка Город Упорядочить По Город.Наименование без групп Все;

    Если кто встречался с такой проблемой. Посоветуйте как быть.
  2. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    не могет такого быть, только что проверил:вот пример простого запроса, который сработал на ура
    Код:
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Номенклатура = Документ.Реализация.Номенклатура.Чудик, Документ.ПоступлениеТМЦ.Номенклатура.Чудик;
    |Количество = Документ.Реализация.Количество, Документ.ПоступлениеТМЦ.Количество;
    |Функция КоличествоСумма = Сумма(Количество);
    |Группировка Номенклатура;
    |"
    
    чудик - это реквизит, тип Справочник.Номенклатура
  3. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    А ты пробуй такую конструкцию
    |Группировка Номенклатура Упорядочить По Номенклатура.Наименование без групп Все;
  4. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    Самое интересное, что в группровке указываешь условие "Все" и тут запрос начинается вести непонятным образом. И кстати реквизит "Чудик" тоже должен ссылаться на справочник "Номенклатура"
  5. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    А зачем тебе указывать все?
  6. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    В запросе ещё есть такая строка.
    Так вот после выполнения запроса нужно, чтобы при выгрузке в таблицу значений были все города.
    Если это условие не ставишь, то города по которым в запросе по итогам все нулевые значения запросом отсеиваются.

    Вот полный текст запроса. Посмотреть вложение 69
  7. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    А что значит: "запрос начинается вести непонятным образом?"
    в моем коротком примере все работает. Если добавляешь слово "все", то мне он выдал:
    на товар1 количество=100 (это и есть чудик)
    на товар2 количество=0
    на товар3 количество=0
    у товар2 и товар3 в качестве реквизита указан товар1
  8. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    Берём два счета:
    1- ИзГорода = "Самара" ОсновнойГород = "Самара
    2- ИзГорода = "Самара (пункт)" ОсновнойГород = "Самара"

    По идее в результате выполнения запроса не должен фигурировать города "Самара (пункт)", а он там есть. И я вот не знаю как эту ситуацию обойти.

    Может запрос собирает итоги по реквизиту "ИзГорода", а потом "ОсновнойГород". В тексте запроса который я выложил на форум "ОсновнойГород" - "ГородДляЗаказчиков"
  9. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Ты делаешь группировку по справочнику городов и указываешь, чтобы он взял тебе ВСЕ ГОРОДА. Ты ведь не просишь взять только основные города.
    Попробуй поставить условие, что ИзГорода.ОсновнойГород=ИзГорода

    Кстати, у тебя в запросе стоит
    |Город = Документ.Счет.ИзГорода,Документ.Счет2.ИзГорода,Документ.Счет1.ИзГорода;

    где тут ссылка на основной город?
  10. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    Извиняюсь. Сейчас выложил запрос с реквизитом "ОсновнойГород". Если в этом запросе посмотреть на переменную "ГородК" то в результате запроса на выходе по этой переменной формируется всё нормально, а вот по переменной "Город" всё не так.

    Я не могу понять как себя ведёт запрос. Может он раскладывает переменную "Город" на уровни. Т.е. сначала берёт итоги по рек. "ИзГорода", а потом рек. "ОсновнойГород".

    Извиняюсь. Сейчас выложил запрос с реквизитом "ОсновнойГород" Посмотреть вложение 70 . Если в этом запросе посмотреть на переменную "ГородК" то в результате запроса на выходе по этой переменной формируется всё нормально, а вот по переменной "Город" всё не так.

    Я не могу понять как себя ведёт запрос. Может он раскладывает переменную "Город" на уровни. Т.е. сначала берёт итоги по рек. "ИзГорода", а потом рек. "ОсновнойГород".

    В принципе можно попробывать в спр. "Города" завести реквизит "Пункт" со значением 0 или 1 и в запросе проверять если 1 тогда на выходе выдать значение рек. "ОсновнойГород", а если 0 тогда - рек. "ИзГорода"
  11. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Ты предыдущий пост читал?
    Нафига тебе дополнительный реквизит?
    если тебе нужны только основные города, то поставь условие
    |Условие (Город.ОсновнойГород = Город);
  12. TopicStarter Overlay
    alex-79
    Offline

    alex-79 Опытный в 1С

    Регистрация:
    21 сен 2006
    Сообщения:
    643
    Симпатии:
    1
    Баллы:
    29
    Это условие не корректно. Нужно выбирать основные города, а не город. Вот в чём проблема. В запросе могут быть значения, такие что "Город" будет отличатся от "ОсновнойГород" их тоже надо выбирать. Если попадётся, что Город = "Самара", а Основной город = "Самара(пункт)", то при таком условии запрос отбросит эту строку, т.е. в результате выполнения запроса её не будет.

    Вообщем я пробую уже выгруженный в таблицу значений результат запроса анализировать. Я думаю другого способа нет.
  13. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Ты яснее выражайся, а то получается:
    1. Нужно, чтобы при выгрузке в таблицу значений были ВСЕ города.
    2. По идее в результате выполнения запроса НЕ ДОЛЖЕН фигурировать города "Самара (пункт)"
    3. значения, такие что "Город" будет отличатся от "ОсновнойГород" их ТОЖЕ НАДО выбирать.
    Так что же тебе все-таки нужно?

Поделиться этой страницей