Как посчитать итог из таблицы значений

1. 5225688vd 05.01.23 13:05 Сейчас в теме
Коллеги, добрый день, подскажите пожалуйста, есть таблица значений в которой есть колонки, номенклатура, организация и количество, например у одной и той же номенклатуры по одной организации количество 3 по другой организации количество - 1 и по третьей организации количество - 1, как в результате получить количество один по той организации у которой остаток положительный?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. пользователь 05.01.23 13:23
Сообщение было скрыто модератором.
...
3. 5225688vd 05.01.23 13:37 Сейчас в теме
(2)Пробовал свернуть, почему-то ругается, пишет обращение процедуры как к функции?
4. Sashares 33 05.01.23 13:41 Сейчас в теме
(3)Не обращайтесь к процедуре как к функции
5. Sergey_Kirillov 05.01.23 13:47 Сейчас в теме
приведи отрывок кода... скажу как правильно
6. 5225688vd 05.01.23 14:04 Сейчас в теме
(5)РезультатЗапроса = Запрос.Выполнить();
СпособОбхода = ОбходРезультатаЗапроса.Прямой;
ТабЗнач = РезультатЗапроса.Выгрузить(СпособОбхода);
ТабЗнач.Свернуть("Номенклатура", "Количество");
Вот таким образом сворачивает, но из таблицы пропадают Организации и Склады
Пробовал вот так ТабЗнач.Свернуть("Номенклатура, Организация, Склад", "Количество"); тогда не сворачивает
7. user5300 1077 05.01.23 14:09 Сейчас в теме
(6) А в самом запросе не лучше прописать условие > 0 ?
8. 5225688vd 05.01.23 14:11 Сейчас в теме
(7)Больше 0 дает 3 а надо 1 по организации
9. user5300 1077 05.01.23 14:15 Сейчас в теме
(8) Не понял... Вам положительный остаток нужен ? или один максимально положительный из 3х фирм ?
11. 5225688vd 05.01.23 14:17 Сейчас в теме
(9)На складе по факту количество 1 шт. но в регистре по одной организации 3 шт. а по двум другим по -1, в итоге по факту так и есть 1, а как это отфильтровать не понятно, просто такой учет, ничего не поделаешь
17. Sergey_Kirillov 05.01.23 14:29 Сейчас в теме
(6)
А чем не подходит ТабЗнач.Итог("Количество")
19. 5225688vd 05.01.23 14:36 Сейчас в теме
(17)А чем оно должно подойти, это общее количество по таблице?
20. user5300 1077 05.01.23 14:38 Сейчас в теме
(19) Он суммирует количество , и выбирает максимальную организацию
10. 5225688vd 05.01.23 14:15 Сейчас в теме
Вот запрос:
ВЫБРАТЬ
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория КАК Склад,
	МИНИМУМ(ТоварыОрганизацийОстаткиИОбороты.Организация) КАК Организация,
	ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток
ИЗ
	РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(, &КонецПериода, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
ГДЕ
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
	И ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &СкладскаяТерритория

СГРУППИРОВАТЬ ПО
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
	ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
	МАКСИМУМ(ТоварыОрганизацийОстаткиИОбороты.Организация),
	ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
	РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(, &КонецПериода, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
ГДЕ
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
	И ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &СкладскаяТерритория

СГРУППИРОВАТЬ ПО
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
	ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
Показать

Не все так просто, у одного склада есть несколько организаций и если у одной организации допустим 3 а по двум другим по -1 тогда и надо получить 1, но у организаций могут быть и положительные остатки и сгруппировать в таком случае не получается, нужны остатки именно по всем организациям
12. user5300 1077 05.01.23 14:19 Сейчас в теме
(10) Так уберите из группировки "Организацию" , у вас и получится по факту после суммирования = 1
13. 5225688vd 05.01.23 14:23 Сейчас в теме
14. user5300 1077 05.01.23 14:25 Сейчас в теме
(13) В запросе:
ВЫБРАТЬ
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
//МАКСИМУМ(ТоварыОрганизацийОстаткиИОбороты.Организация),
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(, &КонецПериода, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
ГДЕ
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
И ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &СкладскаяТерритория

СГРУППИРОВАТЬ ПО
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
Показать
15. 5225688vd 05.01.23 14:27 Сейчас в теме
(14)
ВЫБРАТЬ
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
//МАКСИМУМ(ТоварыОрганизацийОстаткиИОбороты.Организация),
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(, &КонецПериода, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
ГДЕ
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
И ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &СкладскаяТерритория

СГРУППИРОВАТЬ ПО
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
Показать


Так мне надо знать по какой организации остается количество 1
21. Sashares 33 05.01.23 15:41 Сейчас в теме
(15)
Так мне надо знать по какой организации остается количество 1

Это вы никогда не узнаете нормально.
Допустим, будет такой пример:
Организация А -1
Организация Б 1
Организация В 1

И по какой организации остатки должны быть?
22. lmnlmn 69 05.01.23 21:01 Сейчас в теме
(15) Вообще не факт что там останется и именно одна организация, а не несколько. Если я вас правильно понял, то вам надо положительные остатки уменьшит на отрицательные и вывести то что осталось. Запросом можно вычислить общий положительный и отрицательный остаток по номенклатуре и выбрать все организации у которых остаток больше 0. А дальше программная обработка - в разрезе номенклатуры срисовывать остаток по какому-нибудь алгоритму с организаций имеющих положительные остатки.

Для вашей задачи я бы сварганил запрос навроде этого:
ВЫБРАТЬ
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
	ВЫБОР КОГДА ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток < 0 "-" ИНАЧЕ "+" КОНЕЦ КАК ЗнакОстатка,
	ТоварыОрганизацийОстаткиИОбороты.Организация,
	ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток,
	ВЫБОР КОГДА ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток < 0 ТОГДА -ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток ИНАЧЕ 0 КОНЕЦ КАК ОтрицательныйОстаток
ИЗ
	РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(, &КонецПериода, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
ГДЕ
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
	И ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &СкладскаяТерритория
ИТОГИ
	СУММА(ВЫБОР КОГДА ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток < 0 ТОГДА -ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток ИНАЧЕ 0 КОНЕЦ) КАК ОтрицательныйОстаток
ПО
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
	ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
	ЗнакОстатка
Показать
P.S. В запросе могут быть ошибки, так как пишу из головы, но идея должна быть ясна.
16. user5300 1077 05.01.23 14:28 Сейчас в теме
Тогда так: (Без объединения)
ВЫБРАТЬ
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
МАКСИМУМ(ТоварыОрганизацийОстаткиИОбороты.Организация),
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(, &КонецПериода, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
ГДЕ
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура = &Номенклатура
И ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория = &СкладскаяТерритория

СГРУППИРОВАТЬ ПО
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ТоварыОрганизацийОстаткиИОбороты.АналитикаУчетаНоменклатуры.СкладскаяТерритория,
ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток
Показать
18. 5225688vd 05.01.23 14:35 Сейчас в теме
(16)Так количество 2 показал, а по факту 1
Оставьте свое сообщение

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