Запрос к регистру бухгалтерии

1. hiduk 124 04.09.20 10:20 Сейчас в теме
Бухгалтерия 3.0
Задача: получить список контрагентов, по которым есть остатки либо обороты за год.
Пишу запрос:

ВЫБРАТЬ
	ХозрасчетныйОстаткиИОбороты.Субконто1
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , &ВидСубконтоКонтрагенты, ) КАК ХозрасчетныйОстаткиИОбороты

Получаю список контрагентов.

Вопрос: если вместо Субконто1 указать Субконто2 или Субконто3 (ну и параметр ВидСубконтоКонтрагенты задать как массив видов субконто Контрагенты), то получаю тот же самый список. Разве выбрав в запросе поле Субконто2 или 3, я не должен получить список только тех контрагентов, по которым есть остатки/обороты по субконто 2/3??? Почему результат запросов одинаковый?.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vladimir-R 167 04.09.20 10:29 Сейчас в теме
Тип параметра: ПланВидовХарактеристикСсылка.; Массив; ФиксированныйМассив; СписокЗначений.
Ссылка, или массив ссылок, или фиксированный массив ссылок, или список значений, содержащий ссылки, на виды субконто.
Задает набор и порядок субконто, которыми можно оперировать в запросе. Накладывает фильтр на записи по видам субконто (если массив то по И).
Если параметр <Субконто> не задан, то субконто определяются позиционно. То есть берется вид субконто соответствующего счета из соответствующей позиции. Так, если <Субконто> не определен, и выполняется запрос по счету, у которого определены виды субконто первое "Материалы", второе "Склад", то поле "Субконто1" будет содержать материалы, а поле "Субконто2" - склады.
Если делается запрос по двум счетам, при этом у первого настройка субконто "Материалы, Склад", а у второго "Склад, Материал" и не задан параметр <Субконто>, то поле "Субконто1" будет содержать и материалы для первого счета, и склады для второго счета. Поле "Субконто2" будет содержать склады для первого счета и материалы для второго.
Если параметр <Субконто> задан, то выбираются данные только по тем счетам, у которых определены все указанные виды субконто. При этом поля "Субконто<N>" будут содержать значения, соответствующие переданным видам субконто.
Например, если один счет имеет настройку субконто "Материалы, Склад", а второй "Склад, Материалы", и параметр "Виды субконто" задан как массив "Материалы, Склад", то поле "Субконто1" будет содержать материалы, а поле "Субконто2" - склады, независимо от счета.
Параметр не существует, если при конфигурировании для плана счетов не указаны субконто.
Значение по умолчанию: Неопределено.
3. hiduk 124 04.09.20 10:39 Сейчас в теме
(2)
дут содержать значения, соответствующие переданным видам субконто.

Спасибо, но это не снимает вопрос про субконто 3.
5. Vladimir-R 167 04.09.20 10:45 Сейчас в теме
(3) какой именно? если вы передаете в ВидСубконтоКонтрагенты Контрагентов, то независимо от счета Субконто1 будет содержать Контрагентов
8. hiduk 124 04.09.20 10:49 Сейчас в теме
(5) Это хорошо, что не зависит от счета, и это я понял. Счета я в параметрах не использую. Мне нужны движения и остатки контрагентов по всем счетам. Вопрос вот в чем: вид Субконто контрагенты определен в качестве Субконто1 на нескольких счетах, и не определен ни на одном из счетов как Субконто3. Но если я в запросе выбираю поле Субконто3 - он (Запрос) выдает тот же результат что и при выборе поля Субконто1. Почему?
4. hiduk 124 04.09.20 10:45 Сейчас в теме
В общем, чтобы выбрать всех контрагентов с остатками и движениями за год, я остановился на таком запросе, что скажите, коллеги?:

ВЫБРАТЬ 
	ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто1  КАК Справочник.Контрагенты) КАК Значение
Поместить ВТ_Контрагенты	
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , , ) КАК ХозрасчетныйОстаткиИОбороты
Где 
	ХозрасчетныйОстаткиИОбороты.Субконто1 Ссылка Справочник.Контрагенты
	
Объединить

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

Объединить

ВЫБРАТЬ 
	ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто3  КАК Справочник.Контрагенты) КАК Значение
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , , ) КАК ХозрасчетныйОстаткиИОбороты
Где 
	ХозрасчетныйОстаткиИОбороты.Субконто3 Ссылка Справочник.Контрагенты
Показать
6. alex-l19041 8 04.09.20 10:49 Сейчас в теме
(4) просто любопытно на каком счете у вас контрагент третим субконто ?
9. hiduk 124 04.09.20 10:50 Сейчас в теме
(6) В том то и дело, что ни на каком, а запрос выдает результат!!!
13. hiduk 124 04.09.20 11:33 Сейчас в теме
(6)
просто любопытно на каком счете у вас контрагент третим субконто ?
Это на всякий случай. Конфигурации разные, чтобы не упустить.
7. Vladimir-R 167 04.09.20 10:49 Сейчас в теме
(4) зачем так, если при первом варианте вы уже получили все, что нужно.
10. hiduk 124 04.09.20 10:58 Сейчас в теме
(7)
ачем так, если при первом варианте вы уже получили все, что нужно.
При первом варианте я не понял, что получил. А в (4) - я уверен, что получил всё. Результат в (4) = на 4 контрагента больше:)
11. Vladimir-R 167 04.09.20 11:00 Сейчас в теме
(10) это говорит лишь о том, что у вас несколько видов субконто, у которых тип содержит справочник. Контрагенты
12. hiduk 124 04.09.20 11:11 Сейчас в теме
(11)
то говорит лишь о том, что у вас несколько видов субконто, у которых тип содержит справочник. Контрагенты

Может, подскажите, как получить полный список контрагентов (по всем субконто) запросом, используя параметр <Субконто>?
14. пользователь 29.09.20 20:21
Сообщение было скрыто модератором.
...
15. Oruzeynik 14.11.23 11:49 Сейчас в теме
(4) может хотя бы так, хотя все равно бред мне кажется какой то :

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

ОБЪЕДИНИТЬ

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

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто3 КАК Справочник.Номенклатура)
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , , , Субконто3 ССЫЛКА Справочник.Номенклатура) КАК ХозрасчетныйОстаткиИОбороты
Показать
Оставьте свое сообщение

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