СКД: Борьба с пользовательскими отборами, обнуляющими заложенную логику

16.06.26

Разработка - СКД

Как решить проблему с отборами по полям СКД, когда с одинаковым отбором Отчет показывает одно, а Консоль запросов другое.

Небольшая заметка: Несколько товарищей на прошлой неделе задали похожие вопросы по некорректно работающим отборам в отчетах на СКД. Тут одна несложная мысль. Может кому-то ещё пригодиться.

Смоделировал в демке ЕРП упрощенный выдуманный пример с проблемой отбора в отчете на СКД.

Допустим, задача: Собрать по РН Запасы и потребности зарезервированные остатки на одном складе, и показать по тем же позициям свободные остатки на другом складе.

Примечание: В реальности бывают разные примеры:

- Один товарищ недавно спрашивал про отчет по затратам и некорректно работающим в нем отбором по полю Заказ, и - Второй спрашивал про АРМ Закупок и потере сумм при отборе по Назначению. 

У вас может быть другой пример, смысл наследуется.

 

Решение задачи в отчете на СКД:

Подзапрос 1: Берем остатки по РН Запасы и потребности На дату, с отбором по Складу1 и Не пустому Назначению.

Подзапрос 2: Берем остатки по РН Запасы и потребности На дату, с отбором по Складу2 и Пустому Назначению.

Подзапрос 3: Соединяем, и показываем, что на Складе1 зарезервировано, и что из этого на Складе2 свободно.

Первоначальный текст запроса, вроде несложный, ниже:

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

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение
;

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

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втЗанятыНаСкладе1.Номенклатура КАК Номенклатура,
	втЗанятыНаСкладе1.Назначение КАК Назначение,
	втЗанятыНаСкладе1.ЗанятыйОстаток КАК ЗанятыйОстаток,
	ЕСТЬNULL(втСвободныНаСкладе2.СвободныйОстаток, 0) КАК СвободныйОстаток
ИЗ
	втЗанятыНаСкладе1 КАК втЗанятыНаСкладе1
		ЛЕВОЕ СОЕДИНЕНИЕ втСвободныНаСкладе2 КАК втСвободныНаСкладе2
		ПО втЗанятыНаСкладе1.Номенклатура = втСвободныНаСкладе2.Номенклатура

 

А что тут может быть не так?

А пользователь хочет отобрать по конкретному Назначению, и неожиданно данные теряются...

 

Рис.1 Тестовый отчет (без отбора по Назначению показывает Свободный остаток)

 

Рис.2 Тестовый отчет (С отбором по Назначению НЕ показывает Свободный остаток)

 

Если проверить в Консоли запросов полный запрос из отчета, сделав отбор по полю Назначение в Подзапрос 1 в секции ГДЕ, то Консоль запросов Свободный остаток показывает.

Интересно, как починить или объяснить...

 

Рис.3 Консоль запросов с отбором по назначению показывает Свободный остаток

 

Предполагаем, что компоновщик в отчете автоматически цепляет отбор по полю Назначение к Подзапросу 2 (а нам не надо, там по логике задачи с пустым Назначением должен собираться свободный остаток), а отбор надо цеплять только к Подзапрос 1.

Как в итоге наследовать отбор по полю Назначение только на Подзапрос 1 (резерва), а применение его на Подзапрос 2 (свободного остатка) убра ть?

Варианта решения и объяснения у меня было два:

- Вар А (топорный): Переименовать поле Назначение в Подзапрос 1 (например в НазначениеПоСклад1) и протащить его по всем запросам до результирующего (см. выше про вопросы товарищей: в случае отчета по затратам и отбору по заказу такой вариант подошёл, там текст запроса был небольшой и отчет только разрабатывался)

Сделать так: [ ЗапасыИПотребностиОстатки.Назначение КАК НазначениеНаСклад1 ]

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

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение
;

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

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втЗанятыНаСкладе1.Номенклатура КАК Номенклатура,
	втЗанятыНаСкладе1.НазначениеНаСклад1 КАК НазначениеНаСклад1,
	втЗанятыНаСкладе1.ЗанятыйОстаток КАК ЗанятыйОстаток,
	ЕСТЬNULL(втСвободныНаСкладе2.СвободныйОстаток, 0) КАК СвободныйОстаток
ИЗ
	втЗанятыНаСкладе1 КАК втЗанятыНаСкладе1
		ЛЕВОЕ СОЕДИНЕНИЕ втСвободныНаСкладе2 КАК втСвободныНаСкладе2
		ПО втЗанятыНаСкладе1.Номенклатура = втСвободныНаСкладе2.Номенклатура

 

- Вар Б (рекомендованный): Добавить в текст Подзапрос 1 условие отбора компоновки для поля Назначение с другим именем (а этот вариант был лучше в вопросе по АРМ Закупок и неработающим отбором по Назначению)

Примечание: Этот вариант предпочтительнее, так как реальный текст запроса может быть не такой простой и короткий как в примере, а состоять из множества подзапросов, где протащить новое имя по всему тексту, а затем перевыбирать поле в вариантах настройки СКД  - это никому ненужный геморрой.

Сделать так: {ГДЕ ЗапасыИПотребностиОстатки.Назначение.* КАК НазначениеНаСклад1}

 

 

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

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение
;

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

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втЗанятыНаСкладе1.Номенклатура КАК Номенклатура,
	втЗанятыНаСкладе1.Назначение КАК Назначение,
	втЗанятыНаСкладе1.ЗанятыйОстаток КАК ЗанятыйОстаток,
	ЕСТЬNULL(втСвободныНаСкладе2.СвободныйОстаток, 0) КАК СвободныйОстаток
ИЗ
	втЗанятыНаСкладе1 КАК втЗанятыНаСкладе1
		ЛЕВОЕ СОЕДИНЕНИЕ втСвободныНаСкладе2 КАК втСвободныНаСкладе2
		ПО втЗанятыНаСкладе1.Номенклатура = втСвободныНаСкладе2.Номенклатура

 

Рис.4 Хотя по факту Вар А и Б сидят на трубе одинаково

 

Это всё, говорил же - что заметка небольшая =)

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    262562    1460    421    

1171

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    7247    375    shapa_pro    27    

69

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    20967    ovetgana    112    

115

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    11997    krasnoshchekovpavel    7    

68

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    11630    Neti    0    

42

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    17176    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    14927    Akcium    17    

47

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    12088    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2693 16.06.26 09:51 Сейчас в теме
я в свое время знаешь как это все победил? при запуске отчета - сразу выскакивает форма ввода пароля - в зависимости от того какой пароль знает пользователь - такая таблица и будет строиться - "ни влево, ни вправо"!
sapervodichka; +1 Ответить
2. sapervodichka 7561 16.06.26 10:10 Сейчас в теме
(1) такая борьба с садовыми вредителями )
3. ixijixi 2152 16.06.26 10:21 Сейчас в теме
(1) Вообще мимо. Как пароль может управлять поведением платформы в части СКД?
7. aximo 2693 16.06.26 11:08 Сейчас в теме
(3) ну если думать по "букварю" - то нет... а если подойти с гибкостью ума - можно управлять параметрами запроса и его составляющими в зависимости от введенного пароля - https://infostart.ru/1c/tools/2331612/
sapervodichka; +1 Ответить
9. ixijixi 2152 16.06.26 11:32 Сейчас в теме
(7) Ты же меня в черный список добавил, как я увижу, что там)
10. aximo 2693 16.06.26 11:37 Сейчас в теме
(9) точно! ты же в "бане" сидишь! ну значит информация не для тебя - извини, братан - заслужил)
14. webester 26 16.06.26 13:00 Сейчас в теме
(9) Зайди под инкогнито, тоже уж прям большая проблема эти списки
SerVer1C; RustIG; dmpas; +3 Ответить
25. ixijixi 2152 16.06.26 14:12 Сейчас в теме
(14) Я знаю, что там. Я ту публикацию плюсовал в свое время. Но сейчас там коменты закрыты, значит aximo напихали в панамку как обычно
29. aximo 2693 16.06.26 15:17 Сейчас в теме
(25) следи за своим языком
33. ixijixi 2152 16.06.26 16:42 Сейчас в теме
(29) Как ты быстро от братана к хамству переходишь
20. sapervodichka 7561 16.06.26 13:59 Сейчас в теме
(10)
(9) ребята разбаньте друг друга что-ли (у нас бывает) я могу тоже кого-нибудь разбанить, пишите ))) само собой не в моей публикации и не в личку ))) тут незя из-за бана )))
24. ixijixi 2152 16.06.26 14:10 Сейчас в теме
(20) Да я его и не банил, больно надо)) Камрад aximo больно обидчивый, не умеет реагировать на критику))
23. sapervodichka 7561 16.06.26 14:06 Сейчас в теме
4. MissionOnly 26 16.06.26 10:22 Сейчас в теме
Я бы запрос одним SELECTом сделал (быстрее и не нужно делать временные).
5. sapervodichka 7561 16.06.26 10:44 Сейчас в теме
(4) тут выдуманный пример, чтобы показать какая была проблема, а так ещё прикрепи одним SELECT-ом запрос, я поучусь хоть как прикрутить отбор по номенклатуре с остатков склада1 на отбор остатков склада2 в рамках одного запроса
8. MissionOnly 26 16.06.26 11:14 Сейчас в теме
(5)
ВЫБРАТЬ
	ЗапасыИПотребностиОстатки.Номенклатура КАК Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение КАК Назначение,
	ISNULL(СУММА(CASE WHEN ЗапасыИПотребностиОстатки.Склад = &Склад1 THEN ЗапасыИПотребностиОстатки.ВНаличииОстаток ELSE 0 END),0) КАК ЗанятыйОстатокСклад1,
	ISNULL(СУММА(CASE WHEN ЗапасыИПотребностиОстатки.Склад = &Склад2 THEN ЗапасыИПотребностиОстатки.ВНаличииОстаток ELSE 0 END),0) КАК ЗанятыйОстатокСклад2
ИЗ
	РегистрНакопления.ЗапасыИПотребности.Остатки(
			&НаДату {(&НаДату)},
			Склад = &Склад1 ИЛИ Склад = &Склад2
				И Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)) КАК ЗапасыИПотребностиОстатки
{ГДЕ
	ЗапасыИПотребностиОстатки.Назначение.* КАК НазначениеНаСклад}

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение
Показать
19. sapervodichka 7561 16.06.26 13:52 Сейчас в теме
(8) Ну мимо же )))

Собрать по РН Запасы и потребности зарезервированные остатки на одном складе, и показать по тем же позициям свободные остатки на другом складе.
Прикрепленные файлы:
30. MissionOnly 26 16.06.26 15:21 Сейчас в теме
(19)
ВЫБРАТЬ
	ЗапасыИПотребностиОстатки.Номенклатура КАК Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение КАК Назначение,
	ISNULL(СУММА(CASE WHEN ЗапасыИПотребностиОстатки.Склад = &Склад1 И ЗапасыИПотребностиОстатки.Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) THEN ЗапасыИПотребностиОстатки.ВНаличииОстаток ELSE 0 END),0) КАК ЗанятыйОстаток,
	ISNULL(СУММА(CASE WHEN ЗапасыИПотребностиОстатки.Склад = &Склад2 И ЗапасыИПотребностиОстатки.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) THEN ЗапасыИПотребностиОстатки.ВНаличииОстаток ELSE 0 END),0) КАК СвободныйОстаток
ИЗ
	РегистрНакопления.ЗапасыИПотребности.Остатки(
			&НаДату {(&НаДату)},
			Склад = &Склад1 ИЛИ Склад = &Склад2) КАК ЗапасыИПотребностиОстатки
{ГДЕ
	ЗапасыИПотребностиОстатки.Назначение.* КАК НазначениеНаСклад}

СГРУППИРОВАТЬ ПО
	ЗапасыИПотребностиОстатки.Номенклатура,
	ЗапасыИПотребностиОстатки.Назначение
HAVING
	ISNULL(СУММА(CASE WHEN ЗапасыИПотребностиОстатки.Склад = &Склад1 И ЗапасыИПотребностиОстатки.Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) THEN ЗапасыИПотребностиОстатки.ВНаличииОстаток ELSE 0 END),0) > 0
Показать
6. starik-2005 3274 16.06.26 10:57 Сейчас в теме
Архитектурная проблема решается костылями. Браво, 1С.
11. qwinter 685 16.06.26 11:40 Сейчас в теме
(6) Какая же это проблема? Это специально сделанная фича.
12. starik-2005 3274 16.06.26 11:44 Сейчас в теме
(11)
фича
Для зарабатывания бабла на клиентах. Сделали им аналитику, а они продолжают жрать кактус.
13. lishniy 134 16.06.26 12:13 Сейчас в теме
Мне встречались случаи, когда СКД меняет неожиданно запрос только если стоит галочка "Автозаполнение". А стоит она по умолчанию и скорее всего у вас. Убираете ее и ставите отборы компоновки в нужных местах с верным именем. Это полностью ожидаемое поведение, если читать документацию
dmpas; webester; +2 Ответить
16. sapervodichka 7561 16.06.26 13:47 Сейчас в теме
(13) т.е. снимаешь Автозаполнение все сотни полей пропадают из окна структуры, и ты их добавляешь вручную, а потом еще все равно в компоновке добавляешь условие как в варианте Б - похоже на БДСМ вечеринку, спасибо, конечно, за сомнительный совет ) ведь у меня показано как по документации сделать, я же не костыль описал )) а ты предлагаешь костыль с отключением автозаполнения и кучей ручного труда по созданию полей
22. sapervodichka 7561 16.06.26 14:03 Сейчас в теме
(13) но в любом случае спасибо за коммент, любое обсуждение ценно!
27. lishniy 134 16.06.26 14:41 Сейчас в теме
(16) Это нужно сделать в последнем запросе. Что нужно в отчет/выборку в поля добавить. Необходимые отборы в условия. И добавить условия по предполагаемым отборам в первые запросы. В худшем случае у нас в первых отборах будет чуть больше данных, чем с автозаполнением. Взял за правило всегда снимать автозаполнение в сложных отчетах и за последние 7 лет нет неожиданных результатов
grumagargler; +1 Ответить
15. user-z99999 78 16.06.26 13:39 Сейчас в теме
А это точно не проблема кэширования отчёта? Может можно создать новый с нуля, и проблема решиться.
17. sapervodichka 7561 16.06.26 13:49 Сейчас в теме
(15) это не кеширование, и не решиться если с нуля создать ))) даже если на другой базе и на другом сервере запустить, то не решиться )))
18. user-z99999 78 16.06.26 13:51 Сейчас в теме
(17) значит виноваты программисты фирмы 1с)))
Тогда временные таблицы, алиасы, и попытка получить правильно.
21. sapervodichka 7561 16.06.26 14:01 Сейчас в теме
(18) снова без вины виноватые )
26. SerVer1C 1102 16.06.26 14:20 Сейчас в теме
Предполагаем, что компоновщик в отчете автоматически цепляет отбор по полю
Пробовали вытащить результирующий текст запроса ?
28. RocKeR_13 1479 16.06.26 14:50 Сейчас в теме
Эм,вообще очевидно же) Более того, если туда затянуть еще какой регистр с назначением, то в общем случае СКД и на него отбор наложит: она уж шибко умная и список доступных полей отбора собирает по всем таблицам. В принципе "проблема" из разряда выборки из виртуальной таблицы остатков, когда СКД автоматически создает параметр "Период", но разработчик создает свой параметр "Период", но накладывает его на другую таблицу, например, на поле "Дата" таблицы документа; а потом удивляется, почему у него остатки на дату документа, а не текущие) И да, все верно, нужно просто задать на вкладке "Компоновка данных" разные псевдонимы у полей таблиц выборки, если у них одинаковые имена, но планируется, например, задавать для них разные отборы.

Единственное, вы задали псевдоним на вкладке условий, а так низзя, так как все мы помним, что параметры виртуальной таблицы мы должны задавать в соответствующем месте))
Прикрепленные файлы:
sapervodichka; 0x00; +2 Ответить
31. sapervodichka 7561 16.06.26 15:56 Сейчас в теме
(28) сам же видишь, что не всем очевидно )
32. RocKeR_13 1479 16.06.26 16:36 Сейчас в теме
(31) Что, вообще говоря, несколько меня удивило)
Для отправки сообщения требуется регистрация/авторизация