Приветствую Вас ГостьЧетверг, 11.12.2025, 00:18

Каталог статей

В разделе материалов: 270
Показано материалов: 121-130
Страницы: « 1 2 ... 11 12 13 14 15 ... 26 27 »

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

СКД | Просмотров: 403 | Добавил: leshic | Дата: 15.07.2022 | Комментарии (0)

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

Чтобы выгрузить список всех доступных значений использовал произвольный алгоритм в правиле выгрузки данных.


Если список параметр для отбора строго определен, то реализовать отбор можно двумя способами:

1. Добавляем в запрос динамического списка параметры и устанавливаем их при изменении значений отбора на форме. Используем метод Список.Параметры.УстановитьЗначениеПараметра(<Параметр>, <Значение>).

2. Использовать стандартный механизм отбора динамического списка.

Формы | Просмотров: 491 | Добавил: leshic | Дата: 27.06.2022

Подсмотрел универсальное решение расчета итогов в динамических списках. Основной принцип следующий:

  1. При создании формы с динамическим списком в дополнительные свойства настройки СКД списка добавляется таблица с указанием имени поля и нужной агрегатной функцией, например "Номер", "Количество". Таблица помещается в хранилище, а хранилище размещается размещается в ветке "РесурсыХранилище".
  2. На форму выводится отдельная кнопка "Расчет итогов". Обновлять итоги постоянно очень затратно по ресурсам и приводит к зависанию.
  3. Расчет итогов производится в общем модуле, в который передаются настройки СКД. Для получения настроек СКД, с учетом всех примененных отборов и поисков есть две волшебные функции: СКД = ЭтотОбъект.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных() и Настройки = ЭтотОбъект.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных().
  4. В полученной СКД программно добавляются группировка и ресурсы (ПоляИтогов), которые определяются из дополнительного свойства "РесурсыХранилище".
  5. Запускается формирование отчета по СКД, получаются значения итогов по ресурсам и программно заполняется текст подвала нужной колонки.

Похожий пример можно посмотреть здесь https://v8book.ru/public/568012/

Формы | Просмотров: 884 | Добавил: leshic | Дата: 24.06.2022 | Комментарии (0)

В целом по отборам можно почитать здесь: https://programmist1s.ru/otboryi-v-1s-8-3-upravlyaemyie-formyi/

В этой статье я рассматриваю отбор записей в таблице значений с применением построителя запроса

Формы | Просмотров: 1410 | Добавил: leshic | Дата: 23.06.2022 | Комментарии (0)

Подсмотрел решение, когда на форму выводится таблица отбора из динамического списка

Формы | Просмотров: 425 | Добавил: leshic | Дата: 22.06.2022 | Комментарии (0)

Во время загрузки файла с данными происходит поиск данных по УИД и по заданным полям поиска.

Конвертация позволяет осуществлять поиск по разным наборам полей, если предыдущий набор ничего не дал. Например, сначала ищем по связке ИНН+КПП, а если ничего не находим, то начинаем пытать счастье с наименованием.

Если НомерВариантаПоиска = 1 тогда
    СтрокаИменСвойствПоиска = “ИНН, КПП”;
ИначеЕсли НомерВариантаПоиска = 2 Тогда
    СтрокаИменСвойствПоиска = “Наименование”;
КонецЕсли;

НомерВариантаПоиска, СтрокаИменСвойствПоиска - это параметры метода ПКО_ПоследовательностьПолейПоиска_..., который настраивается для правила конвертации объектов "Поля поиска".

Сюда же можно вставить поиск по произвольному алгоритму. Результат поиска надо поместить в параметр СсылкаНаОбъект.

Рекомендую обратить внимание на параметр УстанавливатьУОбъектаВсеСвойстваПоиска. Если его оставить равным Истина, то в найденный объект базы приемника будут записаны все переданные реквизиты из базы источника.


Нашел запрос, который сначала мне показался странным, но потом, при внимательном рассмотрении, вполне рабочим:

      ВЫБРАТЬ
          Сотрудники.ФизическоеЛицо КАК ФизЛицо
      ИЗ
          РегистрСведений.Сотрудники КАК Сотрудники
      СГРУППИРОВАТЬ ПО
          Сотрудники.ФизическоеЛицо
      ИМЕЮЩИЕ
          КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо) > 1

ФизическоеЛицо - это измерение регистра сведений Сотрудники. Получается группируем по измерению и тут же отбираем записи, количество которых больше 1.

Запрос перестает казаться странным, если "КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо)" перенести в блок "Выбрать":

      ВЫБРАТЬ
          Сотрудники.ФизическоеЛицо КАК ФизЛицо,
          КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо) КАК КоличествоФЛ
      ИЗ
          РегистрСведений.Сотрудники КАК Сотрудники
      СГРУППИРОВАТЬ ПО
          Сотрудники.ФизическоеЛицо
      ИМЕЮЩИЕ
          КОЛИЧЕСТВО(Сотрудники.ФизическоеЛицо) > 1

 

Запросы | Просмотров: 376 | Добавил: leshic | Дата: 30.05.2022 | Комментарии (0)

Если в отчете используются дополнительные реквизиты (ПВХ) и в отборе надо выбирать одно из доступных значений доп. реквизита, то в СКД можно настроить связи параметров выбора для поля.

Например есть регистр сведений ЗначенияСвойствОбъектов, у которого есть измерение Свойство (ссылка на ПВХ) и ресурс Значение (Характеристика.СвойстваОбъектов).

Чтобы ограничить список возможных значений для реквизита надо в СКД в поле "Параметры редактирования" настроить "Связи параметров выбора".

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

СКД | Просмотров: 761 | Добавил: leshic | Дата: 26.05.2022 | Комментарии (0)

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

Администрирование | Просмотров: 340 | Добавил: leshic | Дата: 17.05.2022


Вход на сайт
Поиск
Категории раздела
СКД [53]
Регистры [7]
Формы [50]
Администрирование [56]
Запросы [11]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [57]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0