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

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 Хотя по факту Вар А и Б сидят на трубе одинаково

 

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

 

 
 Другие публикации автора

 

Калькулятор железа для 1C Два калькулятора расчета железа (процессоры, память, диск) в зависимости от количества пользователей и размера базы для разделенных и совмещенных серверов 1С и СУБД, а также расчета терминального сервера. Описаны формулы расчета и обоснования выбора.
Неудачный эксперимент переделки типового Версионирования объектов из XML в JSON «Ну я хотя бы попытался, черт возьми, хотя бы попробовал» — персонаж Джека Николсона в психушке из фильма «Пролетая над гнездом кукушки» (1975).
Ускорение переноса остатков на примере из УПП в ERP Простые приемы, позволяющие ускорить длительный перенос остатков с устаревших решений 1С на новые, на примере перехода с УПП на ERP, принципы подойдут и для БП/УТ/УПП - ЕРП/КА/УХ и т.д.
Проверка зацикливания спецификаций Обработка проверяет зацикливание спецификаций при производстве изделий в 1C:ERP. Разузловывает по полуфабрикатам и выводит ветки с цикличными позициями.
Дополненный выбор в полях и отборах [Уникальный идентификатор, Навигационная ссылка, Объект не найден, Представление документа] Расширение добавляет возможность в 1С в любых полях и отборах выбирать значения не только Код, Наименование или Номер, но и Уникальный идентификатор, Навигационную ссылку, Объект не найден, Представление документа.
Универсальный обмен данными XML 8.2 и 8.3 (дополненный) Две обработки универсального обмена данными XML для платформ 8.2 и 8.3, поддерживающие стандартные и дополнительные возможности: 1) Сохранение и восстановление настроек дерева правил, отборов и параметров целиком или при обновлении самих правил; 2) Произвольные отборы для выгрузки объектов и отборы, предварительно собранные по Объект не найден, Уникальному идентификатору, Представлению документа, Коду или Наименованию справочника 3) Регистрацию на узлах обмена объектов и выгрузку с узлов с возможностью очистки регистрации; 4) Разные COM компоненты; 5) Тестирование и отладка; 6) Удаление объектов.
Универсальный журнал документов в 1С Внешняя обработка "Универсальный журнал документов" это гибкий инструмент для работы с документами в конфигурациях 1С 1) настройка произвольного состава документов 2) настройка колонок 3) настройка произвольных отборов 4) сохранение и восстановление вариантов настроек 5) групповое проведение, отмена проведения, пометка на удаление 6) просмотр связанных документов. 7) Создание, копирование документов
Инвентаризация ТМЦ (расширение) Инвентаризация ТМЦ проводится в организации для определения количества, стоимости и состояния материальных ценностей и позволяет выявить излишки или недостачи имущества. Расширение добавляет в базу новый документ, который заполняется по данным бухгалтерского учета по любым счетам (с субконто Номенклатура, Физические лица, например: МЦ.02, МЦ.03.МЦ.04, 10.11 или др.). Документ содержит отборы, настройку подписантов, печатную форму ИНВ-3 и ведомость.
Расширение: Контроль заполнения субконто Расширение, позволяет настраивать контроль заполненности Субконто и Подразделений при формировании проводок бух. учета в разрезе Организаций и Счетов.
Расширение: Блокировка элементов справочников от изменений Отметка проверки (блокировки) к любому виду справочника (Флаг, Ответственный и Время) и запрет редактирования проверенного элемента.
Расширение: Проверка документов Отметка проверки к любому виду документа (Флаг, Ответственный и Время) и запрет редактирования проверенного документа.
Расширение: Оригиналы документов Отметка к любому виду документа, о том что получен его оригинал (Флаг, Ответственный и Время)
Копирование прав между пользователями Обработка по копированию прав пользователя на список других пользователей
Расширение: Быстрые отборы через буфер [Alt+C] Копировать, [Alt+V] Вставить Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации клавиш [Alt+C] Копировать, [Alt+V] Вставить.
Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.
Гарантированное проведение документов (подключаемое расширение) Гарантированное проведение указанного в регистре сведений списка документов. Регистрируем документы к проведению с помощью произвольных отборов СКД в регистре сведений, далее запускаем фоновое проведение в нескольких потоках. Проведенные документы удаляются из регистра, по непроведенным регистрируются ошибки.
Ускорим проведение в 1С:Управление холдингом В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.
Динамическая кнопка VS Комбинация клавиш Часто требуется ко всем формам или к списку форм привязать новые действия. Но как это сделать не меняя каждую форму и в идеале не меняя конфигурацию? Ниже будет описано, как запрограммировать новые действия через расширение (т.е. не меняя конфигурации) и сделать это универсально (не меняя каждую форму).
Параметризация печатных форм под контрагентов (подключаемое расширение) Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь //infostart.ru/1c/articles/1510459/
Просмотр объектов очереди сообщений в 1С:Документооборот В базах с бесшовной интеграцией с 1С:Документооборот есть Регистр сведений "Очередь сообщений в 1С:Документооборот". Для пользователя он мало информативен. Расширение позволяет просматривать сообщение в человеческом виде. И понимать проблему до объекта.
Поддержка пользователей [Alt+S] (подключаемое расширение) Расширение, подключаемое к базе 1С для решения задач поддержки пользователей. Позволяет быстро (по кнопке или комбинации клавиш Alt+S), не выходя из программы 1С из любой формы, создать обращение к консультантам и программистам со скринами, файлами, в привязке к проблемному объекту (документу, справочнику, отчету, обработке и т.п.). Вести переписку по обращениям, отслеживать их выполнение с трудозатратами и уведомлять участников через механизмы: Telegram, Обсуждения 1С и Электронную почту. Код открыт и расширение может развиваться и быть доработано под индивидуальные потребности.
Интерактивная справка [Alt+I] (подключаемое расширение) Дополнительная справка, подключаемая к базе 1С. Содержит дерево разделов и статьи. Позволяет создавать статьи с картинками, прикреплять к ним файлы и видео, а также связывать статьи с объектами 1С (документам, справочникам, отчетам). Вызывается на динамически создаваемую кнопку панели либо быстрой комбинацией клавиш Alt+I.
Защита объектов от изменения обменом Расширение позволяет пользователю заблокировать объект 1С (документ, справочник) от изменения последующими загрузками данных или обменами.
Доп. панель Alt+Z Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.
Создание стартовой базы Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.
Групповое добавление и удаление ролей из списка профилей Подключаемая обработка. Помогает при конструировании профилей доступа пользователей (настройке прав пользователей), экономит время на добавлении/удалении одной и той же роли сразу в нескольких профилях.
Интерактивная справка по объектам 1С (автономное расширение) База знаний, подключаемая к объектам основной базы. Ведётся интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.
Значения по умолчанию для пользователей (Расширение) При заполнении документов и справочников пользователи часто сталкиваются с необходимостью ввода одних и тех же реквизитов. Заполнение в документах некоторых из них, таких как: Организация, Склад и т.п. - выполняется реализованным в 1С механизмом подстановки значения из последних 3-5 введенных документов. Если же вы хотите заполнять все реквизиты шапки (и даты, и флажки, и другие поля, включая дополнительные реквизиты), то вам поможет данный механизм.
Контекст любого объекта конструкцией #Если Фамилия Тогда Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.
Отключение Монитора ИТС и Проверки наличия обновления (расширение) Некоторые интернет-сервисы базы 1С у пользователей вызывают замедления работы и клиенту не нужны. Их можно отключить через расширения.
Памятка работ по проекту 1С Схема работ по проекту внедрения 1С освежает в голове и визуализирует общую картину мероприятий. Будет полезно как для Заказчика так и для Исполнителя при подготовке проекта и проведении совещаний по ходу проекта.
Использование Стека вызовов в качестве условия оператора Если [...] Тогда Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.
Уведомление пользователей об изменениях в объектах (расширение) Позволяет без доработок настроить уведомления пользователям об изменениях объектов и их реквизитов. Уведомления отправляются в виде задач по проверке объектов с ссылками на объекты.
Права доступа к объектам с гибкими отборами (расширение) Возможность без доработок конкретизировать пользователям права Просмотра и Изменения объектов базы 1С, установив ограничения с помощью отборов системы компоновки данных.
Памятка работ по задаче 1С Памятка выполняемых работ по решению длительных задач по 1С
Применение программистом таблицы рисков для оценки технического задания Я как программист часто получаю технические задания, по которым от меня хотят услышать оценку. Привожу описание метода оценки задания, заимствованный из проектной технологии, по которому я оцениваю тех. задания
Добрый великан Руководители проектов определяют наше настоящее, каким оно будет?! Ответ прост - таким, каким и сам РП.
Настройка ограничений входа пользователей в базу (расширение) Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).
Переход с партий и производства версии 2.1 на режимы 2.2 в 1С:ERP в середине года В данной статье рассказано о практическом опыте ВЦ «Раздолье» в переводе работы клиентов в «1С:ERP Управление предприятием» на новые режимы: использование производства 2.2 и партионный учет версии 2.2 (далее режимы 2.2) после начала года, доработки изменения.
БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов Расширение конфигурации, отключающее ошибки прошлых периодов, которые блокируют закрытие текущего месяца. Например, "Нарушена последовательность регламентных операций" и т.д.
Проводим по БУ "на лету" В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.
Административная панель #расширение объекта Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)

Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #1. Установка произвольных фильтров на выгружаемые объекты при помощи механизма системы компоновки данных #2. Сохранение различных вариантов настроек (сохраняются правила обмена, фильтры выгрузки, параметры, настройки обработки) - что позволяет гибко настроить в базе-источнике фильтры для выгрузки объектов по различным правилам обмена для различных баз-приемников, сохранить выполненные настройки и в будущем уже пользоваться этими вариантами настроек.

Выгрузка и загрузка данных XML с гибкими отборами

Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.

Свойства объектов 1С в MS SQL (и сравнение баз)

Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз

Запуск 1С под любым пользователем (без необходимости указания пароля)

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

Права на объект

Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.

Монитор показателей и лицензий

Онлайн диаграмма доступных лицензий 1С и показателей ресурсов сервера 1С в различных измерениях и отборах.

Поиск пересекающихся ссылок на комбинации объектов

Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий

Структура подчиненности с хронологией документов и кнопками проведения и удаления

Часто не хватает визуализации хронологии документов в структуре подчиненности и кнопок проведения. Это расширение конфигурации, с функционалом структуры подчиненности документов, отображающее хронологическую последовательность документов во времени и дающее доступ к проведению, отмене проведения, пометке на удаление документов непосредственно в форме подчиненности.

Групповая проверка доработок

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем.

Поиск и восстановление битых ссылок (Объект не найден)

Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3

Отключение и подключение узла распределенной базы (РИБ)

Внешняя обработка (работает в обычном и управляемом интерфейсе). Пригодиться для работы с узлами распределенных баз данных: 1) Снимает замки блокировки конфигурации подчиненного узла или возвращает их. 2) Дает возможность подключить архив рабочей базы как подчиненный узел без создания образа. 3) Дает возможно синхронизировать конфигурации узлов вручную, если например есть ошибки обмена или размер конфигурации велик для передачи через сообщения обмена. Ситуации описаны в полном описании. Проверялось на платформе 8.1, 8.2, 8.3, для 1С:УПП, 1С:Розница, 1С:Бухгалтерия 1.6, 2.0, 3.0, 1С:ERP

Менеджер по работе с Google календарем

Обработка на управляемых формах для работы с календарями google, событиями календарей и контактами.

Должно быть NULL в регистре бухгалтерии Хозрасчетный

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

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.

Таблицы серверов (как просто выбрать сервер)

Перед началом проекта требуется определить параметры серверного и клиентского оборудования, необходимые для работы внедряемой программы 1С:Предприятие, и учесть будущую нагрузку, которая ляжет на систему в реальной рабочей обстановке. Мощность оборудования должна быть достаточной для нормальной работы пользователей. Но как подобрать сервер простым способом?

На время отключаем контроль остатков и проверку документов

На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.

Часто при  моделировании примеров бизнес-процессов, на запуске в эксплуатацию или закрытии требуется несколько раз прогнать  ситуацию с разными настройками, а для этого изменить, удалить ранее введенную цепочку документов. Дается все это с трудом. Ты уверен, что не навредишь своими действиями системе, но документы цепляют друг друга и ругаются контролями остатков, не разрешая тебе менять их в произвольном порядке.

Есть несколько удобных опций для облегчения внесения изменений.

Дополнение к контролю остатков

Огорчает один момент в типовых решениях, когда проводится документ, ругаясь на нехватку остатков, система не сообщает, по какому именно регистру проблема. Дополнив сообщения контроля названием регистра, можно уменьшить время расследования проблемы (исключив из процесса необходимость запуска программистом отладки в конфигураторе для выявления имени проблемного регистра).

Новости для пользователей

Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.

Пример технического задания

Пример технического задания для практического понимания основных разделов.

Краткое руководство по внесению изменений в конфигурацию

Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании

 

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

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

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

См. также

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

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

16500 руб.

02.09.2020    265652    1478    421    

1176

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

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

29.01.2026    7561    387    shapa_pro    27    

71

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

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

29.10.2025    21784    ovetgana    112    

115

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

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

01.07.2025    12508    krasnoshchekovpavel    7    

68

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

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

10.04.2025    12100    Neti    0    

42

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

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

27.02.2025    17482    ovetgana    50    

93

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

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

24.12.2024    15289    Akcium    17    

47

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

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

20.08.2024    12674    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2699 16.06.26 09:51 Сейчас в теме
я в свое время знаешь как это все победил? при запуске отчета - сразу выскакивает форма ввода пароля - в зависимости от того какой пароль знает пользователь - такая таблица и будет строиться - "ни влево, ни вправо"!
Sardukar; sapervodichka; +2 1 Ответить
2. sapervodichka 7613 16.06.26 10:10 Сейчас в теме
(1) такая борьба с садовыми вредителями )
3. ixijixi 2156 16.06.26 10:21 Сейчас в теме
(1) Вообще мимо. Как пароль может управлять поведением платформы в части СКД?
xantif_2000; amiralnar; +2 1 Ответить
7. aximo 2699 16.06.26 11:08 Сейчас в теме
(3) ну если думать по "букварю" - то нет... а если подойти с гибкостью ума - можно управлять параметрами запроса и его составляющими в зависимости от введенного пароля - https://infostart.ru/1c/tools/2331612/
sapervodichka; +1 1 Ответить
9. ixijixi 2156 16.06.26 11:32 Сейчас в теме
(7) Ты же меня в черный список добавил, как я увижу, что там)
xantif_2000; amiralnar; Dragonim; +3 Ответить
10. aximo 2699 16.06.26 11:37 Сейчас в теме
(9) точно! ты же в "бане" сидишь! ну значит информация не для тебя - извини, братан - заслужил)
14. webester 26 16.06.26 13:00 Сейчас в теме
(9) Зайди под инкогнито, тоже уж прям большая проблема эти списки
xantif_2000; aximo; shard; Sardukar; SerVer1C; RustIG; dmpas; +7 Ответить
25. ixijixi 2156 16.06.26 14:12 Сейчас в теме
(14) Я знаю, что там. Я ту публикацию плюсовал в свое время. Но сейчас там коменты закрыты
xantif_2000; amiralnar; Dragonim; 0x00; +4 Ответить
29. пользователь 16.06.26 15:17
Сообщение было скрыто модератором.
...
33. пользователь 16.06.26 16:42
Сообщение было скрыто модератором.
...
34. пользователь 16.06.26 20:06
Сообщение было скрыто модератором.
...
38. пользователь 17.06.26 08:42
Сообщение было скрыто модератором.
...
48. пользователь 19.06.26 08:28
Сообщение было скрыто модератором.
...
47. пользователь 19.06.26 08:27
Сообщение было скрыто модератором.
...
20. sapervodichka 7613 16.06.26 13:59 Сейчас в теме
(10)
(9) ребята разбаньте друг друга что-ли (у нас бывает) я могу тоже кого-нибудь разбанить, пишите ))) само собой не в моей публикации и не в личку ))) тут незя из-за бана )))
24. ixijixi 2156 16.06.26 14:10 Сейчас в теме
(20) Да я его и не банил, больно надо)) Камрад aximo больно обидчивый, не умеет реагировать на критику))
xantif_2000; amiralnar; webester; Dragonim; Mikeware; Sardukar; alexey-simf; 0x00; +8 Ответить
23. sapervodichka 7613 16.06.26 14:06 Сейчас в теме
41. Dragonim 156 17.06.26 10:17 Сейчас в теме
(7) Зачем вы даёте ссылку на статью, которую половина пользователей данного сайте не может прочитать?
4. MissionOnly 27 16.06.26 10:22 Сейчас в теме
Я бы запрос одним SELECTом сделал (быстрее и не нужно делать временные).
5. sapervodichka 7613 16.06.26 10:44 Сейчас в теме
(4) тут выдуманный пример, чтобы показать какая была проблема, а так ещё прикрепи одним SELECT-ом запрос, я поучусь хоть как прикрутить отбор по номенклатуре с остатков склада1 на отбор остатков склада2 в рамках одного запроса
8. MissionOnly 27 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 7613 16.06.26 13:52 Сейчас в теме
(8) Ну мимо же )))

Собрать по РН Запасы и потребности зарезервированные остатки на одном складе, и показать по тем же позициям свободные остатки на другом складе.
Прикрепленные файлы:
30. MissionOnly 27 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 3291 16.06.26 10:57 Сейчас в теме
Архитектурная проблема решается костылями. Браво, 1С.
11. qwinter 685 16.06.26 11:40 Сейчас в теме
(6) Какая же это проблема? Это специально сделанная фича.
12. starik-2005 3291 16.06.26 11:44 Сейчас в теме
(11)
фича
Для зарабатывания бабла на клиентах. Сделали им аналитику, а они продолжают жрать кактус.
13. lishniy 134 16.06.26 12:13 Сейчас в теме
Мне встречались случаи, когда СКД меняет неожиданно запрос только если стоит галочка "Автозаполнение". А стоит она по умолчанию и скорее всего у вас. Убираете ее и ставите отборы компоновки в нужных местах с верным именем. Это полностью ожидаемое поведение, если читать документацию
Jimbo; rozer; pkorneenko; dmpas; webester; +5 Ответить
16. sapervodichka 7613 16.06.26 13:47 Сейчас в теме
(13) т.е. снимаешь Автозаполнение все сотни полей пропадают из окна структуры, и ты их добавляешь вручную, а потом еще все равно в компоновке добавляешь условие как в варианте Б - похоже на БДСМ вечеринку, спасибо, конечно, за сомнительный совет ) ведь у меня показано как по документации сделать, я же не костыль описал )) а ты предлагаешь костыль с отключением автозаполнения и кучей ручного труда по созданию полей
xantif_2000; ixijixi; +2 Ответить
22. sapervodichka 7613 16.06.26 14:03 Сейчас в теме
(13) но в любом случае спасибо за коммент, любое обсуждение ценно!
27. lishniy 134 16.06.26 14:41 Сейчас в теме
(16) Это нужно сделать в последнем запросе. Что нужно в отчет/выборку в поля добавить. Необходимые отборы в условия. И добавить условия по предполагаемым отборам в первые запросы. В худшем случае у нас в первых отборах будет чуть больше данных, чем с автозаполнением. Взял за правило всегда снимать автозаполнение в сложных отчетах и за последние 7 лет нет неожиданных результатов
grumagargler; +1 Ответить
35. ltfriend 17.06.26 06:39 Сейчас в теме
(16) В сложных запросах так и делаю. "Сотни" полей добавляются парой кликов в конструкторе запроса на соответствующей вкладке, а в замен получаешь полный контроль без неожиданного поведения. А при автозаполнении потом в полях отбора появляются "Назначение на склад 1" и просто автоматическое "Назначение". А через время захочет другой разработчик (или продвинутый пользователь/аналитик) создать другой вариант отчёта и будет гадать, чем одно назначение отличается от другого. Уже проходил такое.
Jimbo; Altermedica; FReIM; pkorneenko; +4 Ответить
46. FReIM 9 18.06.26 16:44 Сейчас в теме
39. pkorneenko 17.06.26 08:56 Сейчас в теме
(16) Это не сомнительный совет, из этих сотен полей обычному пользователю ладно если десяток требуется, поэтому кастомная настройка полей и отборов при разработке отчета по ТЗ - база. Однако, если все-таки эти сотня полей нужны, то это необходимо тестировать, иначе будут возникать подобные темы вновь и вновь (скорее всего, не все возможные варианты выбранных полей и настроек СКД в целом будут работать корректно).
49. Chif13 1267 26.06.26 11:51 Сейчас в теме
(16) Почти всегда снимаю автозаполнение. Лучше добавить самому. И нет, не ручками. Есть такие фигурные скобочки волшебные, которые не только добавляют поля, но и могут помочь привести в порядок запрос, который будет сформирован по итогу компоновкой.
А в статье я б поправила код
РегистрНакопления.ЗапасыИПотребности.Остатки(
			&НаДату {(&НаДату)},
			Склад = &Склад1
				И Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)) КАК ЗапасыИПотребностиОстатки
{ГДЕ
	ЗапасыИПотребностиОстатки.Назначение.* КАК НазначениеНаСклад1}


на вот так, если это не нарушает логику конечно (по идее не должно)

РегистрНакопления.ЗапасыИПотребности.Остатки(
			&НаДату {(&НаДату)},
			Склад = &Склад1
				И Назначение <> ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
                                {Назначение.* КАК НазначениеНаСклад1}) КАК ЗапасыИПотребностиОстатки
15. user-z99999 78 16.06.26 13:39 Сейчас в теме
А это точно не проблема кэширования отчёта? Может можно создать новый с нуля, и проблема решиться.
17. sapervodichka 7613 16.06.26 13:49 Сейчас в теме
(15) это не кеширование, и не решиться если с нуля создать ))) даже если на другой базе и на другом сервере запустить, то не решиться )))
18. user-z99999 78 16.06.26 13:51 Сейчас в теме
(17) значит виноваты программисты фирмы 1с)))
Тогда временные таблицы, алиасы, и попытка получить правильно.
21. sapervodichka 7613 16.06.26 14:01 Сейчас в теме
(18) снова без вины виноватые )
36. muskul 17.06.26 07:22 Сейчас в теме
(15) с радостью бы почитал статью про кеширование отчетов и как с ними бороться
37. SweetSweetLoot 17.06.26 07:57 Сейчас в теме
(15) это кривая работа с полями у скд при использований пакетных запросов, он использует и поля из не основного запроса, накладывая отбор на него. решается задачей имен у полей в ручную, чтобы он не галлюцинировал.
26. SerVer1C 1104 16.06.26 14:20 Сейчас в теме
Предполагаем, что компоновщик в отчете автоматически цепляет отбор по полю
Пробовали вытащить результирующий текст запроса ?
28. RocKeR_13 1480 16.06.26 14:50 Сейчас в теме
Эм,вообще очевидно же) Более того, если туда затянуть еще какой регистр с назначением, то в общем случае СКД и на него отбор наложит: она уж шибко умная и список доступных полей отбора собирает по всем таблицам. В принципе "проблема" из разряда выборки из виртуальной таблицы остатков, когда СКД автоматически создает параметр "Период", но разработчик создает свой параметр "Период", но накладывает его на другую таблицу, например, на поле "Дата" таблицы документа; а потом удивляется, почему у него остатки на дату документа, а не текущие) И да, все верно, нужно просто задать на вкладке "Компоновка данных" разные псевдонимы у полей таблиц выборки, если у них одинаковые имена, но планируется, например, задавать для них разные отборы.

Единственное, вы задали псевдоним на вкладке условий, а так низзя, так как все мы помним, что параметры виртуальной таблицы мы должны задавать в соответствующем месте))
Прикрепленные файлы:
sapervodichka; 0x00; +2 Ответить
31. sapervodichka 7613 16.06.26 15:56 Сейчас в теме
(28) сам же видишь, что не всем очевидно )
32. RocKeR_13 1480 16.06.26 16:36 Сейчас в теме
(31) Что, вообще говоря, несколько меня удивило)
40. FReIM 9 17.06.26 10:06 Сейчас в теме
Не используйте автозаполнение полей комппановки, сами выбирайте поля по которым будет строится отбор, сами выбирайте где он будет использоваться.
pkorneenko; rozer; +2 Ответить
42. sapervodichka 7613 17.06.26 13:39 Сейчас в теме
(40) добавляйте десятки или сотни полей вручную, настраивайте им роли по аналогии с СКД вручную, одноименные поля все равно дорабатывайте как в примерах публикации - был же такой совет выше, он тут мимо вообще говоря ) есть же простая документированная возможность + логика разработчика без извращений
43. FReIM 9 18.06.26 14:01 Сейчас в теме
(42)
Тут такое дело. Если Наборе данных есть много временных таблиц да еще и с полями одноименными, то тут крепко подумать надо стоит ли использовать автополя. Поскольку компоновщик наложит отбор на все одноименные поля, причем даже если сделаешь полям наименование, то все равно может наложить условие по имени реквизита.
Т.е. реально нужно представлять, а что даст наложение отбора на все одноименные поля, ну и пощелкать на вкладке компоновка данных. Тут выше был банальный пример с полем Период.

Причем отключив автополя можно наложить отбор только и исключительно на финальную таблицу, на не на все таблицы запроса.
Так же стоит понимать, что наложение условий на таблицы соединенные на СКД левым соединением приведет к тому, что запрос будет с левого соединения преобразован на внутреннее соединение.
44. sapervodichka 7613 18.06.26 16:35 Сейчас в теме
(43)
одноименные поля = да, сколько угодно, если логика не нарушается
пример с периодом = научитесь прописывать в компоновке запроса параметр иначе джунами и останетесь
отбор только на финальную таблицу = "быстродействие" до свидания
45. FReIM 9 18.06.26 16:42 Сейчас в теме
(44)
(28)
Ну во первых этот примитивный пример как раз того, что надо прописывать параметр. Это раз.
Не стоит свой отбор по периоду при авто полях периодом же называть. Это два.
Поскольку все равно этот параметр будет неявно использован.
Вот (28) об этом пишет. Можно было и пролистать выше, сами же на это отвечали.

отбор только на финальную таблицу = "быстродействие" до свидания

Ну так для этого мозги и даны.
Собственно настройка вручную полей это как раз для тех у кого мозги есть и кто понимает, где нужен отбор, а вот где его не должно быть ни при каких обстоятельствах, иначе и правда джунами останетесь и не будете понимать как компоновка работает.
Jimbo; pkorneenko; +2 Ответить
50. Jimbo 13 29.06.26 17:50 Сейчас в теме
С древних времен всегда отключаю автозаполнение, затем выбранные поля и отборы в фигурных скобках. Сотни полей ? Вы серьезно ? Это значит неправильный отчет и никто его смотреть не будет. Десяток полей вручную прописывается, как и отборы. Шаг вправо или влево - расстрел.
51. sapervodichka 7613 30.06.26 18:27 Сейчас в теме
(50) - отборы в фигурных скобках как способ оптимизации скорости работы запросов, состоящих например из 30 подзапросов или с большими данными, или чтобы не вытаскивать все поля через них в конечный запрос, а добавить отбор в один и промежуточных.
- сотни полей, да прикинь есть и такие отчеты типовые, куда приходится залезать, и поверь мне они очень нужные

P.S. смотри, я тут не спорю по-пацански = кто как умеет - так и делает. А поделился...
Для отправки сообщения требуется регистрация/авторизация