СКД вывод значения в зависимости от условия
Всем доброго дня!
Просьба подсказать, как на СКД реализовать следующие задачи:
1) Есть 2 запроса, они выбирают данные из табличной части документов СборкаЗапасов и РасходнаяНакладная, группировки следующие:
Документ.ЗаказПокупателя
---Номенклатура
-------Документ.СборкаЗапасов
-------------Документ.РасходнаяНакладная
Сами запросы:
1)
2)
Связь сделана по полю ЗаказПокупателя.
В поле Количество нужно выводить значение, в зависимости от документа (напротив Документ.СборкаЗапасов - Количество из ТЧ этого документа, напротив Документ.РасходнаяНакладная - Количество из ТЧ этого документа).
Сделал на СКД вычисляемое поле Количество, в "Выражение" добавил:
Еще проверял через условие:
По итогу выводится только первое значение из условия во все строки. Пробовал делать поле Количество через Вычисляемое поле - тоже самое. Также, убирал группировки - результат тот же.
2) Как выводить документы и их количество по методу ФИФО?
К примеру, в документе Производство №1 количество 5000, в Производство №2 6000.
В документе Расходная накладная №1 количество 3000, Расходная накладная №2 8000
Производство №1 5000
-----Расходная накладная №1 3000
-----Расходная накладная №2 2000
Производство №2 6000
-----Расходная накладная №2 6000
Заранее спасибо за помощь!
Просьба подсказать, как на СКД реализовать следующие задачи:
1) Есть 2 запроса, они выбирают данные из табличной части документов СборкаЗапасов и РасходнаяНакладная, группировки следующие:
Документ.ЗаказПокупателя
---Номенклатура
-------Документ.СборкаЗапасов
-------------Документ.РасходнаяНакладная
Сами запросы:
1)
ВЫБРАТЬ
СборкаЗапасовПродукция.ЗаказПокупателя КАК ЗаказПокупателя,
СборкаЗапасовПродукция.Количество КАК КоличествоПроизводство,
СборкаЗапасовПродукция.Номенклатура КАК Номенклатура,
СборкаЗапасовПродукция.Ссылка КАК СсылкаПроизводство
ИЗ
Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция
ГДЕ
СборкаЗапасовПродукция.ЗаказПокупателя.Проведен
И СборкаЗапасовПродукция.ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
И СборкаЗапасовПродукция.ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И СборкаЗапасовПродукция.Ссылка.Проведен
И СборкаЗапасовПродукция.Ссылка.ПометкаУдаления = ЛОЖЬ Показать2)
ВЫБРАТЬ
РасходнаяНакладнаяЗапасы.Ссылка КАК СсылкаОтгрузка,
РасходнаяНакладнаяЗапасы.Номенклатура КАК Номенклатура,
РасходнаяНакладнаяЗапасы.Количество КАК КоличествоОтгрузка,
РасходнаяНакладнаяЗапасы.Заказ КАК ЗаказПокупателя
ИЗ
Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладнаяЗапасы
ГДЕ
РасходнаяНакладнаяЗапасы.Заказ.Проведен
И РасходнаяНакладнаяЗапасы.Заказ.ПометкаУдаления = ЛОЖЬ
И РасходнаяНакладнаяЗапасы.Заказ <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И РасходнаяНакладнаяЗапасы.Ссылка.Проведен
И РасходнаяНакладнаяЗапасы.Ссылка.ПометкаУдаления = ЛОЖЬ ПоказатьСвязь сделана по полю ЗаказПокупателя.
В поле Количество нужно выводить значение, в зависимости от документа (напротив Документ.СборкаЗапасов - Количество из ТЧ этого документа, напротив Документ.РасходнаяНакладная - Количество из ТЧ этого документа).
Сделал на СКД вычисляемое поле Количество, в "Выражение" добавил:
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(СсылкаОтгрузка) = ТИП("Документ.РасходнаяНакладная")
ТОГДА КоличествоОтгрузка КОГДА ТИПЗНАЧЕНИЯ(СсылкаПроизводство) = ТИП("Документ.СборкаЗапасов")
ТОГДА КоличествоПроизводство
КОНЕЦ
Еще проверял через условие:
ВЫБОР
КОГДА НЕ ВЫРАЗИТЬ(СсылкаПроизводство,"Документ.СборкаЗапасов") ЕСТЬ NULL ТОГДА КоличествоПроизводство КОГДА НЕ ВЫРАЗИТЬ(СсылкаОтгрузка,"Документ.РасходнаяНакладная") ЕСТЬ NULL ТОГДА КоличествоОтгрузка
КОНЕЦПо итогу выводится только первое значение из условия во все строки. Пробовал делать поле Количество через Вычисляемое поле - тоже самое. Также, убирал группировки - результат тот же.
2) Как выводить документы и их количество по методу ФИФО?
К примеру, в документе Производство №1 количество 5000, в Производство №2 6000.
В документе Расходная накладная №1 количество 3000, Расходная накладная №2 8000
Производство №1 5000
-----Расходная накладная №1 3000
-----Расходная накладная №2 2000
Производство №2 6000
-----Расходная накладная №2 6000
Заранее спасибо за помощь!
По теме из базы знаний
- Поиск по дереву значений рекурсией, методом НайтиСтроки(), с помощью СКД. Вывод результата поиска в отдельную таблицу. Активация строки в дереве значений при выборе в таблице
- Регламентированный отчет 6-НДФЛ: выводим в расшифровке Раздела 2 документ-регистратор. ЗУП 3.1
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
- Оптимизация и доработка отчетов СКД: от типовых вариантов к практическим решениям
- Как правильно писать запросы для СКД. Фундаментальное исследование
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
1) В общем случае, таблицы я предпочитаю в запросе соединять, т.к. правила игры более понятны. Связи разных источников стоит использовать, если понимаешь, что это именно тот случай.
2) ФИФО в запросе крайне сложно организовать. Хотя, кажется, были где-то статьи. Если нужно СКД, то можно данные заранее получить поместить в таблицу, и из нее выводить данные.
2) ФИФО в запросе крайне сложно организовать. Хотя, кажется, были где-то статьи. Если нужно СКД, то можно данные заранее получить поместить в таблицу, и из нее выводить данные.
(2)
1) Переделал на 1 набор данных:
В поле количество для всеъ строк, все равно попадает только значение из условия, которое стоит первым. Поле Количество добавлено в ресурсы.
Добавил для вывода поля КоличествоОтгрузка и КоличествоПроизводство, чтобы было видно, что данные для заполнения в этих полях есть
2) ФИФО в запросе крайне сложно организовать. Хотя, кажется, были где-то статьи. Если нужно СКД, то можно данные заранее получить поместить в таблицу, и из нее выводить данные.
1) Переделал на 1 набор данных:
ВЫБРАТЬ
ОтчетОПереработкеПродукция.Ссылка КАК СсылкаОтгрузка,
ОтчетОПереработкеПродукция.Номенклатура КАК Номенклатура,
ОтчетОПереработкеПродукция.Количество КАК КоличествоОтгрузка,
ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя КАК ЗаказПокупателя
ПОМЕСТИТЬ ВТ_Отгрузка
ИЗ
Документ.ОтчетОПереработке.Продукция КАК ОтчетОПереработкеПродукция
ГДЕ
ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя.Проведен
И ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
И ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И ОтчетОПереработкеПродукция.Ссылка.Проведен
И ОтчетОПереработкеПродукция.Ссылка.ПометкаУдаления = ЛОЖЬ
ОБЪЕДИНИТЬ
ВЫБРАТЬ
РасходнаяНакладнаяЗапасы.Ссылка,
РасходнаяНакладнаяЗапасы.Номенклатура,
РасходнаяНакладнаяЗапасы.Количество,
РасходнаяНакладнаяЗапасы.Заказ
ИЗ
Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладнаяЗапасы
ГДЕ
РасходнаяНакладнаяЗапасы.Заказ.Проведен
И РасходнаяНакладнаяЗапасы.Заказ.ПометкаУдаления = ЛОЖЬ
И РасходнаяНакладнаяЗапасы.Заказ <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И РасходнаяНакладнаяЗапасы.Ссылка.Проведен
И РасходнаяНакладнаяЗапасы.Ссылка.ПометкаУдаления = ЛОЖЬ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Отгрузка.СсылкаОтгрузка КАК СсылкаОтгрузка,
ВТ_Отгрузка.Номенклатура КАК Номенклатура,
ВТ_Отгрузка.КоличествоОтгрузка КАК КоличествоОтгрузка,
ВТ_Отгрузка.ЗаказПокупателя КАК ЗаказПокупателя,
СборкаЗапасовПродукция.Ссылка КАК СсылкаПроизводство,
СборкаЗапасовПродукция.Номенклатура КАК Номенклатура1,
СборкаЗапасовПродукция.Количество КАК КоличествоПроизводство,
СборкаЗапасовПродукция.ЗаказПокупателя КАК ЗаказПокупателя1
ИЗ
Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция
ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Отгрузка КАК ВТ_Отгрузка
ПО СборкаЗапасовПродукция.ЗаказПокупателя = ВТ_Отгрузка.ЗаказПокупателя
ГДЕ
СборкаЗапасовПродукция.ЗаказПокупателя.Проведен
И СборкаЗапасовПродукция.ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
И СборкаЗапасовПродукция.ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И СборкаЗапасовПродукция.Ссылка.Проведен
И СборкаЗапасовПродукция.Ссылка.ПометкаУдаления = ЛОЖЬ
ПоказатьВ поле количество для всеъ строк, все равно попадает только значение из условия, которое стоит первым. Поле Количество добавлено в ресурсы.
Добавил для вывода поля КоличествоОтгрузка и КоличествоПроизводство, чтобы было видно, что данные для заполнения в этих полях есть
Прикрепленные файлы:
(3) Запрос, как минимум, неправильный, т.к. если соединение полное, то условие наложенное только на одну сторону даст только записи, где есть записи именно этой таблицы. Либо ЕСТЬNull надо использовать. А может и вообще вам ПОЛНОЕ и не нужно...
Собственно, это все не очень грамотно. Условия явно избыточны, как минимум. Начиная с того, что проведенный документ в норме не может быть помечен на удаление.
ГДЕ
СборкаЗапасовПродукция.ЗаказПокупателя.Проведен
И СборкаЗапасовПродукция.ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
И СборкаЗапасовПродукция.ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И СборкаЗапасовПродукция.Ссылка.Проведен
И СборкаЗапасовПродукция.Ссылка.ПометкаУдаления = ЛОЖЬСобственно, это все не очень грамотно. Условия явно избыточны, как минимум. Начиная с того, что проведенный документ в норме не может быть помечен на удаление.
(4) Вы правы, в условиях пометку удаления убрал, соединение сделал ЛЕВОЕ. Для первых указазал группировку
В поле количество все равно выводится значение, которое указано в первой конструкции КОГДА .... ТОГДА
Условие задачи: вывести количество (в один столбец, в зависимости от типа документа в строке) и посчитать Остаток произведенной продукции по методу ФИФО из ТЧ документов СборкаЗапасов (документ производства) и РасходнаяНакладная+ОтчетОПереработке (документ отгрузки).
Вид отчет должен принимать:
Документ.ЗаказПокупателя Колтчество (шт) Остаток (шт)
---Номенклатура
-------Документ.Производства
-------------Документ.Отгрузки
ВЫБРАТЬ
ОтчетОПереработкеПродукция.Ссылка КАК СсылкаОтгрузка,
ОтчетОПереработкеПродукция.Номенклатура КАК Номенклатура,
ОтчетОПереработкеПродукция.Количество КАК КоличествоОтгрузка,
ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя КАК ЗаказПокупателя
ПОМЕСТИТЬ ВТ_Отгрузка
ИЗ
Документ.ОтчетОПереработке.Продукция КАК ОтчетОПереработкеПродукция
ГДЕ
ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя.Проведен
И ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И ОтчетОПереработкеПродукция.Ссылка.Проведен
СГРУППИРОВАТЬ ПО
ОтчетОПереработкеПродукция.Номенклатура,
ОтчетОПереработкеПродукция.Ссылка,
ОтчетОПереработкеПродукция.Количество,
ОтчетОПереработкеПродукция.Ссылка.ЗаказПокупателя
ОБЪЕДИНИТЬ
ВЫБРАТЬ
РасходнаяНакладнаяЗапасы.Ссылка,
РасходнаяНакладнаяЗапасы.Номенклатура,
РасходнаяНакладнаяЗапасы.Количество,
РасходнаяНакладнаяЗапасы.Заказ
ИЗ
Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладнаяЗапасы
ГДЕ
РасходнаяНакладнаяЗапасы.Заказ.Проведен
И РасходнаяНакладнаяЗапасы.Заказ <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И РасходнаяНакладнаяЗапасы.Ссылка.Проведен
СГРУППИРОВАТЬ ПО
РасходнаяНакладнаяЗапасы.Номенклатура,
РасходнаяНакладнаяЗапасы.Ссылка,
РасходнаяНакладнаяЗапасы.Количество,
РасходнаяНакладнаяЗапасы.Заказ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Отгрузка.СсылкаОтгрузка КАК СсылкаОтгрузка,
ВТ_Отгрузка.Номенклатура КАК Номенклатура,
ВТ_Отгрузка.КоличествоОтгрузка КАК КоличествоОтгрузка,
ВТ_Отгрузка.ЗаказПокупателя КАК ЗаказПокупателя,
СборкаЗапасовПродукция.Ссылка КАК СсылкаПроизводство,
СборкаЗапасовПродукция.Номенклатура КАК Номенклатура1,
СборкаЗапасовПродукция.Количество КАК КоличествоПроизводство,
СборкаЗапасовПродукция.ЗаказПокупателя КАК ЗаказПокупателя1
ИЗ
Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Отгрузка КАК ВТ_Отгрузка
ПО СборкаЗапасовПродукция.ЗаказПокупателя = ВТ_Отгрузка.ЗаказПокупателя
ГДЕ
СборкаЗапасовПродукция.ЗаказПокупателя.Проведен
И СборкаЗапасовПродукция.ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
И СборкаЗапасовПродукция.Ссылка.Проведен
ПоказатьВ поле количество все равно выводится значение, которое указано в первой конструкции КОГДА .... ТОГДА
Условие задачи: вывести количество (в один столбец, в зависимости от типа документа в строке) и посчитать Остаток произведенной продукции по методу ФИФО из ТЧ документов СборкаЗапасов (документ производства) и РасходнаяНакладная+ОтчетОПереработке (документ отгрузки).
Вид отчет должен принимать:
Документ.ЗаказПокупателя Колтчество (шт) Остаток (шт)
---Номенклатура
-------Документ.Производства
-------------Документ.Отгрузки
(7) Насколько понял Ваш вопрос, если в документе отгрузки (РасходнаяНакладная или ОтчетОПереработке) нет позиции номенклатуры с заполненным количеством, то в поле Количество должно быть пустое значение - согласен, в запрос нужно добавить проверку на Null.
На примере, котором я проверяю количество заполнено в ТЧ документов, но значение в это поле попадает то, которое указано в первом КОГДА ... ТОГДА, т.е. к примеру:
Заказ Покупателя № 1
----Сборка Запасов № 1(Сапоги 100шт)
----Расходная Накладная № 1(Сапоги 20шт)
----Сборка Запасов № 2(Сапоги 200шт)
При условии в выражении для поля Количество:
Выводит отчет: Количество шт
Заказ Покупателя № 1
--Сапоги
----Сборка Запасов № 1--------------------------- 20
----Расходная Накладная № 1------------------- 20
----Сборка Запасов № 2 ---------------------------20
При условии в выражении для поля Количество:
Выводит отчет: Количество шт
Заказ Покупателя № 1
--Сапоги
----Сборка Запасов № 1---------------------------100
----Расходная Накладная № 1 ----------------- 100
----Сборка Запасов № 2 ---------------------------200
На примере, котором я проверяю количество заполнено в ТЧ документов, но значение в это поле попадает то, которое указано в первом КОГДА ... ТОГДА, т.е. к примеру:
Заказ Покупателя № 1
----Сборка Запасов № 1(Сапоги 100шт)
----Расходная Накладная № 1(Сапоги 20шт)
----Сборка Запасов № 2(Сапоги 200шт)
При условии в выражении для поля Количество:
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(СсылкаОтгрузка) = ТИП("Документ.РасходнаяНакладная")
ТОГДА КоличествоОтгрузка КОГДА ТИПЗНАЧЕНИЯ(СсылкаПроизводство) = ТИП("Документ.СборкаЗапасов")
ТОГДА КоличествоПроизводство
КОНЕЦВыводит отчет: Количество шт
Заказ Покупателя № 1
--Сапоги
----Сборка Запасов № 1--------------------------- 20
----Расходная Накладная № 1------------------- 20
----Сборка Запасов № 2 ---------------------------20
При условии в выражении для поля Количество:
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(СсылкаПроизводство) = ТИП("Документ.СборкаЗапасов")
ТОГДА КоличествоПроизводство КОГДА ТИПЗНАЧЕНИЯ(СсылкаОтгрузка) = ТИП("Документ.РасходнаяНакладная")
ТОГДА КоличествоОтгрузка
КОНЕЦВыводит отчет: Количество шт
Заказ Покупателя № 1
--Сапоги
----Сборка Запасов № 1---------------------------100
----Расходная Накладная № 1 ----------------- 100
----Сборка Запасов № 2 ---------------------------200
(8) ну через тип не особо корректно это проверять. В общем, вы не до конца понимаете, как это должно у вас работать.
Подумайте, откуда Null берется, и что происходит, если в отгрузке нету соответствующей записи.
И вычисляйте это поле в запросе. Незачем наружу выносить - хз, что там с ним происходит.
Подумайте, откуда Null берется, и что происходит, если в отгрузке нету соответствующей записи.
И вычисляйте это поле в запросе. Незачем наружу выносить - хз, что там с ним происходит.
На данном конкретном примере Null не откуда не берется. То, что нужна провера - это понятно. Проблема в самом условии для поля Количество, оба условия верны. Вопрос как реализовать вывод количества из ТЧ того документа, который выводится в строке (через вычисляемые поля).
(11) Скажу прямее, если при соединении "Справа" нету соответствующей записи (т.е. нету отгрузки), то в поле КоличествоОтгрузка будет Null - вот на него и проверяйте.
(11) если выводит то, которое первое, значит у вас оба сравнения возвращают Истина. А почему бы и нет? Если отгрузка есть, то так и должно быть.
Ваше условие вообще лишено смысла - документ отгрузки всегда имеет тип РасходнаяНакладная, а производство - тип "СборкаЗапасов"
(11) если выводит то, которое первое, значит у вас оба сравнения возвращают Истина. А почему бы и нет? Если отгрузка есть, то так и должно быть.
Ваше условие вообще лишено смысла - документ отгрузки всегда имеет тип РасходнаяНакладная, а производство - тип "СборкаЗапасов"
(12)
Я это понимаю и в этом и затык (пункт 1 этой темы поэтому и создал). Как сделать корректное условие, чтобы в поле Количество выводилось количество из ТЧ документа, который в строке.
Ваше условие вообще лишено смысла - документ отгрузки всегда имеет тип РасходнаяНакладная, а производство - тип "СборкаЗапасов"
Я это понимаю и в этом и затык (пункт 1 этой темы поэтому и создал). Как сделать корректное условие, чтобы в поле Количество выводилось количество из ТЧ документа, который в строке.
(13)
При условии для поля Количество:
Выполняются оба условия - выводится значение из первого условия.
При условии для поля Количество:
Поле Количество пустое (не выполняется ни одно из условий)
При условии для поля Количество:
ВЫБОР
КОГДА ЗначениеЗаполнено(КоличествоОтгрузка) ТОГДА КоличествоОтгрузка
КОГДА ЗначениеЗаполнено(КоличествоПроизводство) ТОГДА КоличествоПроизводство
КОНЕЦВыполняются оба условия - выводится значение из первого условия.
При условии для поля Количество:
ВЫБОР
КОГДА КоличествоОтгрузка = NULL ТОГДА КоличествоПроизводство
КОГДА КоличествоПроизводство = NULL ТОГДА КоличествоОтгрузка
КОНЕЦПоле Количество пустое (не выполняется ни одно из условий)
(17) да вроде русским языком пишу, таблицы к примеру прикладывал, текстовое описание задачи предоставил множество раз....
Совсем простыми словами:
Документ А его количество Б
Документ С его количество Д
Нужно получить:
Документ----------Количество
А ----------------------------Б
С----------------------------Д
По условиям, которые множество раз приводил выше и которые неправильные получается таблица:
Либо:
Документ----------Количество
А ----------------------------Б
С----------------------------Б
Либо:
Документ----------Количество
А ----------------------------Д
С----------------------------Д
Совсем простыми словами:
Документ А его количество Б
Документ С его количество Д
Нужно получить:
Документ----------Количество
А ----------------------------Б
С----------------------------Д
По условиям, которые множество раз приводил выше и которые неправильные получается таблица:
Либо:
Документ----------Количество
А ----------------------------Б
С----------------------------Б
Либо:
Документ----------Количество
А ----------------------------Д
С----------------------------Д
(19) Документ Производство его количество 8684
Документ РасходнаяНакладная его количество 19008
Нужно получить:
Документ-------------------------------------Количество
Производство --------------------------------------8684
РасходнаяНакладная----------------------------19008
При условии ниже - поле количество пустое
При условии ниже - в поле количество выводится то значение, которое указано в 1м условии (оба условия верны).
CODE]ВЫБОР
КОГДА ЗначениеЗаполнено(КоличествоОтгрузка) ТОГДА КоличествоОтгрузка
КОГДА ЗначениеЗаполнено(КоличествоПроизводство) ТОГДА КоличествоПроизводство
КОНЕЦ[/1C-CODE]
Либо:
Документ-------------------------------------------Количество
Производство --------------------------------------19008
РасходнаяНакладная----------------------------19008
Либо:
Документ-----------------------------------------Количество
Производство --------------------------------------8684
РасходнаяНакладная----------------------------8684
Документ РасходнаяНакладная его количество 19008
Нужно получить:
Документ-------------------------------------Количество
Производство --------------------------------------8684
РасходнаяНакладная----------------------------19008
При условии ниже - поле количество пустое
ВЫБОР
КОГДА КоличествоОтгрузка = NULL ТОГДА КоличествоПроизводство
КОГДА КоличествоПроизводство = NULL ТОГДА КоличествоОтгрузка
КОНЕЦПри условии ниже - в поле количество выводится то значение, которое указано в 1м условии (оба условия верны).
CODE]ВЫБОР
КОГДА ЗначениеЗаполнено(КоличествоОтгрузка) ТОГДА КоличествоОтгрузка
КОГДА ЗначениеЗаполнено(КоличествоПроизводство) ТОГДА КоличествоПроизводство
КОНЕЦ[/1C-CODE]
Либо:
Документ-------------------------------------------Количество
Производство --------------------------------------19008
РасходнаяНакладная----------------------------19008
Либо:
Документ-----------------------------------------Количество
Производство --------------------------------------8684
РасходнаяНакладная----------------------------8684
(21)
Забудьте вы про условия свои, они не имеют отношения к формулировании задачи.
Документ Производство
- это вы что имеете в виду? Называйте вещи своими именами - либо как правильное имя типа документа, либо синоним поля в запросе. Также, я ваши примеры не понимаю - это у вас в одной вообще строке, или в разных.
Забудьте вы про условия свои, они не имеют отношения к формулировании задачи.
(23)
Входные данные:
СсылкаПроизводство -------КоличествоПроизводство 8684
СсылкаОтгрузка-------------КоличествоОтгрузка 19008
Нужно получить:
Документ---------------------------------------------------Количество
СсылкаПроизводство --------------------------------------8684
СсылкаОтгрузка----------------------------------------------19008
Вывести нужно по группировке:
СсылкаПроизводство
------------СсылкаОтгрузка
Пробовал выводить без вложенной группировки в виде:
СсылкаПроизводство
СсылкаОтгрузка
Результат тот же (неверный)
Входные данные:
СсылкаПроизводство -------КоличествоПроизводство 8684
СсылкаОтгрузка-------------КоличествоОтгрузка 19008
Нужно получить:
Документ---------------------------------------------------Количество
СсылкаПроизводство --------------------------------------8684
СсылкаОтгрузка----------------------------------------------19008
Вывести нужно по группировке:
СсылкаПроизводство
------------СсылкаОтгрузка
Пробовал выводить без вложенной группировки в виде:
СсылкаПроизводство
СсылкаОтгрузка
Результат тот же (неверный)
(24)
Вам нужно, чтобы СКД выводило в разных группировках данные из разных полей запроса.
Я бы не стал такое делать вообще, а просто выводил их в разных колонках, и итоги бы, заодно еще можно бы было сделать.
Теоретически что-то такое возможно
Еще есть вариант - не использовать СКД. Т.к. СКД в данном случае вряд ли будет использоваться для вариантивности, быстрее отчет с макетом нарисовать. Это если действительно очень надо это все в одной колонке.
СсылкаПроизводство
Понял.
Вам нужно, чтобы СКД выводило в разных группировках данные из разных полей запроса.
Я бы не стал такое делать вообще, а просто выводил их в разных колонках, и итоги бы, заодно еще можно бы было сделать.
Теоретически что-то такое возможно
Еще есть вариант - не использовать СКД. Т.к. СКД в данном случае вряд ли будет использоваться для вариантивности, быстрее отчет с макетом нарисовать. Это если действительно очень надо это все в одной колонке.
(25) Задача решилась гораздо проще. Расчет поля Количество убрал из запроса, добавил его в вычисляемые поля с пустым значением. В ресурсах его добавил дважды с расчетом по соответствующим полям. Значения выводит верные.
Спасибо за участие в моем вопросе!
Спасибо за участие в моем вопросе!
Прикрепленные файлы:
(18)ТИПЗНАЧЕНИЯ(СсылкаПроизводство) = ТИП("Документ.СборкаЗапасов") - это берется из таблицы документа сборка, там не может быть другого значения.
А вот ссылка отгрузка у вас действительно может быть либо реализацией либо ОтчетОПереработке
Как бы то ни было, вы просто не понимаете, что делаете. Рекомендую поверить моему опыту, и разобраться.
Распишите себе в экселе примеры, что получает первый запрос (во временную таблицу), что результирующий, и все станет понятно.
А вот ссылка отгрузка у вас действительно может быть либо реализацией либо ОтчетОПереработке
Как бы то ни было, вы просто не понимаете, что делаете. Рекомендую поверить моему опыту, и разобраться.
Распишите себе в экселе примеры, что получает первый запрос (во временную таблицу), что результирующий, и все станет понятно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот