Вопросы по работе в СКД

1. one_strannik 1 20.02.24 12:26 Сейчас в теме
Всем доброго дня!
Просьба подсказать, как на СКД реализовать следующие задачи:
1) Есть 2 запроса, они выбирают данные из табличной части документов СборкаЗапасов и РасходнаяНакладная, группировки следующие:

Документ.ЗаказПокупателя
---Номенклатура
-------Документ.СборкаЗапасов
-------------Документ.РасходнаяНакладная

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


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


Связь сделана по полю ЗаказПокупателя.

В поле Количество нужно выводить значение, в зависимости от документа (напротив Документ.СборкаЗапасов - Количество из ТЧ этого документа, напротив Документ.РасходнаяНакладная - Количество из ТЧ этого документа).
Сделал на СКД вычисляемое поле Количество, в "Выражение" добавил:
ВЫБОР 
КОГДА СсылкаПроизводство <> ЗНАЧЕНИЕ(Документ.СборкаЗапасов.ПустаяСсылка) 
ТОГДА КоличествоПроизведено 
КОГДА СсылкаОтгрузка <> ЗНАЧЕНИЕ(Документ.РасходнаяНакладная.ПустаяСсылка)
ТОГДА КоличествоОтгружено 
КОНЕЦ

Условие неправильное, напротив Документ.РасходнаяНакладная выводится количество из ТЧ Документ.СборкаЗапасов

2) В табличной части документа РасходнаяНакладная может быть несколько строк, с одинаковой номенклатурой, но с разным количество и суммой, как выбирать сумму по количеству (если номенклатура совпадает), а не значение количества из последней строки (пробовал делать через СУММА(РасходнаяНакладнаяЗапасы.Количество) - все равно, значение количества неверное)

Заранее спасибо за помощь!
По теме из базы знаний
Найденные решения
7. one_strannik 1 19.03.24 22:12 Сейчас в теме
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. one_strannik 1 20.02.24 14:14 Сейчас в теме
Проверил отдельно, по табличной части Расходной накладной - указанный ниже запрос суммирует значение количества по одинаковой номенклатуре, а в СКД - нет:
ВЫБРАТЬ
	РасходнаяНакладнаяЗапасы.Ссылка КАК Ссылка,
	СУММА(РасходнаяНакладнаяЗапасы.Количество) КАК Количество,
	РасходнаяНакладнаяЗапасы.Номенклатура КАК Номенклатура
ИЗ
	Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладнаяЗапасы
ГДЕ
	РасходнаяНакладнаяЗапасы.Ссылка = &РасходнаяНакладная

СГРУППИРОВАТЬ ПО
	РасходнаяНакладнаяЗапасы.Ссылка,
	РасходнаяНакладнаяЗапасы.Номенклатура
Показать


В настройках СКД оставил один запрос к ТЧ РасходнаяНакладная (указан выше), при выводе результатов - все равно не суммирует значения поля Количество для одинаковой Номенклатуры
3. one_strannik 1 20.02.24 14:52 Сейчас в теме
Второй вопрос пока снимается - в списке связанных документов, эта расходная накладная относится к 2м заказам. Остался нерешенным первый вопрос
4. RustamZz 20.02.24 16:26 Сейчас в теме
(3)
КОГДА СсылкаПроизводство ССЫЛКА Документ.СборкаЗапасов ТОГДА
и т.п.
5. one_strannik 1 20.02.24 17:54 Сейчас в теме
(4)
КОГДА СсылкаПроизводство ССЫЛКА Документ.СборкаЗапасов ТОГДА

В вычисляемом поле в СКД не отрабатывает - прикрепил скриншот.
Попробовал написать по-другому:
ВЫБОР
КОГДА НЕ ВЫРАЗИТЬ(СсылкаПроизводство,"Документ.СборкаЗапасов") ЕСТЬ NULL ТОГДА КоличествоПроизводство  КОГДА НЕ ВЫРАЗИТЬ(СсылкаОтгрузка,"Документ.РасходнаяНакладная") ЕСТЬ NULL ТОГДА КоличествоОтгрузка
КОНЕЦ

Положительного результата не дало. В поле Количество напротив документа и расходной накладной и сборки запасов указывается количество из ТЧ документа сборка запасов
Прикрепленные файлы:
6. one_strannik 1 20.02.24 20:44 Сейчас в теме
(5) Для тестов, убрал группировку по документу Производства, теперь структура отчета выглядит следующим образом:
Документ.ЗаказПокупателя
---Номенклатура
-------Документ.СборкаЗапасов
-------Документ.РасходнаяНакладная
Результата тоже не дало, в поле Количество попадает значение из ТЧ того документа, условие для которого указано первым в выражении Вычисляемого поля
7. one_strannik 1 19.03.24 22:12 Сейчас в теме
Оставьте свое сообщение

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