Здравствуйте уважаемые программисты =) Тут такое дело. Составил отчёт в СКД под требование начальство. Но проблема в том, что нужно вывести ещё одно поле с формулой:

Сумма Продажи - Возврат от Клиента - Возврат поставщику - Оплата поставщику

Все эти запросы уже есть и выводятся в отчёте. Но как и где прописать формулу я не смог разобраться. Буду очень признателен если поможете

УТ 11,4
1С 8.3
---
Потому что у вас выборке значения NULL, с ним нельзя производить арифметические действия, будет NULL.
Замените в Вычисляемых полях и Ресурсах на выражение
```1c
    ЕСТЬNULL([Сумма продажи], 0) - ЕСТЬNULL([Сумма возврата заказа], 0)
```
---
Вот )

```1c
    (ЕСТЬNULL(Цена, 0) -1 +1* 1) - (ЕСТЬNULL(СРЧ, 0) -1 +1* 1) * (ЕСТЬNULL(Продано, 1) * -1 +1* 1) +1-1 *1
```

Тоже самое, что и
```1c
    ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки * ЗаказКлиентаТовары.Количество КАК Поле1,
```
---
В общем я посмотрел, но так и не понял смысл этой формулы:

```1c
    ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки * ЗаказКлиентаТовары.Количество КАК Поле1,
```

Может надо делить, а не умножать? Или там должна быть не цена?
Доработал ваш запрос, смотрите.
---
конфигурация переписанная =)

Спасибо огромное) Доделал вашу обработку ещё раз)
---
Смотри вычисляемые поля
---
Там нужно прямо написать формулу или работает иначе?
---
Смотрите ресурсы.
---
Там нужно прямо написать формулу или работает иначе?
---
Прям формулу пиши, а потом это поле добавь в ресурсы и в поля
---
, (2)

Сделал как вы сказали. Но выдаёт ошибку, что данного поля нет.
---
У вас ресурс в группировке, так делать нельзя. Либо уберите Поле1 из группировок, либо из ресурсов.
---
исправил убрав из группировки. Не помогло
---
Самым эффективным будет, если вы выложите(прикрепите файл) свой отчет, потому что не видно ваших изменений, после скринов.
---
ым эффективным будет, если вы выложите(прикрепите файл) свой отчет, потому что не видно ваших изменений, после скринов.
---
Судя потому, что отчет формируется, помогло - ошибки нет. Теперь осталось разобраться, почему нужное поле не отображается в отчете.
Но скрины нужны окончательных настроек отчета, не промежуточные с конструктором настроек. А еще лучше уже из самого отчета.
---
Судя потому, что отчет формируется, помогло - ошибки нет. Теперь осталось разобраться, почему нужное поле не отображается в отчете.

Так точно

(12) Но скрины нужны окончательных настроек отчета, не промежуточные с конструктором настроек. А еще лучше уже из самого отчета.
Я Вас не понял. Можете пожалуйста уточнить, что именно заскринить?
---
В клиенте зайти в настройки отчета и заскринить группировку и вкладку Выбранные поля.
---
выслал Вам полностью обработку
---
Отчёт не полностью доработан =) Не судите строго =))

P.S. я не жадный =)) Кому нужно используйте
---
Добавьте поле в вычисляемые поля или в пользовательские поля при выводе отчета
---
Добавлял уже. Можете просмотреть в отчёте
---
У меня нет рабочей УТ, на демо работает. Смотрите.
---
У вас показывает поле задолженность?
---
Да, в той что я приложил.
---
спасибо Вам огромное =)) Нашёл почему не показывало ))) Я его в дополнительные отчёты добавлял =)) Вот и брал данные оттуда =)) Всё) Теперь всё ок =) Но поле пустое...
---
Потому что у вас выборке значения NULL, с ним нельзя производить арифметические действия, будет NULL.
Замените в Вычисляемых полях и Ресурсах на выражение
```1c
    ЕСТЬNULL([Сумма продажи], 0) - ЕСТЬNULL([Сумма возврата заказа], 0)
```
---
Потому что у вас выборке значения NULL, с ним нельзя производить арифметические действия, будет NULL.
Замените в Вычисляемых полях и Ресурсах на выражение ЕСТЬNULL([Сумма продажи], 0) - ЕСТЬNULL([Сумма возврата заказа], 0)

Огромное Вам спасибо. Насколько сильно я Вас благодарю в данный момент - словами не передать =)
---
Пожалуйста. Но лучше бы вам в запросе числовые NULL, заменить на 0.
---
хорошо. Спасибо за совет =) Сейчас сделаю
---
Сделал всё как вы сказали) Работает отлично)
---
(25) Пожалуйста. Но лучше бы вам в запросе числовые NULL, заменить на 0.

Я хочу умножить количество проданных товаров на цену из документа поставщика.
ЕСТЬNULL(Продано, 0) * ЕСТЬNULL(Цена, 0)
Но почему-то поле остаётся пустым
---
В вычисляемых полях: ([Сумма продажи] - [Сумма возврата заказа])
В ресурсах тоже самое указал
---
Не видя что и как вы добавили сложно ответить.
Приведите текст запрос или файл отчета.
---
Не видя что и как вы добавили сложно ответить.
Приведите текст запрос или файл отчета.
Пример умножения
---
Вероятно порядок вычислений, если сначала отминусовать, а потом сгруппировать строки, то результат будет верный. А если сначала помножить 0 на 5, и 10 на 0, а затем сгруппировать то будет 0, а не 5*10.
---
Вероятно порядок вычислений, если сначала отминусовать, а потом сгруппировать строки, то результат будет верный. А если сначала помножить 0 на 5, и 10 на 0, а затем сгруппировать то будет 0, а не 5*10.
---
вы были правы)
(31) Вероятно порядок вычислений, если сначала отминусовать, а потом сгруппировать строки, то результат будет верный. А если сначала помножить 0 на 5, и 10 на 0, а затем сгруппировать то будет 0, а не 5*10.
---
```1c
    ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары,
    Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику
    ПО ЗаказПоставщикуТовары.Ссылка = ЗаказПоставщику.Ссылка
```

А что, так тоже можно, в секции ИЗ через запятую, я была уверена что там все только соединением, полным, левым или еще каким?
---
А что, так тоже можно, в секции ИЗ через запятую, я была уверена что там все только соединением, полным, левым или еще каким?
Можно)
---
можно, это фактически полное соединение

(33) переписал ваш запрос в отчете, посмотрите
---
Сейчас попробую
---
Что-то я не понял вашу формулу, ну да ладно.
---
забудьте этот код) Просто подустал)

Тут вместо

```1c
    ЗаказКлиентаТовары.Цена * ЗаказКлиентаТовары.Количество КАК Поле1,
```

Нужно

```1c
    ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки * ЗаказКлиентаТовары.Количество КАК Поле1,
```

Но он опять показывает пустой. Я понимаю, что Вы заняты, но очень прошу помочь)
---
Нужно
ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки * ЗаказКлиентаТовары.Количество КАК Поле1,
А у вас поставщик и клиент один и тот же?
---
никак нет. Мне не нужно видеть какой клиент что купил. Мне нужно знать какой из этих товаров поставщика был куплен. При настройке умудрились не настроить номенклатуру поставщика. А приходится отдуваться мне с этим отчётом.
---
А что делать, если несколько поставщиков с одинаковым товаром? В УТ вроде как нет партионного учета по заказам.
---
Он Запрашивает Партнера в заказе поставщика , потом копирует номенклатуру в этом документе к постащику в отчёте. Я уже тестировал. Работает нормально
---
Выложите последнюю версию отчета, я посмотрю.
---
Показывает цену продажи даже тех товаров, которые ещё не продавались... В остальном я доволен))
---
В общем я посмотрел, но так и не понял смысл этой формулы:

```1c
    ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки * ЗаказКлиентаТовары.Количество КАК Поле1,
```

Может надо делить, а не умножать? Или там должна быть не цена?
Доработал ваш запрос, смотрите.
---
(47) В общем я посмотрел, но так и не понял смысл этой формулы:
Сейчас изъясню)

```1c
    ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки =
```
получить стоимость одного товара без учёта скидки

```1c
    * ЗаказКлиентаТовары.Количество КАК Поле1
```
 умножить на количество проданных товаров, чтобы получить нашу задолженность перед поставщиком. У нас оплата происходит по продаваемым товарам.
---
Но вы пытаетесь вычесть сумму из цены. К тому же, по вашим словам, формула, как минимум, должна выглядеть так:

```1c
    (ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки) * ЗаказКлиентаТовары.Количество КАК Поле1,
```

т.е. первое выражение должно быть в скобках.
---
(ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки) * ЗаказКлиентаТовары.Количество КАК Поле1,

Я вычитываю скидку, а не сумму =)
Да, так вернее
---
Насколько я знаю и смотрел в своей демо УТ 11, в ЗаказПоставщикуТовары.СуммаРучнойСкидки хранится именно сумма скидки за весь товар в строке, не за единицу. Хотя может у вас переписанная конфигурация.
---
конфигурация переписанная =)

Спасибо огромное) Доделал вашу обработку ещё раз)
---
Пожалуйста, рад что у вас получилось.
---
Вот )

```1c
    (ЕСТЬNULL(Цена, 0) -1 +1* 1) - (ЕСТЬNULL(СРЧ, 0) -1 +1* 1) * (ЕСТЬNULL(Продано, 1) * -1 +1* 1) +1-1 *1
```

Тоже самое, что и
```1c
    ЗаказПоставщикуТовары.Цена - ЗаказПоставщикуТовары.СуммаРучнойСкидки * ЗаказКлиентаТовары.Количество КАК Поле1,
```