ривет всем, необходимо объединить 2 запроса, я что то не пойму как, необходимо сделать выборку и заполнить табличную часть с типом значения ТаблицаЗначений, так как выборка из разных таблиц, по следующему алгоритму:
При открытии формы или при нажатии на кнопку «Найти» выполнить выборку всех документов «Заказ EDI» по условию:
• Дата документа больше значения в поле «Период с» и меньше значения в поле «Период по».
Для каждого выбранного заказа EDI:
• Найти документ «Заказ покупателя», созданный на основании текущего заказа EDI,
• Найти все записи регистра «Уведомления ORDRSP», у которых значение поля «Заказ EDI» равно текущему заказу EDI.
Выбранные заказы EDI вывести в таблицу и заполнить колонки по следующему алгоритму:
Колонка таблицы Алгоритм заполнения
Номер заказа клиента Значение реквизита «Номер в системе покупателя» текущего заказа EDI.
Номер заказа 1с Значение реквизита «Номер» найденного заказа покупателя.
Дата отправки Значение поля «Дата отправки» найденной записи регистра «Уведомления ORDRSP», имеющей самое позднее значение «Дата постановки», или пустое значение, если записи не найдены.
Дата первой отправки Значение поля «Дата отправки» найденной записи регистра «Уведомления ORDRSP», имеющей самое раннее значение «Дата постановки», или пустое значение, если записи не найдены.
Причина отклонения Значение поля «Причина отклонения» найденной записи регистра «Уведомления ORDRSP», имеющей самое позднее значение «Дата постановки», или пустое значение, если записи не найдены.
Пометка Не заполняется.
Дата заказа Значение реквизита «Дата» заказа покупателя.
Чтож первую часть я сделал вот так, я заполнил часть колонок,
"ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Свойство,
| ЗначенияСвойствОбъектов.Значение,
| ЗаказEDI.НомерВСистемеПокупателя КАК НомерЗаказаКлиента,
| ЗначенияСвойствОбъектов.Объект КАК ЗаказПокупателя,
| ЗначенияСвойствОбъектов.Объект.Номер КАК НомерЗаказа1С,
| ЗначенияСвойствОбъектов.Объект.Дата КАК ДатаЗаказа1С,
| ЗаказEDI.Ссылка КАК ЗаказEDI
|ИЗ
| Документ.ЗаказEDI КАК ЗаказEDI,
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Свойство = &Свойство
| И ЗначенияСвойствОбъектов.Значение = ЗаказEDI.НомерВСистемеПокупателя";
Сделал 2 запрос дабы заполнить 3 оставшиеся колонки и тут встала проблема, он выводит либо 1 запрос либо 2, когда я объединяю, вот 2 запрос
ВЫБРАТЬ
УведомленияORDRSP.ПричинаОтклонения КАК ПричинаОтклонения,
ВложенныйЗапрос.ДатаОтправки КАК ДатаОтправки,
ВложенныйЗапрос.ДатаПервойОтправки КАК ДатаПервойОтправки
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаОтправки,
МИНИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаПервойОтправки
ИЗ
РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP
ПО УведомленияORDRSP.ДатаПостановки = ВложенныйЗапрос.ДатаОтправки
Как объединить так что бы все это вывелось в 1 ТабличноеПоле, обхединение дает вывод только 1 выборки, 2 сразу туда не попадают
При открытии формы или при нажатии на кнопку «Найти» выполнить выборку всех документов «Заказ EDI» по условию:
• Дата документа больше значения в поле «Период с» и меньше значения в поле «Период по».
Для каждого выбранного заказа EDI:
• Найти документ «Заказ покупателя», созданный на основании текущего заказа EDI,
• Найти все записи регистра «Уведомления ORDRSP», у которых значение поля «Заказ EDI» равно текущему заказу EDI.
Выбранные заказы EDI вывести в таблицу и заполнить колонки по следующему алгоритму:
Колонка таблицы Алгоритм заполнения
Номер заказа клиента Значение реквизита «Номер в системе покупателя» текущего заказа EDI.
Номер заказа 1с Значение реквизита «Номер» найденного заказа покупателя.
Дата отправки Значение поля «Дата отправки» найденной записи регистра «Уведомления ORDRSP», имеющей самое позднее значение «Дата постановки», или пустое значение, если записи не найдены.
Дата первой отправки Значение поля «Дата отправки» найденной записи регистра «Уведомления ORDRSP», имеющей самое раннее значение «Дата постановки», или пустое значение, если записи не найдены.
Причина отклонения Значение поля «Причина отклонения» найденной записи регистра «Уведомления ORDRSP», имеющей самое позднее значение «Дата постановки», или пустое значение, если записи не найдены.
Пометка Не заполняется.
Дата заказа Значение реквизита «Дата» заказа покупателя.
Чтож первую часть я сделал вот так, я заполнил часть колонок,
"ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Свойство,
| ЗначенияСвойствОбъектов.Значение,
| ЗаказEDI.НомерВСистемеПокупателя КАК НомерЗаказаКлиента,
| ЗначенияСвойствОбъектов.Объект КАК ЗаказПокупателя,
| ЗначенияСвойствОбъектов.Объект.Номер КАК НомерЗаказа1С,
| ЗначенияСвойствОбъектов.Объект.Дата КАК ДатаЗаказа1С,
| ЗаказEDI.Ссылка КАК ЗаказEDI
|ИЗ
| Документ.ЗаказEDI КАК ЗаказEDI,
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Свойство = &Свойство
| И ЗначенияСвойствОбъектов.Значение = ЗаказEDI.НомерВСистемеПокупателя";
Сделал 2 запрос дабы заполнить 3 оставшиеся колонки и тут встала проблема, он выводит либо 1 запрос либо 2, когда я объединяю, вот 2 запрос
ВЫБРАТЬ
УведомленияORDRSP.ПричинаОтклонения КАК ПричинаОтклонения,
ВложенныйЗапрос.ДатаОтправки КАК ДатаОтправки,
ВложенныйЗапрос.ДатаПервойОтправки КАК ДатаПервойОтправки
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаОтправки,
МИНИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаПервойОтправки
ИЗ
РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP
ПО УведомленияORDRSP.ДатаПостановки = ВложенныйЗапрос.ДатаОтправки
Как объединить так что бы все это вывелось в 1 ТабличноеПоле, обхединение дает вывод только 1 выборки, 2 сразу туда не попадают
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9)Получается что то типа этого, но выводит чушь))
ВЫБРАТЬ
ЗаказEDI.НомерВСистемеПокупателя КАК НомерЗаказаКлиента,
ЗначенияСвойствОбъектов.Объект.Номер КАК НомерЗаказа1С,
ЗначенияСвойствОбъектов.Объект.Дата КАК ДатаЗаказа1С,
ЗаказEDI.Ссылка КАК ЗаказEDI,
NULL КАК ПричинаОтклонения,
NULL КАК ДатаОтправки,
NULL КАК ДатаПервойОтправки,
NULL КАК ЗаказEDI1
ИЗ
Документ.ЗаказEDI КАК ЗаказEDI,
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Свойство = &Свойство
И ЗначенияСвойствОбъектов.Значение = ЗаказEDI.НомерВСистемеПокупателя
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
NULL,
NULL,
NULL,
УведомленияORDRSP.ПричинаОтклонения,
ВложенныйЗапрос.ДатаОтправки,
ВложенныйЗапрос.ДатаПервойОтправки,
УведомленияORDRSP.ЗаказEDI
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаОтправки,
МИНИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаПервойОтправки
ИЗ
РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP
ПО УведомленияORDRSP.ДатаПостановки = ВложенныйЗапрос.ДатаОтправки
ВЫБРАТЬ
ЗаказEDI.НомерВСистемеПокупателя КАК НомерЗаказаКлиента,
ЗначенияСвойствОбъектов.Объект.Номер КАК НомерЗаказа1С,
ЗначенияСвойствОбъектов.Объект.Дата КАК ДатаЗаказа1С,
ЗаказEDI.Ссылка КАК ЗаказEDI,
NULL КАК ПричинаОтклонения,
NULL КАК ДатаОтправки,
NULL КАК ДатаПервойОтправки,
NULL КАК ЗаказEDI1
ИЗ
Документ.ЗаказEDI КАК ЗаказEDI,
РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
ЗначенияСвойствОбъектов.Свойство = &Свойство
И ЗначенияСвойствОбъектов.Значение = ЗаказEDI.НомерВСистемеПокупателя
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
NULL,
NULL,
NULL,
УведомленияORDRSP.ПричинаОтклонения,
ВложенныйЗапрос.ДатаОтправки,
ВложенныйЗапрос.ДатаПервойОтправки,
УведомленияORDRSP.ЗаказEDI
ИЗ
(ВЫБРАТЬ
МАКСИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаОтправки,
МИНИМУМ(УведомленияORDRSP.ДатаПостановки) КАК ДатаПервойОтправки
ИЗ
РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP
ПО УведомленияORDRSP.ДатаПостановки = ВложенныйЗапрос.ДатаОтправки
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот