8.х Вопрос по пакетному запросу

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Ivan2014, 12 мар 2015.

  1. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    В пакетном запросе использую соединение.
    upload_2015-3-12_9-13-12.png
    Если соединять только ВТ1 с ВТ2, то количество записей в итоговой таблице не увеличивается, а если еще соединять ВТ1 с ВТ3 то количество строк таблицы увеличивается. В чем может быть причина?
    Спасибо.
  2. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    А какие условия наложены на таблицы?
    Ам..
    1) Выбираются все записи из ВТ1, но на ВТ2 наложено свое условие и оно ограничивает ВТ1
    2) В ВТ3 другие условия и они ВТ1 расширяют.

    Скрин условий можно?
    Ivan2014 нравится это.
  3. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Так тут же левое соединение (по ВТ1) и пакетный запрос. Разница ВТ2 и ВТ3-за разный период отбираются данные.

    upload_2015-3-12_9-51-27.png

    upload_2015-3-12_9-52-15.png


    upload_2015-3-12_9-53-23.png
    --- Объединение сообщений, 12 мар 2015 ---
    Я понимаю что должно быть количество строк как в ВТ1. Так как строки не группируются в итоговом пакете.
    --- Объединение сообщений, 12 мар 2015 ---
    Почему строк больше становится (задвоение идет)?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    На сколько понимаю, все логично: увеличение количества записей вызвано тем, что в ВТ3 содержатся те же записи, что и в ВТ2.
    Получаются дубликаты в итоге.
    Ivan2014 нравится это.
  5. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Тогда я не понимаю. Смотрите, у меня левое соединение ВТ1 с ВТ2 и ВТ1 с ВТ3. Насколько я понимаю значение строк при этом не должно увеличиваться. Или мне этот пакет еще на 2 придется бить?
    --- Объединение сообщений, 12 мар 2015 ---
    И в двух пакетах не получается. Тот же не правильный результат.
    --- Объединение сообщений, 12 мар 2015 ---
    Увеличение идет на 10% примерно
    Последнее редактирование: 12 мар 2015
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Допустим есть таблицы ВТ1, ВТ2, ВТ3.

    Содержимое таблицы ВТ1:
    Поле1, Значение1_1_1, Значение1_1_2
    Поле2, Значение1_2_1, Значение1_2_2

    Содержимое таблицы ВТ2:
    Поле1, Значение2_1_1, Значение2_1_2
    Поле2, Значение2_2_1, Значение2_2_2

    Содержимое таблицы ВТ3:
    Поле1, Значение3_1_1, Значение3_1_2
    Поле2, Значение3_2_1, Значение3_2_2

    Что получится в результате соединения этих таблиц?
    Поле1, Значение1_1_1, Значение1_1_2, Значение2_1_1, Значение2_1_2
    Поле1, Значение1_1_1, Значение1_1_2, Значение3_1_1, Значение3_1_2
    Поле2, Значение1_2_1, Значение1_2_2, Значение2_1_1, Значение2_1_2
    Поле2, Значение1_2_1, Значение1_2_2, Значение3_1_1, Значение3_1_2
    Ivan2014 нравится это.
  7. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Угу и я про тоже
    Ivan2014 нравится это.
  8. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    А как выйти из данной ситуации (я думал что левое соединение поможет)? Буду думать. Спасибо.
  9. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    У тебя что получается в ВТ2 и ВТ3 одинаковые условия с разными значениями.. соответсвенно у тебя одна и таже запись присваивается либо со значением либо NULL.. попробуй через выбор когда не NULL
    Ivan2014 нравится это.
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Думается мне, нужно делать динамический срез последних......
    Задача какая?
    Ivan2014 нравится это.
  11. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Необходимо соединить регистр накопления НДФЛРасчетыСБюджетом с подразделением на конец месяца. При этом нужно учесть что сотрудник мог быть уволен (тогда на дату увольнения) и может он быть ГПХ.
    Задача не совсем верная конечно но необходимо ее решить.
    --- Объединение сообщений, 12 мар 2015 ---
    Я анализирую подразделение на начало месяца, на конец и если он ГПХ тоже анализирую это.
    --- Объединение сообщений, 12 мар 2015 ---
    Я пробовал и название полей менял, и через выбор соединял - тут видимо причина в задвоении строк. Поэтому и растет массив.
    --- Объединение сообщений, 12 мар 2015 ---
    Это то что мне и нужно видимо. А как это сделать?
    --- Объединение сообщений, 12 мар 2015 ---
    В регистре НДФЛРасчетыСБюджетом - физлица, а в регистре РаботникиОрганизации - уже сотрудники.
    Последнее редактирование: 12 мар 2015
  12. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
  13. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ам.. уважаемый.. только что мысль созрела.. а зачем вам ВТ2 и ВТ3?..
    Сделайте одну ВТ2 но поменяйте условие на НЕ В (&ПричинаИзмененияСостояния)

    Вы же по факту делаете одну и ту же выборку но исключаете разные условия.. так исключите их одновременно
    Ivan2014 нравится это.
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    ВТ2 - одна дата для среза последних
    ВТ3 - другая дата для среза последних.
    Ivan2014 нравится это.
  15. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Я так не могу сделать так как есть одно физлицо и два сотрудника (один из них уволенный), тогда лишние строки попадут.
  16. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    А что мешает проверять состояние сотрудника?
    Ivan2014 нравится это.
  17. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Я вопрос решил. Спасибо.
    --- Объединение сообщений, 12 мар 2015 ---
    Что-то новое для себя узнал.

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