#0
by AlexYa
Идея следующая: по списку ссылок нахожу все объекты, их содержащие НайденныеСсылки = НайтиПоСсылкам(МассивЗаменяемых); Затем в отобранной таблице хочу сделать произвольный отбор. Для интерфейса выбрал КомпоновщикНастроек (тип КомпоновщикНастроекКомпоновкиДанных), Отбор. Как его заполнить нужными типами - отдельная песня. Но вот он заполнен, НайденныеСсылки получены. Пытаюсь скрестить ужа с ежом. Простой перебор в цикле, отбор неподходящих по условию с их последующим удалением работает. Но очень долго. Вот кусок кода условия: ИначеЕсли Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии Тогда Для Каждого ЭлементМассива Из Элемент.ПравоеЗначение Цикл Что не вошло включаем в массив на удаление: Если НЕ ВключатьВОтбор Тогда И потом удаляем из таблицы: Для Каждого СтрокаСсылка Из МассивНаУдаление Цикл К тому же различные комбинации отбора с использованием групп сильно усложнят алгоритм. Есть ещё два варианта: 1. засунуть НайденныеСсылки в запрос,как источник данных и сформировать нужное условие по реквизитам. По идее в запросе должно быть быстрее. 2. Прикрутить отбор к Табличному полю, у которого источник НайденныеСсылки. Но вся беда в том, что колонки табличного поля содержат ссылку на данные, на метаданные и на заменяемое значение. Чтобы в отборе были нужные поля, нужно эти поля добавлять в новые колонки и заполнять их из ссылок на данные. Есть у кого идеи, как к таблице из произвольных ссылок прикрутить произвольный отбор по возможным реквизитам этих ссылок?
#1
by Kashemir
Прочитал по диагонали. По поводу вопроса - ТЗ источник схемы компоновки. Нужное поле набора ограничиваем типом нужно колонки ТЗ. Отбор соответственно используется типовой СКДэшный. Результат выполнения СКД выводим в ТЗ при настройке единственно детальной группировки, включающей все поля исходной ТЗ - профит.
#2
by AlexYa
вот тут по-детальней. СКД - это здорово. Но предварительно нужно все поля из отбора сделать полями запроса. Иначе не взлетит. И вот есть у нас в отборе Контрагент. А в одной из ссылок такого реквизита просто нет. И как сработает наш отбор? хотя, попробовать надо. А после того, как мы получили запрос для СКД, какие шаги нужно сделать, чтобы получить ТЗ из него? Естественно, после срабатывания отбора.
#3
by Kashemir
Проще на примере На закладке "Модификация набора данных" реализована имитация типового отбора средствами СКД по произвольной таблице значений
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Условие в запросе, аналогичное условию в запросе 77
- Интересная фишка в запросе в 7-ке. Сумма из шапки и из ТЧ в запросе
- Тип ОтборКомпоновкиДанных не сериализуется в XML
- 8.3. УФ. Реквизит формы (табличной части) с типом ОтборКомпоновкиДанных.
- ОтборКомпоновкиДанных на форме
- "Несовместимые типы выразить в запросе 1с" ошибка в динамическом запросе списка документов
В этой группе 1С
- где настраивается печать непроведенного документа в зуп?
- Как программно вывести диаграмму в Excel
- Сохранение параметров в поле ТабДок
- Внешний отчет - заполнить список доступных значений параметра
- Партионный учет
- v7: Регламентированная отчетность 1 квартал
- Ограничение типа в табличной части документа
- Иерархия групп и элементов
- 1с 8.2 Как скопировать элемент ячейки из одного справочника в другой справочник?
- КомпоновщикНастроек на форме
- Внешние печатные формы КС-2 и КС-3 для 1С УТ 10.3
- Закрытие 44 счета по субконто Подразделение
- На форме появляются полосы прокрутки. Как убрать.
- Макет ТОРГ 12
- Отражение НМА в КУДИР
- Как записать в регистр сведений в документе при отмене транзакции?
- ЗУП Статьи затрат по Видам начислений
- Дурацкий вопрос про субконто
- V8: Изменение значения в поле ввода. Какое событие?
- Помогите с выбором спутникового ресивера