АдресДоставки в Заказе клиента УТ 11.5 как очистить лишние?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Это конечно очень жёстко!
// Получает значения реквизитов по статистике их использования в конкретном типе объекта.
//
// Параметры:
// Ссылка - ЛюбаяСсылка - ссылка на объект определяющий тип, по реквизитам которого необходимо получить значения
// ОписаниеЗаполняемыхРеквизитов - См. ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов
// ДанныеКлючевыхРеквизитов - Структура - значения ключевых реквизитов, в пределах которых собирается статистика.
//
// Возвращаемое значение:
// Структура - реквизиты, для которых были получены значения по статистике,
// где Ключ - имя реквизита, а Значение - его значение.
//
Функция ПолучитьЗначенияРеквизитов(Ссылка, ОписаниеЗаполняемыхРеквизитов, ДанныеКлючевыхРеквизитов = Неопределено) Экспорт
Показать// Подбирает из Заданий на перевозку значения последних реквизитов доставки по получателю или партнеру.
// Параметры:
// ПолучательОтправитель - СправочникСсылка.Партнеры, СправочникСсылка.Склады - необязательный, если указан Перевозчик,
// Перевозчик - СправочникСсылка.Партнеры - необязательный, если указан ПолучательОтправитель.
//
// Возвращаемое значение:
// ТаблицаЗначений - содержит три последних набора реквизитов доставки по Партнеру или Перевозчику.
// Колонки:
// АдресДоставки,
// АдресДоставкиЗначенияПолей,
// ЗонаДоставки,
// ВремяС,
// ВремяПо,
// ДополнительнаяИнформация.
//
Функция ПоследниеРеквизитыДоставкиИзЗаданий(ПолучательОтправитель = Неопределено, Перевозчик = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ЗаданиеНаПеревозкуРаспоряжения.НомерСтроки,
| ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата,
| ЗаданиеНаПеревозкуРаспоряжения.КлючСвязи,
| ЗаданиеНаПеревозкуРаспоряжения.ВремяС,
| ЗаданиеНаПеревозкуРаспоряжения.ВремяПо,
| ЗаданиеНаПеревозкуРаспоряжения.ДополнительнаяИнформация,
| ЗаданиеНаПеревозкуМаршрут.Адрес,
| ЗаданиеНаПеревозкуМаршрут.АдресЗначенияПолей
|ПОМЕСТИТЬ ВТ_ЗаданиеНаПеревозкуСтроки
|ИЗ
| Документ.ЗаданиеНаПеревозку.Распоряжения КАК За
Показать
если быть точнее то в моем случае адреса тянуться этой процедурой:
Функция ПоследниеРеквизитыДоставкиИзРаспоряжений(ОбъектСсылка, ПолучательОтправитель = Неопределено, Перевозчик = Неопределено)
УстановитьПривилегированныйРежим(Истина);
МетаданныеОбъекта = ОбъектСсылка.Метаданные();
Если ТипЗнч(ОбъектСсылка) = Тип("ДокументСсылка.ПоручениеЭкспедитору") Тогда
Возврат ПоследниеРеквизитыПорученийЭкспедиторам(ПолучательОтправитель)
КонецЕсли;
СвязанныеДокументы = Новый Соответствие;
ГруппаДокументов = Новый Массив;
ГруппаДокументов.Добавить(Метаданные.Документы.РеализацияТоваровУслуг);
ГруппаДокументов.Добавить(Метаданные.Документы.ЗаказКлиента);
ГруппаДокументов.Добавить(Метаданные.Документы.ЗаявкаНаВозвратТоваровОтКлиента);
ГруппаДокументов.Добавить(Метаданные.Документы.ПередачаТоваровХранителю);
СвязанныеДокументы.Вставить(1, ГруппаДокументов);
ГруппаДокументов = Новый Массив;
ГруппаДокументов.Добавить(Метаданные.Документы.ЗаказНаПеремещение);
ГруппаДокументов.Добавить(Метаданные.Документы.ПеремещениеТоваров);
СвязанныеДокументы.Вставить(2, ГруппаДокументов);
ГруппаДокументов = Новый Массив;
ГруппаДокументов.Добавить(Метаданные.Документы.ЗаказПоставщику);
ГруппаДокументов.Добавить(Метаданные.Документы.ПриобретениеТоваровУслуг);
ГруппаДокументов.Добавить(Метаданные.Документы.ПриемкаТоваровНаХранение);
СвязанныеДокументы.Вставить(3, ГруппаДокументов);
ГруппаДокументов = Новый Массив;
ГруппаДокументов.Добавить(МетаданныеОбъекта);
СвязанныеДокументы.Вставить(6, ГруппаДокументов);
Для каждого КлючЗначениеСвязанныхДокументов из СвязанныеДокументы Цикл
Если КлючЗначениеСвязанныхДокументов.Значение.Найти(МетаданныеОбъекта) <> Неопределено Тогда
ТекущаяГруппаДокументов = КлючЗначениеСвязанныхДокументов.Значение;
Прервать;
КонецЕсли;
КонецЦикла;
ШаблонЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 3
| ВЫБОР КОГДА Док.СпособДоставки В (&СпособыДоставкиДоМестаПередачи)
| И &Перевозчик <> НЕОПРЕДЕЛЕНО
| ТОГДА Док.АдресДоставкиПеревозчика
| ИНАЧЕ Док.АдресДоставки
| КОНЕЦ КАК АдресДоставки,
| МАКСИМУМ(Док.Дата) КАК Дата
|ПОМЕСТИТЬ ВТ_ПоследниеАдреса
|ИЗ
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот