Имя: Пароль:
1C
1С v8
Объединить 2 результата запроса в одну таблицу по условию
,
0 Anna_77
 
14.09.20
22:05
//Добрый вечер, подскажите, пожалуйста решение по след. задаче: Конфигурация Бухгалтерия предприятия 3.0.
Необходимо объединить Остатки по 41 счету с остатками по счету ГТД. Партий нет.

//Первым запросом получаю остатки по 41.01. счету:
"ВЫБРАТЬ
                            |    ХозрасчетныйОстатки.Субконто3 КАК Склад41,
                            |    ХозрасчетныйОстатки.Субконто1.Артикул КАК Артикул41,
                            |    ХозрасчетныйОстатки.Субконто1 КАК Номенклатура41,
                            |    ХозрасчетныйОстатки.КоличествоОстаток КАК ОстатокНа41,
                            |    ХозрасчетныйОстатки.Субконто2 КАК ДокОснование41,
                            |    ХозрасчетныйОстатки.Субконто1.Код КАК Код41
                            |ИЗ
                            |    РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
                            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                            |        ПО ХозрасчетныйОстатки.Организация = ПоступлениеТоваровУслугТовары.Ссылка.Организация
                            |            И ХозрасчетныйОстатки.Субконто3 = ПоступлениеТоваровУслугТовары.Ссылка.Склад
                            |            И ХозрасчетныйОстатки.Субконто1 = ПоступлениеТоваровУслугТовары.Номенклатура
                            |            И ХозрасчетныйОстатки.Субконто2 = ПоступлениеТоваровУслугТовары.Ссылка
                            |ГДЕ
                            |    ХозрасчетныйОстатки.Счет.КодБыстрогоВыбора = ""4101""
                            |    И ХозрасчетныйОстатки.Организация = &Организация
                            |    И ХозрасчетныйОстатки.КоличествоОстаток > 0
                            |
                            |УПОРЯДОЧИТЬ ПО
                            |    Склад41,
                            |    Номенклатура41,
                            |    ДокОснование41,
                            |    ОстатокНа41" ;
    
Вторым запросом - получаю Остатки в разрезе ГТД, складов и стран поступления.с счета ГТД:

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

А как объединить эти два запроса в консоли запросов не сооброжу.
Т.е. мне нужно взять из второго запроса количество с номерамиГТД по послед. документам поступления пока сумма(ОстатокГТД) не станет равной Остаток41. Как-то так!?
За объяснение не ругайте, уже голова кругом.
Подскажите пожалуйста?
1 RomanYS
 
14.09.20
22:10
удивительно похожая задача возникла меньше часа назад в соседней ветке
Обьединить результаты запросов по условию
2 Anna_77
 
14.09.20
22:19
Да, Вы правы.
Я решила помучить не только знатоков на Форуме, но сначала мучила брата.
А он в свою очередь меня опередил, и как мог описал все на форуме.:)
Возникла реальная проблема, которую необходимо решить и навести порядок на счетах.
Для этого хочу сформировать отчет, сопоставить данные, но не совсем понимаю как это реализовать в запросе.
Если можете, подскажите?
3 RomanYS
 
14.09.20
22:25
(2) Не понимаете как сделать в запросе, сделайте без запроса - это проще и понятнее.
От того, что я вам с братом расскажу, что нужно получить таблицу с нарастающим итогом, а потом её соединить со второй по хитрому условию вам вряд ли станет легче. Ну и кроме этого будет куча нюансов, в которых Вы много раз ошибётесь.
4 Ёпрст
 
14.09.20
22:32