Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Фев 2018, 05:03
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отбор при объединении запросов в СКД  (Прочитано 5614 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Golickoff

  • ****
  • Сообщений: 368
  • РЕПУТАЦИЯ: 40
  • КПД: 11%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет. Объединяю три запроса из документов при помощи СКД. Во втором и третьем запросе из объединения необходимо выбрать только те документы, которые проводились на основании документов из первого запроса. Делаю это следующим образом:
ВЫБРАТЬ
ОтчетКомитентуОПродажах.Ссылка КАК Ссылка,
ОтчетКомитентуОПродажах.Дата КАК ДатаИзмененияДолга,
ОтчетКомитентуОПродажах.ДолгКомитенту КАК Долг
ИЗ
Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПлатежноеПоручение.Ссылка,
ПлатежноеПоручение.Дата,
ПлатежноеПоручение.СуммаДокумента
ИЗ
Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
ГДЕ
ПлатежноеПоручение.ДокументОснование = &ОтчетКомитентуОПродажах

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
РасходныйКассовыйОрдер.Ссылка,
РасходныйКассовыйОрдер.Дата,
РасходныйКассовыйОрдер.СуммаДокумента
ИЗ
Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
ГДЕ
РасходныйКассовыйОрдер.ДокументОснование = &ОтчетКомитентуОПродажах
То есть, мне необходимы все документы ОтчетКомитентуОПродажах и только те документы ПлатежноеПоручение и РасходныйКассовыйОрдер, которые были проведены на основании документа ОтчетКомитентуОПродажах, однако при выполнении запроса я получаю список всех документов ОтчетКомитентуОПродажах , ПлатежноеПоручение и РасходныйКассовыйОрдер. Пробовал установить параметры запроса
ГДЕ
ПлатежноеПоручение.ДокументОснование = &Ссылка
и
ГДЕ
РасходныйКассовыйОрдер.ДокументОснование = &Ссылка
но так же получал список всех документов перечисленных в запросе типов. Что я делаю неправильно?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
1. Запрос к отчетам, помещаем во временную таблицу
2. Главный запрос:
    ВТ_Отчеты
    Объединить
    ПлатПор     (с отбором "ДокументОснование В (ВЫБРАТЬ ВТ.ссылка Из ВТ_Отчеты КАК ВТ)")
    Объединить
    РКО         (с отбором "ДокументОснование В (ВЫБРАТЬ ВТ.ссылка Из ВТ_Отчеты КАК ВТ)")
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Golickoff

  • ****
  • Сообщений: 368
  • РЕПУТАЦИЯ: 40
  • КПД: 11%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Я пока не углублялся в запросы, поэтому конструкция
(с отбором "
мне незнакома и, само собой, я написал некорректный запрос. Я пытался найти что-то похожее в сети, но безуспешно и поэтому не смог разобраться. Сейчас "запрос" выглядит следующим образом и выдаёт ошибку Ожидается выражение "ВЫБРАТЬ", вежливо указывая на строку "Документ.ПлатежноеПоручение (с отбором "..."
ВЫБРАТЬ
ВнешнаяяТаблицаОтчетов.ОтчетКомитенту.Ссылка КАК Ссылка,
ВнешнаяяТаблицаОтчетов.ОтчетКомитенту.Дата КАК ДатаИзмененияДолга,
ВнешнаяяТаблицаОтчетов.ОтчетКомитенту.ДолгКомитенту КАК Долг
ИЗ
&ВнешнаяяТаблицаОтчетов КАК ВнешнаяяТаблицаОтчетов

ОБЪЕДИНИТЬ
Документ.ПлатежноеПоручение (с отбором "ДокументОснование В (ВЫБРАТЬ ВнешнаяяТаблицаОтчетов.ссылка Из ВнешнаяяТаблицаОтчетов_Отчеты КАК ВТ)")
Объединить
Документ.РасходныйКассовыйОрдер (с отбором "ДокументОснование В (ВЫБРАТЬ ВнешнаяяТаблицаОтчетов.ссылка Из ВнешнаяяТаблицаОтчетов_Отчеты КАК ВТ)")
Не могли бы вы объяснить часть с объединениями немного подробнее, чтобы я смог найти и исправить ошибки?
На всякий случай добавлю: часть строки, содержащая данный текст "ДокументОснование В (ВЫБРАТЬ ВнешнаяяТаблицаОтчетов.ссылка Из ВнешнаяяТаблицаОтчетов_Отчеты КАК ВТ)", выделена красным цветом. Не знаю, нормально ли это.
Добавлено: 14 Апр 2015, 04:09

Вот я чайник :bleh: Сейчас исправлю.
Добавлено: 14 Апр 2015, 04:35

Текст запроса:
ВЫБРАТЬ
ВнешняяТаблицаОтчетов.ОтчетКомитенту.Ссылка КАК Ссылка,
ВнешняяТаблицаОтчетов.ОтчетКомитенту.Дата КАК ДатаИзмененияДолга,
ВнешняяТаблицаОтчетов.ОтчетКомитенту.ДолгКомитенту КАК Долг
ИЗ
&ВнешняяТаблицаОтчетов КАК ВнешняяТаблицаОтчетов

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПлатежноеПоручение.Ссылка,
ПлатежноеПоручение.Дата,
ПлатежноеПоручение.СуммаДокумента
ИЗ
Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
ГДЕ
ПлатежноеПоручение.ДокументОснование В
(ВЫБРАТЬ
ВТ.Ссылка
ИЗ
ВнешняяТаблицаОтчетов КАК ВТ)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
РасходныйКассовыйОрдер.Ссылка,
РасходныйКассовыйОрдер.Дата,
РасходныйКассовыйОрдер.СуммаДокумента
ИЗ
Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
ГДЕ
РасходныйКассовыйОрдер.ДокументОснование В
(ВЫБРАТЬ
ВТ.Ссылка
ИЗ
ВнешняяТаблицаОтчетов КАК ВТ)
Ошибка: "Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
Содержимое объекта данных может быть выбрано только во временную таблицу
"
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Последний раз редактировалось: Golickoff; 14 Апр 2015, 04:35. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
перед запросом надо вставить вот это:

ВЫБРАТЬ
    ОтчетКомитентуОПродажах.Ссылка КАК Ссылка,
    ОтчетКомитентуОПродажах.Дата КАК ДатаИзмененияДолга,
    ОтчетКомитентуОПродажах.ДолгКомитенту КАК Долг
ПОМЕСТИТЬ ВнешняяТаблицаОтчетов
ИЗ
    Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах
;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Golickoff

  • ****
  • Сообщений: 368
  • РЕПУТАЦИЯ: 40
  • КПД: 11%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Вот так работает:
ВЫБРАТЬ
    ОтчетКомитентуОПродажах.Ссылка КАК Ссылка,
    ОтчетКомитентуОПродажах.Дата КАК ДатаИзмененияДолга,
    ОтчетКомитентуОПродажах.СуммаДокумента КАК Долг
ПОМЕСТИТЬ ВнешняяТаблицаОтчетов
ИЗ
    Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах
;
ВЫБРАТЬ
    ВнешняяТаблицаОтчетов1.Ссылка КАК Ссылка,
    ВнешняяТаблицаОтчетов1.Дата КАК ДатаИзмененияДолга,
    ВнешняяТаблицаОтчетов1.ДолгКомитенту КАК Долг
ИЗ
    Документ.ОтчетКомитентуОПродажах КАК ВнешняяТаблицаОтчетов1
ГДЕ
ВнешняяТаблицаОтчетов1.Проведен

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПлатежноеПоручение.Ссылка,
    ПлатежноеПоручение.Дата,
    ПлатежноеПоручение.СуммаДокумента
ИЗ
    Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
ГДЕ
    ПлатежноеПоручение.ДокументОснование В
            (ВЫБРАТЬ
                ВТ.Ссылка
            ИЗ
                ВнешняяТаблицаОтчетов КАК ВТ) И ПлатежноеПоручение.Проведен

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    РасходныйКассовыйОрдер.Ссылка,
    РасходныйКассовыйОрдер.Дата,
    РасходныйКассовыйОрдер.СуммаДокумента
ИЗ
    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
ГДЕ
    РасходныйКассовыйОрдер.ДокументОснование В
            (ВЫБРАТЬ
                ВТ.Ссылка
            ИЗ
                ВнешняяТаблицаОтчетов КАК ВТ) И РасходныйКассовыйОрдер.Проведен
Большое спасибо за помощь.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
А так? ;)
Как говорится найдите 10 отличий... :bleh:

ВЫБРАТЬ
    ОтчетКомитентуОПродажах.Ссылка КАК Ссылка,
    ОтчетКомитентуОПродажах.Дата КАК ДатаИзмененияДолга,
    ОтчетКомитентуОПродажах.СуммаДокумента КАК Долг
ПОМЕСТИТЬ ВнешняяТаблицаОтчетов
ИЗ
    Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах
;
ВЫБРАТЬ
    ВнешняяТаблицаОтчетов1.Ссылка КАК Ссылка,
    ВнешняяТаблицаОтчетов1.Дата КАК ДатаИзмененияДолга,
    ВнешняяТаблицаОтчетов1.ДолгКомитенту КАК Долг
ИЗ
    ВнешняяТаблицаОтчетов КАК ВнешняяТаблицаОтчетов1
ГДЕ
    ВнешняяТаблицаОтчетов1.Проведен

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПлатежноеПоручение.Ссылка,
    ПлатежноеПоручение.Дата,
    ПлатежноеПоручение.СуммаДокумента
ИЗ
    Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
ГДЕ
    ПлатежноеПоручение.ДокументОснование В
            (ВЫБРАТЬ
                ВТ.Ссылка
            ИЗ
                ВнешняяТаблицаОтчетов КАК ВТ) И ПлатежноеПоручение.Проведен

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    РасходныйКассовыйОрдер.Ссылка,
    РасходныйКассовыйОрдер.Дата,
    РасходныйКассовыйОрдер.СуммаДокумента
ИЗ
    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
ГДЕ
    РасходныйКассовыйОрдер.ДокументОснование В
            (ВЫБРАТЬ
                ВТ.Ссылка
            ИЗ
                ВнешняяТаблицаОтчетов КАК ВТ) И РасходныйКассовыйОрдер.Проведен
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Golickoff

  • ****
  • Сообщений: 368
  • РЕПУТАЦИЯ: 40
  • КПД: 11%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Как говорится найдите 10 отличий...
Я только одно нашёл. Так тоже работает :)
Добавлено: 15 Апр 2015, 04:07

Приключения продолжаются. Запрос пришлось переделать, заменив объединение на соединения. Теперь он выглядит следующим образом:
ВЫБРАТЬ
   ОтчетКомитентуОПродажах.Ссылка КАК Документ,
   ОтчетКомитентуОПродажах.Дата КАК ДатаИзмененияДолга,
   ОтчетКомитентуОПродажах.СуммаДокумента КАК Долг
ПОМЕСТИТЬ ВнешняяТаблицаОтчетов
ИЗ
   Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВнешняяТаблицаОтчетов1.Ссылка КАК Документ,
   ВнешняяТаблицаОтчетов1.Дата КАК ДатаУвеличенияДолга,
   ВнешняяТаблицаОтчетов1.ДолгКомитенту КАК Долг,
   ПлатежноеПоручение.Ссылка КАК ПлатёжноеПоручение,
   ПлатежноеПоручение.ДокументОснование,
   ПлатежноеПоручение.Дата КАК ДатаУменьшенияБезналом,
   ПлатежноеПоручение.СуммаДокумента КАК СуммаУменьшенияБезналом,
   РасходныйКассовыйОрдер.Ссылка КАК РасходныйКассовыйОрдер,
   РасходныйКассовыйОрдер.ДокументОснование КАК ДокументОснование1,
   РасходныйКассовыйОрдер.Дата КАК ДатаУменьшенияНалом,
   РасходныйКассовыйОрдер.СуммаДокумента КАК СуммаУменьшенияНалом
ИЗ
   Документ.ПлатежноеПоручение КАК ПлатежноеПоручение
      ПОЛНОЕ СОЕДИНЕНИЕ Документ.ОтчетКомитентуОПродажах КАК ВнешняяТаблицаОтчетов1
      ПО (ВнешняяТаблицаОтчетов1.Ссылка = ПлатежноеПоручение.ДокументОснование)
      ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
      ПО (ВнешняяТаблицаОтчетов1.Ссылка = РасходныйКассовыйОрдер.ДокументОснование)
ГДЕ
   (ВнешняяТаблицаОтчетов1.Проведен = ИСТИНА
            И ВнешняяТаблицаОтчетов1.Контрагент = &Контрагент
         ИЛИ ПлатежноеПоручение.ДокументОснование В
               (ВЫБРАТЬ
                  ВТ.Документ
               ИЗ
                  ВнешняяТаблицаОтчетов КАК ВТ)
            И ПлатежноеПоручение.Проведен = ИСТИНА
            И ПлатежноеПоручение.Контрагент = &Контрагент
         ИЛИ РасходныйКассовыйОрдер.ДокументОснование В
               (ВЫБРАТЬ
                  ВТ.Документ
               ИЗ
                  ВнешняяТаблицаОтчетов КАК ВТ)
            И РасходныйКассовыйОрдер.Проведен = ИСТИНА
            И РасходныйКассовыйОрдер.Контрагент = &Контрагент)
Проблема заключается в следующем: я отчитался перед комитентом и провёл этот документ-отчёт, создал на его основе расходный кассовый ордер и его тоже провёл. Затем мне ударила в голову моча и я отменил проведение отчёта комитенту. Что я теперь хочу увидеть в отчёте: никаких увеличений долгов распроведённым документом-отчётом и уменьшение несуществующего долга расходным кассовым ордером, которое скажет просвящённому пользователю о том, что мы ни за что дали деньги комитенту. Что я вижу на самом деле: увеличение долга непроведённым документом и его уменьшение посредством РКО. В какую сторону копать?
Добавлено: 15 Апр 2015, 04:12

На всякий случай дополню: если у нас есть проведённый документ и непроведённый, созданный на его основе, или непроведённый, на основе которого создан этот, то в таблицу добавляются оба документа. Если у нас был отчёт комитенту, на основе которго создали РКО, или платёжное поручение, но оба документа не проведены, они не добавляются и меня это устраивает.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Последний раз редактировалось: Golickoff; 15 Апр 2015, 04:12. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Зачем эти выкрутасы с Проведен/Непроведен?
Если отменили проведение Отчета и при этом РКО на основании проведен - ну так это дело бухгалтера.
По идее надо отмену проведения отчета как то отрабатывать - если есть доки на основании то ругнуться...

ЗЫ Новую тему с копированием последнего сообщения оценил и заслуженно удалил :thwrt:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Последний раз редактировалось: cska-fanat-kz; 15 Апр 2015, 05:53

Оффлайн Golickoff

  • ****
  • Сообщений: 368
  • РЕПУТАЦИЯ: 40
  • КПД: 11%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Зачем эти выкрутасы с Проведен/Непроведен?
Ситуация с не проведённым отчётом комитенту и проведённым на его основании РКО или ПП также возможна при авансовой выплате долга комитенту. Как бы мне ни хотелось изменить обработку распроведения, менять придётся запрос.

PS Спасибо что удалили, а то после подъёма этой темы я начал чувствовать себя неловко.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Добавьте в секцию ГДЕ условие
"И (Отчет.Проведен И ПП.Проведен И РКО.Проведен)"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Программный отбор в "Документы"

Автор SeolkinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4378
Последний ответ 06 Окт 2012, 18:08
от Seolkin
Отбор при "быстром выборе"

Автор Gregory78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3352
Последний ответ 15 Фев 2015, 12:13
от Gregory78
Дин.список отбор данных - не работает код при тех же данных

Автор Аля ТинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 250
Последний ответ 15 Дек 2017, 14:36
от alex0402
Отбор по номенклатуре в отчете "ВЕдомость выдачи мц"

Автор notaSSРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 2609
Последний ответ 08 Авг 2015, 15:40
от ppkmlite
Отбор по дате проведения документа в обработке "Универсальные подбор и обработка объектов"

Автор rooflessРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2713
Последний ответ 25 Июн 2014, 15:30
от roofless

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
189 Сообщений
AIFrame AIFrame
81 Сообщений
alexandr_ll
41 Сообщений
BuhRust
29 Сообщений
wise wise
27 Сообщений
oleg-x
26 Сообщений
MuI_I_Ika MuI_I_Ika
25 Сообщений
pavl_vs
22 Сообщений
Кейли Кейли
21 Сообщений
andron81_81
20 Сообщений

* Кто онлайн

  • Точка Гостей: 140
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal