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

Автор Тема: Пакетный запрос,объединение  (Прочитано 6010 раз)

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

Оффлайн jonik_joker

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-17
  • Сайт: 
  • Профессия: Разработчик 1С
Всем привет. Помогите разобраться: в документе ЗаявкаНаПоставку есть ТабЧ, которая содержит инфу по счетам (Инвойсам). Соответственно регистрируется это все в регистре накоплений ОборотыДенежныхСредств. Инвойс может быть оплачен (Приход,соот-но нужна СуммаПриход) и неоплачен (Расход,соот-но нужна СуммаРасход). В заявке может быть как оплаченные так и неоплаченные Инвойсы.

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

в результате получаю вот такую таблицу



а хотелось бы вот так



Оффлайн jonik_joker

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-17
  • Сайт: 
  • Профессия: Разработчик 1С
пробовал ч\з объединить.

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

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

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

результат


Добавлено: 12 Ноя 2013, 20:32

ч\з пакетный

ВЫБРАТЬ
    ОборотыДенежныхСредствОстаткиИОбороты.СуммаПриход,
    ОборотыДенежныхСредствОстаткиИОбороты.Инвойс,
    ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.ВнутреннийНомер КАК НомерЗаказ,
    ЗаявкаНаПоставкуУсловиеОплаты.Ссылка КАК Заявка,
    ОборотыДенежныхСредствОстаткиИОбороты.Период
ПОМЕСТИТЬ Приход
ИЗ
    Документ.ЗаявкаНаПоставку.УсловиеОплаты КАК ЗаявкаНаПоставкуУсловиеОплаты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОборотыДенежныхСредств.ОстаткиИОбороты(, , Регистратор, , ) КАК ОборотыДенежныхСредствОстаткиИОбороты
        ПО ЗаявкаНаПоставкуУсловиеОплаты.Ссылка = ОборотыДенежныхСредствОстаткиИОбороты.Заявка
ГДЕ
    (&Клиент = ЗНАЧЕНИЕ(Справочник.Клиенты.ПустаяСсылка)
            ИЛИ ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.Клиент = &Клиент)
    И (&Грузополучатель = ЗНАЧЕНИЕ(Справочник.Клиенты.ПустаяСсылка)
            ИЛИ ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.Грузополучатель = &Грузополучатель)
    И ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
    И ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.ПометкаУдаления = ЛОЖЬ
    И ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.Проведен = ИСТИНА
    И ЗаявкаНаПоставкуУсловиеОплаты.ВариантОплаты = &ВариантОплаты
;

////////////////////////////////////////////////////////////////////////////////

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

результат


Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 187
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Что за конфигурация?
И еще, что это за два периода в регистре '18.07.2013' и '08.08.2013' от которых вы хотите избавится?

Оффлайн jonik_joker

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-17
  • Сайт: 
  • Профессия: Разработчик 1С
8.2,Складской Учет
Эти данные потом в Отчете выводятся,после выполнения запроса идет 2 выборки и эти записи все путают(да и зачем мне 2 раза выводить одну и ту же запись из Регистра прихода и Регистра Расхода).

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 187
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
8.2,Складской Учет
Эти данные потом в Отчете выводятся,после выполнения запроса идет 2 выборки и эти записи все путают(да и зачем мне 2 раза выводить одну и ту же запись из Регистра прихода и Регистра Расхода).
Не знаю такой конфигурации "Складской учет."
Т.е. по регистру у вас существуют записи:
Период: 18.07.2013 СуммаРасход: 1621,22
Период: 08.08.2013 СуммаРасход: 12159,17
или же они плодятся в результате связи с данными документа в запросе, и таких записей в регистре нет?
Если первое, тогда по какому критерию вы планируете избавляться от дублирующихся записей (и зачем они вообще попадают в регистр)?
Если второе, то тогда, как в регистр попали эти два периода?

Оффлайн jonik_joker

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-17
  • Сайт: 
  • Профессия: Разработчик 1С

Добавлено: 13 Ноя 2013, 13:10

соответственно в отчете мне нужно вывести

инвойс1 приход1
инвойс2 приход2
инвойс3        расход3

т.к. сумма первых 2-х инвойсов одинакова в приходе и расходе

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 187
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Вообще странно, что у вас хотят видеть суммы приходов, и при этом не хотят видеть были ли по этим инвойсам отгрузки, и одновременно хотят видеть отгрузки, но не оплаченные. А когда пройдет оплата по третьему инвойсу (9040,52), в вашем отчете из строки инвойса должна будет уйти сумма расхода и перейти в приход?

Оффлайн jonik_joker

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-17
  • Сайт: 
  • Профессия: Разработчик 1С
да
Добавлено: 13 Ноя 2013, 13:50

Вообще странно, что у вас хотят видеть суммы приходов, и при этом не хотят видеть были ли по этим инвойсам отгрузки, и одновременно хотят видеть отгрузки, но не оплаченные.

Вообще это не прихоть заказчика, а моя). После выполнения запроса идет 2 выборки, результатом которых является вывод инвойсов с пометкой "Долг"(если инвойс не оплачен,т.е. запись расход в регистре) и "Долга нет"(если инвойс оплачен,т.е. запись приход в регистре).
Добавлено: 13 Ноя 2013, 13:56

как я понял вы предлагаете вариант


Добавлено: 13 Ноя 2013, 13:58

в принципе этот вариант имеет место быть. как его можно реализовать?

Последний раз редактировалось: jonik_joker; 13 Ноя 2013, 13:58. Причина: Объединение сообщений

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 187
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
в принципе этот вариант имеет место быть. как его можно реализовать?
Как минимум так. Гонять суммы из колонки в колонку это некорректно. Просто потом делать проверку на заполненность колонки СуммаПриход.
А вот для реализации, надо найти связь между суммами оплаты и отгрузки по инвойсу. В скрине регистра я её не вижу. Посмотрите через документ. Не видя конфигурации затруднительно что-либо советовать.

Оффлайн jonik_joker

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-17
  • Сайт: 
  • Профессия: Разработчик 1С
А вот для реализации, надо найти связь между суммами оплаты и отгрузки по инвойсу. В скрине регистра я её не вижу. Посмотрите через документ. Не видя конфигурации затруднительно что-либо советовать.

сам с этим мучаюсь) конфу не я писал и вы не первый кто удивляется ее реализации)
Добавлено: 13 Ноя 2013, 14:20

Как минимум так. Гонять суммы из колонки в колонку это некорректно. Просто потом делать проверку на заполненность колонки СуммаПриход.

немного не понял


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 9735
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

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

Ответов: 2
Просмотров: 3087
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

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

Ответов: 1
Просмотров: 1054
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

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

Ответов: 0
Просмотров: 752
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

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

Ответов: 13
Просмотров: 16933
Последний ответ 02 Сен 2011, 01:14
от bolobol

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
99 Сообщений
AIFrame
65 Сообщений
alex0402
32 Сообщений
kiksi
26 Сообщений
pavl_vs
24 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
KOI8-R
14 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

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

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal