Добавить в отчет номенклатуру из коммерческих предложений

1. Lllypuk 18.02.21 16:58 Сейчас в теме
Всем привет! Есть отчет, в него необходимо добавить номенклатуру которая находиться в коммерческом предложении.
В отчете вывожу КП из Бизнес-процесс.Предмет и под ним необходимо вывести номенклатуру из КП.
Создал вторую таблицу с товарами из КП, присоединил их по связи, но ничего не работает.
Подскажите что я делаю не так.
За ранее спасибо !!!
Прикрепленные файлы:
Задачи.erf
По теме из базы знаний
Найденные решения
3. soft_wind 18.02.21 17:38 Сейчас в теме
попробуйте такой запрос
для источника СписокЗадач
а источник КП и связь с ним вообще удалите

так через КП у вас с задачами будет связана Номенклатура,
группировку делайте по реквизитам задачи, а номенклатуру и количество в детальные
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Задачи.Номер КАК Номер,
	Задачи.Наименование КАК Наименование,
	Задачи.СрокИсполнения КАК СрокИсполнения,
	Задачи.ДатаИсполнения КАК ДатаИсполнения,
	Задачи.Важность КАК Важность,
	Задачи.Выполнена КАК Выполнена,
	ПОДСТРОКА(Задачи.Описание, 1, 250) КАК Описание,
	Задачи.Автор КАК Автор,
	ВЫБОР
		КОГДА Задачи.РольИсполнителя ЕСТЬ НЕ NULL 
				И Задачи.РольИсполнителя <> ЗНАЧЕНИЕ(Справочник.РолиИсполнителей.ПустаяСсылка)
			ТОГДА Задачи.РольИсполнителя
		ИНАЧЕ Задачи.Исполнитель
	КОНЕЦ КАК Исполнитель,
	Задачи.РольИсполнителя КАК РольИсполнителя,
	Задачи.Дата КАК Дата,
	Задачи.Ссылка КАК Ссылка,
	Задачи.БизнесПроцесс КАК БизнесПроцесс,
	Задачи.ТочкаМаршрута КАК ТочкаМаршрута,
	Задачи.СостояниеБизнесПроцесса КАК СостояниеБизнесПроцесса,
	Задачи.Ссылка КАК КоличествоЗадач,
	ВЫБОР
		КОГДА Задачи.Выполнена
				И (Задачи.СрокИсполнения >= Задачи.ДатаИсполнения
					ИЛИ Задачи.СрокИсполнения = "00010101")
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК ВСрок,
	ВЫБОР
		КОГДА Задачи.Выполнена
				И Задачи.СрокИсполнения < Задачи.ДатаИсполнения
				И Задачи.СрокИсполнения <> "00010101"
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК НеВСрок,
	ВЫБОР
		КОГДА Задачи.Выполнена
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Выполнено,
	ВЫБОР
		КОГДА НЕ Задачи.Выполнена
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК НеВыполнено,
	ВЫБОР
		КОГДА НЕ Задачи.Выполнена
				И (Задачи.СрокИсполнения >= &КрайнийСрок
					ИЛИ Задачи.СрокИсполнения = "00010101")
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Выполняются,
	ВЫБОР
		КОГДА НЕ Задачи.Выполнена
				И Задачи.СрокИсполнения < &КрайнийСрок
				И Задачи.СрокИсполнения <> "00010101"
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Просроченные,
	КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК Номенклатура,
	КоммерческоеПредложениеКлиентуТовары.Количество КАК Количество
ИЗ
	Задача.ЗадачаИсполнителя КАК Задачи
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
		ПО Задачи.Предмет = КоммерческоеПредложениеКлиентуТовары.Ссылка
ГДЕ
	Задачи.ПометкаУдаления = ЛОЖЬ
	И Задачи.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)
	И (ТИПЗНАЧЕНИЯ(Задачи.БизнесПроцесс) <> ТИП(БизнесПроцесс.Задание)
			ИЛИ Задачи.БизнесПроцесс.ЗадачаИсточник = ЗНАЧЕНИЕ(Задача.ЗадачаИсполнителя.ПустаяСсылка))
{ГДЕ
	(Задачи.Дата >= &ДатаНачала),
	(Задачи.Дата <= &ДатаОкончания)}
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user633533_encantado 11 18.02.21 17:31 Сейчас в теме
А где еще одна группировка по номенклатуре после предмета ?
4. Lllypuk 18.02.21 21:22 Сейчас в теме
(2) на фото она не указана, но я ее туда добавляю и выводит пустые строчки по одной под каждым КП
3. soft_wind 18.02.21 17:38 Сейчас в теме
попробуйте такой запрос
для источника СписокЗадач
а источник КП и связь с ним вообще удалите

так через КП у вас с задачами будет связана Номенклатура,
группировку делайте по реквизитам задачи, а номенклатуру и количество в детальные
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Задачи.Номер КАК Номер,
	Задачи.Наименование КАК Наименование,
	Задачи.СрокИсполнения КАК СрокИсполнения,
	Задачи.ДатаИсполнения КАК ДатаИсполнения,
	Задачи.Важность КАК Важность,
	Задачи.Выполнена КАК Выполнена,
	ПОДСТРОКА(Задачи.Описание, 1, 250) КАК Описание,
	Задачи.Автор КАК Автор,
	ВЫБОР
		КОГДА Задачи.РольИсполнителя ЕСТЬ НЕ NULL 
				И Задачи.РольИсполнителя <> ЗНАЧЕНИЕ(Справочник.РолиИсполнителей.ПустаяСсылка)
			ТОГДА Задачи.РольИсполнителя
		ИНАЧЕ Задачи.Исполнитель
	КОНЕЦ КАК Исполнитель,
	Задачи.РольИсполнителя КАК РольИсполнителя,
	Задачи.Дата КАК Дата,
	Задачи.Ссылка КАК Ссылка,
	Задачи.БизнесПроцесс КАК БизнесПроцесс,
	Задачи.ТочкаМаршрута КАК ТочкаМаршрута,
	Задачи.СостояниеБизнесПроцесса КАК СостояниеБизнесПроцесса,
	Задачи.Ссылка КАК КоличествоЗадач,
	ВЫБОР
		КОГДА Задачи.Выполнена
				И (Задачи.СрокИсполнения >= Задачи.ДатаИсполнения
					ИЛИ Задачи.СрокИсполнения = "00010101")
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК ВСрок,
	ВЫБОР
		КОГДА Задачи.Выполнена
				И Задачи.СрокИсполнения < Задачи.ДатаИсполнения
				И Задачи.СрокИсполнения <> "00010101"
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК НеВСрок,
	ВЫБОР
		КОГДА Задачи.Выполнена
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Выполнено,
	ВЫБОР
		КОГДА НЕ Задачи.Выполнена
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК НеВыполнено,
	ВЫБОР
		КОГДА НЕ Задачи.Выполнена
				И (Задачи.СрокИсполнения >= &КрайнийСрок
					ИЛИ Задачи.СрокИсполнения = "00010101")
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Выполняются,
	ВЫБОР
		КОГДА НЕ Задачи.Выполнена
				И Задачи.СрокИсполнения < &КрайнийСрок
				И Задачи.СрокИсполнения <> "00010101"
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Просроченные,
	КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК Номенклатура,
	КоммерческоеПредложениеКлиентуТовары.Количество КАК Количество
ИЗ
	Задача.ЗадачаИсполнителя КАК Задачи
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
		ПО Задачи.Предмет = КоммерческоеПредложениеКлиентуТовары.Ссылка
ГДЕ
	Задачи.ПометкаУдаления = ЛОЖЬ
	И Задачи.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)
	И (ТИПЗНАЧЕНИЯ(Задачи.БизнесПроцесс) <> ТИП(БизнесПроцесс.Задание)
			ИЛИ Задачи.БизнесПроцесс.ЗадачаИсточник = ЗНАЧЕНИЕ(Задача.ЗадачаИсполнителя.ПустаяСсылка))
{ГДЕ
	(Задачи.Дата >= &ДатаНачала),
	(Задачи.Дата <= &ДатаОкончания)}
Показать
5. Lllypuk 19.02.21 14:01 Сейчас в теме
(3) Спасибо огромное, все заработало!
6. Lllypuk 28.02.21 14:14 Сейчас в теме
(3) А можно сделать чтобы не выводило задвоенные ? Выводит записей 107 292, делал "ВЫБРАТЬ РАЗЛИЧНЫЕ" и "КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Задачи.Ссылка) КАК КоличествоЗадач" так выводит одинаково 92 852 записи, а в стандартном запросе выводит 34 197 записей.
7. soft_wind 01.03.21 12:41 Сейчас в теме
(6) так СКД-же!!! там се должно было просуммироваться

но вот на всякий случай, такой вариант, попробуйте
Выбрать
	//сворачиваем/суммируем КП по товарам
	КПТовары.Ссылка,
	КПТовары.Номенклатура КАК Номенклатура,
    Сумма(КПТовары.Количество) КАК Количество
Поместить ТабКПТовары
	ИЗ
    Задача.ЗадачаИсполнителя КАК Задачи
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту.Товары КАК КПТовары
        ПО Задачи.Предмет = КПТовары.Ссылка
ГДЕ
    Задачи.ПометкаУдаления = ЛОЖЬ
    И Задачи.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)
    И (ТИПЗНАЧЕНИЯ(Задачи.БизнесПроцесс) <> ТИП(БизнесПроцесс.Задание)
            ИЛИ Задачи.БизнесПроцесс.ЗадачаИсточник = ЗНАЧЕНИЕ(Задача.ЗадачаИсполнителя.ПустаяСсылка))
Сгруппировать поп
	КПТовары.Ссылка,
	КПТовары.Номенклатура
;

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Задачи.Номер КАК Номер,
    Задачи.Наименование КАК Наименование,
    Задачи.СрокИсполнения КАК СрокИсполнения,
    Задачи.ДатаИсполнения КАК ДатаИсполнения,
    Задачи.Важность КАК Важность,
    Задачи.Выполнена КАК Выполнена,
    ПОДСТРОКА(Задачи.Описание, 1, 250) КАК Описание,
    Задачи.Автор КАК Автор,
    ВЫБОР
        КОГДА Задачи.РольИсполнителя ЕСТЬ НЕ NULL 
                И Задачи.РольИсполнителя <> ЗНАЧЕНИЕ(Справочник.РолиИсполнителей.ПустаяСсылка)
            ТОГДА Задачи.РольИсполнителя
        ИНАЧЕ Задачи.Исполнитель
    КОНЕЦ КАК Исполнитель,
    Задачи.РольИсполнителя КАК РольИсполнителя,
    Задачи.Дата КАК Дата,
    Задачи.Ссылка КАК Ссылка,
    Задачи.БизнесПроцесс КАК БизнесПроцесс,
    Задачи.ТочкаМаршрута КАК ТочкаМаршрута,
    Задачи.СостояниеБизнесПроцесса КАК СостояниеБизнесПроцесса,
    Задачи.Ссылка КАК КоличествоЗадач,
    ВЫБОР
        КОГДА Задачи.Выполнена
                И (Задачи.СрокИсполнения >= Задачи.ДатаИсполнения
                    ИЛИ Задачи.СрокИсполнения = "00010101")
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК ВСрок,
    ВЫБОР
        КОГДА Задачи.Выполнена
                И Задачи.СрокИсполнения < Задачи.ДатаИсполнения
                И Задачи.СрокИсполнения <> "00010101"
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК НеВСрок,
    ВЫБОР
        КОГДА Задачи.Выполнена
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Выполнено,
    ВЫБОР
        КОГДА НЕ Задачи.Выполнена
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК НеВыполнено,
    ВЫБОР
        КОГДА НЕ Задачи.Выполнена
                И (Задачи.СрокИсполнения >= &КрайнийСрок
                    ИЛИ Задачи.СрокИсполнения = "00010101")
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Выполняются,
    ВЫБОР
        КОГДА НЕ Задачи.Выполнена
                И Задачи.СрокИсполнения < &КрайнийСрок
                И Задачи.СрокИсполнения <> "00010101"
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Просроченные,
    КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК Номенклатура,
    КоммерческоеПредложениеКлиентуТовары.Количество КАК Количество
ИЗ
    Задача.ЗадачаИсполнителя КАК Задачи
        //ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
        ЛЕВОЕ СОЕДИНЕНИЕ ТабКПТовары КАК КоммерческоеПредложениеКлиентуТовары
        ПО Задачи.Предмет = КоммерческоеПредложениеКлиентуТовары.Ссылка
ГДЕ
    Задачи.ПометкаУдаления = ЛОЖЬ
    И Задачи.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)
    И (ТИПЗНАЧЕНИЯ(Задачи.БизнесПроцесс) <> ТИП(БизнесПроцесс.Задание)
            ИЛИ Задачи.БизнесПроцесс.ЗадачаИсточник = ЗНАЧЕНИЕ(Задача.ЗадачаИсполнителя.ПустаяСсылка))
{ГДЕ
    (Задачи.Дата >= &ДатаНачала),
    (Задачи.Дата <= &ДатаОкончания)}
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот