Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 6, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Объединить запросом две таблицы с условием по количеству.          
vadium Подменю пользователя
сообщение 29.11.18, 8:14
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Есть две таблицы с колонками "Количество", соединяемые по некоторым ключевым полям, но может возникнуть ситуация, когда в обеих таблицах есть дублирующиеся строки, соответственно соединение в запросе даст комбинацию в 4 строки, а нужно сделать так чтобы присоединяемая таблица передала количество, меньшее чем первая.
Пример:
Таблица1
y  K  13
z  R  15
x  A   1
x  B   2


Таблица2
z  H  14
y  M  11
x  C   2
x  D   1


Итогом является результирующая Таблица3
y  KH  13
z  RM  11
и 4 комбинации
x  AC  1
x  AD  1
x  BC  2
x  BD  1

Хотелось бы чтобы при объединении по x получилась такая (или похожая) картинка:
x  AC 1
x  BC 1
x  BD 1

Такое реально? Какое-то условие с итогом по ключевым полям?

vadium Подменю пользователя
сообщение 29.11.18, 10:06
Сообщение #2

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Запрос (сильно упрощённый) такой:

ВЫБРАТЬ
    РасходнаяТовары.Товар,
    РасходнаяТовары.Серия,

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

СГРУППИРОВАТЬ ПО
    РасходнаяТовары.Товар,
    РасходнаяТовары.Серия,
    РасходнаяТовары.ЦенаБезНДС,
    Парт.Партия
В исходных данных в Расходной:

Товар                       Серия     КвоР    ЦенаБНДС    СуммаСНДС
полыни н-ка 25мл стекло    050918    2,0           6               14,4
полыни н-ка 25мл стекло    050918    1,0           7                8,4


и соответственно Партии:

Товар                         Серия      КвоП    СуммаП          Партия
полыни н-ка 25мл стекло       050918    1,0          5         Приходная накладная ЗЮ-123
полыни н-ка 25мл стекло       050918    2,0         14        Приходная накладная МЮ-321

Итог работы данного запроса:
Товар                        Серия    КвоР    КвоП    ЦенаБНДС    СуммаСНДС    СуммаП           Партия
полыни н-ка 25мл стекло    050918      2        1            5,06           10,83             4,8       Приходная накладная ЗЮ-123
полыни н-ка 25мл стекло    050918      2        2            5,06           10,83             9,56     Приходная накладная МЮ-321
полыни н-ка 25мл стекло    050918      1        1            5,23             5,6               4,8      Приходная накладная ЗЮ-123
полыни н-ка 25мл стекло    050918      1        2            5,23             5,6              9,56      Приходная накладная МЮ-321
Объединять по количествам нельзя, в общем случае эти строки независимы и пересекающиеся количества - совпадения.
Итогом должна служить таблица вида:

Товар                        Серия    КвоР    КвоП    ЦенаБНДС    СуммаСНДС    СуммаП         Партия
полыни н-ка 25мл стекло    50918       1         1             6                7,2               5          Приходная накладная ЗЮ-123
полыни н-ка 25мл стекло    50918       1         1             6                7,2               7          Приходная накладная МЮ-321
полыни н-ка 25мл стекло    50918       1         1             7                8,4               7          Приходная накладная МЮ-321

Реально ли такого добиться?

alx389d Подменю пользователя
сообщение 29.11.18, 10:11
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 24
Спасибо сказали: 9 раз
Рейтинг: 9

vadium @ Сегодня, 8:14 * ,
Не понятно по какому критерию вы получили результирующую таблицу 3, там где KH и RM. см. скрин.



По последней вашей табличке(тому что хотите получить) - не понятно:
Почему должна пропасть комбинация "AD", но остаться, например, комбинация "BC" - значения в колонках с количеством одинаковые и там и там. В первом случае единицы, во втором двойки.
Почему для комбинации "BC" значение в количестве должно стать 1 - для B в первой таблице колво у вас 2, для С во второй - тоже 2.

Не знаю, может кто более понятливый подойдет и подскажет вам smile.gif Мне каж-ся, здесь лучше попробовать описать прикладную задачу(что вы делаете)

Спасибо сказали: vadium,

Petre Подменю пользователя
сообщение 29.11.18, 10:21
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2458
Из: Київ, Україна
Спасибо сказали: 615 раз
Рейтинг: 575.5

vadium @ Today, 10:06 * ,
Т. е. у вас в рн разрешено дублирование номенклатур?


Signature
Допрацьовую:
- "Бухгалтерія для України 1.2";
- "Бухгалтерія для України 2.0";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

alx389d Подменю пользователя
сообщение 29.11.18, 10:52
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 24
Спасибо сказали: 9 раз
Рейтинг: 9

данные для списания по партиям по фифо/лифо чтоли запросом хотите вытащить?
в партии МЮ-321 было 2, стало 1. Кол-во расходной распределяется..не, запросом на 1С не реально такого добиться на практике. Это будет слишком монструзно, ранжировать строчки, накопительные итоги, соединения таблиц самих с собой. Не реально, нет.

Спасибо сказали: vadium,

vadium Подменю пользователя
сообщение 29.11.18, 11:31
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Petre @ Сегодня, 10:21 * ,
Да, потому что разные отпускные цены, соответственно получаются несколько строк.

alx389d @ Сегодня, 10:52 * ,
Спасибо. Очень надеялся что моих знаний просто не хватает, и есть хитрый способ. Ну что ж! Придётся делать старым добрым перебором, чтоб ему...! smile.gif

alx389d Подменю пользователя
сообщение 29.11.18, 11:36
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 24
Спасибо сказали: 9 раз
Рейтинг: 9

vadium @ Сегодня, 11:31 * ,
для 1С это будет ну оочень уж хитрый способ, кроме вас(разработчика) его потом мало кто поймет, такое лучше не делать smile.gif Если бы 1Споддерживала window functions скуля или курсоры..а так нет, надо кодить, даsmile.gif

Спасибо сказали: vadium,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.12.18, 22:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне