helpf.pro
Регистрация

v8: Выборка заказа

KLIN
09.04.2019 14:22Прочитано: 735

Привет всем, решаю вот такую задачу:При открытии формы или при нажатии на кнопку «Найти» выполнить выборку всех документов «Заказ EDI» по условию:

  • Дата документа больше значения в поле «Период с» и меньше значения в поле «Период по».

Для каждого выбранного заказа EDI:

  • Найти документ «Заказ покупателя», созданный на основании текущего заказа EDI,
  • Найти все записи регистра «Уведомления ORDRSP», у которых значение поля «Заказ EDI» равно текущему заказу EDI.

Вывожу все это в табличное поле с уже существующими колонками Вот код: Процедура НайтиНажатие(Элемент)

Запрос = Новый Запрос;

Запрос.УстановитьПараметр("ПериодС",(ТекущаяДата() - 604800));

Запрос.УстановитьПараметр("ПериодПо",ТекущаяДата());

запрос.УстановитьПараметр("ДокументОснование", Документы.ЗаказEDI.ПолучитьСсылку());

Запрос.Текст = "ВЫБРАТЬ

|ЗаказEDI.Ссылка,

|ЗаказEDI.Дата,

|ЗаказПокупателя.Ссылка КАК Ссылка1,

|ЗаказПокупателя.Номер КАК Номер,

|ЗаказПокупателя.Дата КАК Дата,

|МАКСИМУМ(ВложенныйЗапрос.ДатаПостановки) КАК ДатаПостановки

|ИЗ

|Документ.ЗаказПокупателя КАК ЗаказПокупателя,

|Документ.ЗаказEDI КАК ЗаказEDI,

|(ВЫБРАТЬ

|УведомленияORDRSP.ДатаПостановки КАК ДатаПостановки,

|УведомленияORDRSP.ДатаОтправки КАК ДатаОтправки,

|УведомленияORDRSP.ПричинаОтклонения.Ссылка КАК ПричинаОтклоненияСсылка,

|УведомленияORDRSP.ЗаказEDI.Ссылка КАК ЗаказEDIСсылка

|ИЗ

|РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP) КАК ВложенныйЗапрос

|ГДЕ

|ЗаказEDI.Дата >ПериодС

|И ЗаказEDI.Дата <ПериодПо

|И ЗаказПокупателя.Ссылка =ДокументОснование

|И ВложенныйЗапрос.ЗаказEDIСсылка =ДокументОснование

|

|СГРУППИРОВАТЬ ПО

|ЗаказEDI.Ссылка,

|ЗаказEDI.Дата,

|ЗаказПокупателя.Ссылка,

|ЗаказПокупателя.Номер,

|ЗаказПокупателя.Дата";

выборка = запрос.Выполнить();

ТЗ = выборка.Выгрузить();

Для каждого строка из ТЗ цикл

НоваяСтрока = ТабличноеПоле.Добавить();

НоваяСтрока.Дата = строка.ДатаЗаказа;

НоваяСтрока.Система = строка.НомерЗаказаКлиента;

НоваяСтрока.Номер = строка.НомерЗаказа1С;

КонецЦикла;

КонецПроцедурыне понятно следующее, как сделать так что бы колонка Дата отправки заполнялась вот по такому алгоритму:Значение поля «Дата отправки» найденной записи регистра «Уведомления ORDRSP», имеющей самое позднее значение «Дата постановки», или пустое значение, если записи не найдены.

Yandex
Возможно, вас также заинтересует
Реклама на портале
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.