Как из регистра накопления запросом получить записи, которые без остатков(закрытые+-)?

1. Gettherefast 05.09.18 16:29 Сейчас в теме
Как из регистра накопления запросом получить записи, которые без остатков(закрытые+-)? Все записи, кроме тех, которые во временной таблице "РегистрНакопления.Остатки"?
По теме из базы знаний
Найденные решения
2. Boneman 298 05.09.18 16:41 Сейчас в теме
(1) что-то не очень понятная задача.
Записи - это движения,
остатки - это срез на определенную дату.

Или у вас несхлопнутые ? Тогда надо смотреть по каким именно измерениям несхлопнуто.
тогда вы получите без учета этого измерения 0, а с учетом измерения + и - отрицательные остатки. Вот группируете, и где в группировках итоговая сумма 0 а количество записей 2 - вот те и ваши
3. RocKeR_13 1329 05.09.18 17:09 Сейчас в теме
(1) Если вид РН у вас "Остатки", то выбирать из виртуальной таблицы ОстаткиИОбороты с условием КонечныйОстаток = 0, а-ля

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

В данном примере запрос выведет товары, у которых были обороты за указанный период, но которых нет на остатках на конец периода.
Но формулировка задачи, конечно, у вас...кгм...сплошная головоломка))
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 05.09.18 16:41 Сейчас в теме
(1) что-то не очень понятная задача.
Записи - это движения,
остатки - это срез на определенную дату.

Или у вас несхлопнутые ? Тогда надо смотреть по каким именно измерениям несхлопнуто.
тогда вы получите без учета этого измерения 0, а с учетом измерения + и - отрицательные остатки. Вот группируете, и где в группировках итоговая сумма 0 а количество записей 2 - вот те и ваши
3. RocKeR_13 1329 05.09.18 17:09 Сейчас в теме
(1) Если вид РН у вас "Остатки", то выбирать из виртуальной таблицы ОстаткиИОбороты с условием КонечныйОстаток = 0, а-ля

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

В данном примере запрос выведет товары, у которых были обороты за указанный период, но которых нет на остатках на конец периода.
Но формулировка задачи, конечно, у вас...кгм...сплошная головоломка))
6. Fril 05.09.18 17:41 Сейчас в теме
(3) а если оборотов не было?
4. reazek 05.09.18 17:24 Сейчас в теме
(3) либо из множества измерений регистров вычесть позиции с остатками.
5. RocKeR_13 1329 05.09.18 17:31 Сейчас в теме
(4) ...из измерений регистров вычесть позиции с остатками... Прошу прощения, но даже у ТСа лучше задачу получилось сформулировать))
Я, конечно, понял, что вы имели в виду примерно следующее:
1) выбрать все записи из основной таблицы регистра
2) выбрать все записи из виртуальной таблицы остатков
3) соединить полученные таблицы по измерениям и из первой исключить те, которые попали во 2ю
4) свернуть полученную выборку

Но это же просто дикость)))
12. reazek 06.09.18 13:17 Сейчас в теме
(5) я так понимаю что вопрос в интерпритации, вернее в понимании смысла , от того и "дичь".
Ок, честно думал что это общеизвестный факт не требующий напоминания:
Разность (вычетание ) двух множеств — операция, результатом которой является множество, в которое входят все элементы первого множества, не входящие во второе множество. Это кажется алгебра 8-й класс.

Логика такая - есть регистра, у него например измерения товар.
Если нужно получить товары, по которым "все в ноль" на дату - один запрос - берем остатки не нулевые на дату по товару и элементы справочника номенклатуры, в результат запроса те по которым остаток ноль.
7. Fril 05.09.18 17:42 Сейчас в теме
Думаю надо вытащить всю номенклатуру и сравнить её с РН остатки, и оставить только ту номенклатуру которой нет в РН Остатки

Примерно вот так:

ВЫБРАТЬ
	ОстаткиТоваровКомпанииОстатки.Номенклатура КАК Номенклатура
ИЗ
	РегистрНакопления.ОстаткиТоваровКомпании.Остатки(
			,
			Номенклатура В
				(ВЫБРАТЬ
					Номенклатура.Ссылка КАК Ссылка
				ИЗ
					Справочник.Номенклатура КАК Номенклатура
				ГДЕ
					НЕ Номенклатура.ЭтоГруппа
					И НЕ Номенклатура.ПометкаУдаления)) КАК ОстаткиТоваровКомпанииОстатки
ГДЕ
	ОстаткиТоваровКомпанииОстатки.КоличествоОстаток <= 0
Показать
8. RocKeR_13 1329 05.09.18 18:01 Сейчас в теме
(7) Если не ошиблись и условие написали правильно
ГДЕ
    ОстаткиТоваровКомпанииОстатки.КоличествоОстаток <= 0

то получите на выходе только отрицательные остатки
9. Gettherefast 05.09.18 18:24 Сейчас в теме
Регистр = РасчетыСКонтрагентами, требовалось получить те заказы покупателей, которые полностью оплачены.
10. Fril 06.09.18 09:24 Сейчас в теме
(9) в задаче не сказано какой регистр ("РегистрНакопления.Остатки") , какой вопрос такой ответ....
11. RocKeR_13 1329 06.09.18 09:57 Сейчас в теме
(9) вы конкретизируйте в следующий раз задачу, укажите, что за конфа, что на выходе хотите получить: в этом случае больше шансов получить то, что хотите, возможно даже с использованием типовых средств)
Оставьте свое сообщение

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