Доработка обработки
Назрела мысль немого модифицировать обработку "Рабочее место менеджера" для УТ11
В обработке есть два поля.(фото)
В Левой отбираем номеклатуру.
в Правой, в третьей вкладке Заказы выводится информация относительно отобранной номенклатуры.
Если с выводом информации по заказу, количеству выбранной позиции в этом заказе, суммме все в порядке, то когда хочу приплюсовать к этому еще информацию о документах поступления, и реализации, и их кол-во выбранной позиции в данных документах, начинаются казусы.
То не выводится вообще данных по документам Поступления и Реализации (док ЗаказКлиента выводится и кол. товара по нему тоже), либо вообще ничего, даже и без колонки ЗаказКлиента.
Сам код таков:
Мысль ведь правильная?
В обработке есть два поля.(фото)
В Левой отбираем номеклатуру.
в Правой, в третьей вкладке Заказы выводится информация относительно отобранной номенклатуры.
Если с выводом информации по заказу, количеству выбранной позиции в этом заказе, суммме все в порядке, то когда хочу приплюсовать к этому еще информацию о документах поступления, и реализации, и их кол-во выбранной позиции в данных документах, начинаются казусы.
То не выводится вообще данных по документам Поступления и Реализации (док ЗаказКлиента выводится и кол. товара по нему тоже), либо вообще ничего, даже и без колонки ЗаказКлиента.
Сам код таков:
ВЫБРАТЬ
ЗаказКлиента.Ссылка,
ЗаказКлиента.СуммаДокумента,
ЗаказКлиента.Валюта,
ЗаказКлиентаТовары.Количество,
ВложенныйЗапрос.Поступления,
ВложенныйЗапрос.ПоступленияКоличество
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслуг.Ссылка КАК Поступления,
ПоступлениеТоваровУслугТовары.Количество КАК ПоступленияКоличество
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка
ГДЕ
ПоступлениеТоваровУслуг.Товары.Номенклатура.Ссылка = &Номенклатура
И ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура) КАК ВложенныйЗапрос
ПО ЗаказКлиента.Ссылка = ВложенныйЗапрос.Поступления.Ссылка
ПО ЗаказКлиентаТовары.Ссылка = ЗаказКлиента.Ссылка
ГДЕ
ЗаказКлиента.Товары.Номенклатура.Ссылка = &Номенклатура
И ЗаказКлиентаТовары.Номенклатура.Ссылка = &Номенклатура
ПоказатьМысль ведь правильная?
Прикрепленные файлы:
По теме из базы знаний
- Внешняя УПД для реализации (УТ 10.3.32 и 10.3.43.1) - две доработанные обработки: до и после 1 июля 2017 г + типовая внешняя УПД
- Обработка создания документов "Реализация товаров и услуг" и "Счета покупателей" для группы контрагентов
- Доработка обработки "Выгрузка и загрузка данных в формате XML"
- Доработка модуля ЭДО СБИС для Wildberries
- Доработка обработки Поиск и замена значений
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
подозреваю что это динамический список ( я бы так сделал), у динамического списка скорее всего основная таблица выбрана как документ.заказ. В этом случае невозможно дублирование ссылок заказов. А при соединении в запросе Вы получаете строки, которые дублируют результат. Как следствие Вы получаете идентичные ссылки на документ Заказ, что вызывает ошибку
ВЫБРАТЬ
ЗаказКлиентаТовары.Ссылка,
ЗаказКлиентаТовары.Ссылка.СуммаДокумента,
ЗаказКлиентаТовары.Ссылка.Валюта,
ЗаказКлиентаТовары.Количество,
//ВложенныйЗапрос.Поступления,
ВложенныйЗапрос.ПоступленияКоличество
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Номенклатура,
СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК ПоступленияКоличество
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура
СГРУППИРОВАТЬ ПО
ПоступлениеТоваровУслугТовары.Номенклатура)ВложенныйЗапрос
ПО ЗаказКлиентаТовары.Ссылка = ВложенныйЗапрос.Поступления.Ссылка
ГДЕ
ЗаказКлиентаТовары.Номенклатура.Ссылка = &Номенклатура
ЗаказКлиентаТовары.Ссылка,
ЗаказКлиентаТовары.Ссылка.СуммаДокумента,
ЗаказКлиентаТовары.Ссылка.Валюта,
ЗаказКлиентаТовары.Количество,
//ВложенныйЗапрос.Поступления,
ВложенныйЗапрос.ПоступленияКоличество
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Номенклатура,
СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК ПоступленияКоличество
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура
СГРУППИРОВАТЬ ПО
ПоступлениеТоваровУслугТовары.Номенклатура)ВложенныйЗапрос
ПО ЗаказКлиентаТовары.Ссылка = ВложенныйЗапрос.Поступления.Ссылка
ГДЕ
ЗаказКлиентаТовары.Номенклатура.Ссылка = &Номенклатура
ВЫБРАТЬ
ЗаказКлиентаТовары.Ссылка,
ЗаказКлиентаТовары.Ссылка.СуммаДокумента,
ЗаказКлиентаТовары.Ссылка.Валюта,
ЗаказКлиентаТовары.Количество,
//ВложенныйЗапрос.Поступления,
ВложенныйЗапрос.ПоступленияКоличество
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Ссылка.Поступления,
СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК ПоступленияКоличество
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура
СГРУППИРОВАТЬ ПО
ПоступлениеТоваровУслугТовары.Ссылка.Поступления)ВложенныйЗапрос
ПО ЗаказКлиентаТовары.Ссылка = ВложенныйЗапрос.Поступления.Ссылка
ГДЕ
ЗаказКлиентаТовары.Номенклатура.Ссылка = &Номенклатура
ЗаказКлиентаТовары.Ссылка,
ЗаказКлиентаТовары.Ссылка.СуммаДокумента,
ЗаказКлиентаТовары.Ссылка.Валюта,
ЗаказКлиентаТовары.Количество,
//ВложенныйЗапрос.Поступления,
ВложенныйЗапрос.ПоступленияКоличество
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.Ссылка.Поступления,
СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК ПоступленияКоличество
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка = &Номенклатура
СГРУППИРОВАТЬ ПО
ПоступлениеТоваровУслугТовары.Ссылка.Поступления)ВложенныйЗапрос
ПО ЗаказКлиентаТовары.Ссылка = ВложенныйЗапрос.Поступления.Ссылка
ГДЕ
ЗаказКлиентаТовары.Номенклатура.Ссылка = &Номенклатура
там поступления связаны еще с документом заказПоставщику, может из-за того не захвачивает. Хотя нескльким часами назад реально получилось вывести таблицу, Где на 1 заказКлиента дублировались несколько Поступлений.
Увы код не сохранил, а так уже не помню точно каким боком делал...
Решил через действовать через вывод столбца Реализация
Всё есть кроме Реализации... муть
Увы код не сохранил, а так уже не помню точно каким боком делал...
Решил через действовать через вывод столбца Реализация
ВЫБРАТЬ
докЗаказКлиента.Ссылка КАК Ссылка,
докЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
ЗаказКлиентаТовары.Количество КАК Количество,
РеализацияТоваровУслуг.Ссылка КАК Реализация
ИЗ
Документ.ЗаказКлиента КАК докЗаказКлиента
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ПО (докЗаказКлиента.Ссылка = ЗаказКлиентаТовары.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ПО (докЗаказКлиента.Ссылка = РеализацияТоваровУслуг.Ссылка)
ГДЕ
ЗаказКлиентаТовары.Номенклатура.Ссылка = &Номенклатура
ПоказатьВсё есть кроме Реализации... муть
(10) а зачем в запросе дублирование информации, в Документ.ЗаказКлиента.Товары уже есть сам Заказ в ссылке, это доп нагрузка на базу, а раз это динамический список, то и частообновляемый.
а по существу вопроса, вроде динамический список не даст сделать дубли ключей, если только типа дерева попробовать.
а по существу вопроса, вроде динамический список не даст сделать дубли ключей, если только типа дерева попробовать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот