Вывод параметров отчета на СКД на обычную форму 1С

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

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

Существует два способа вывода параметров СКД на обычную форму:

  • вывод таблицы настроек параметров целиком
  • вывод отдельных параметров в виде полей ввода.

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

Вывод параметров отчета на СКД на обычную форму 1С

При этом пользователю будут показаны все параметры СКД, у которых не установлено ограничение доступности.

Вывод параметров отчета на СКД на обычную форму 1С

Однако, в ряде случаев этот способ может показаться не столь красивым и не очень удобным для пользователя. Рассмотрим, как вывести на форму параметры СКД по отдельности в виде обычных полей ввода.

  1. Создадим реквизиты отчета, соответствующие параметрам. В нашем примере это будут реквизиты ДатаНачала, ДатаОкончания, Организация. Установим у них соответствующие типы данных.
  2. Создадим на форме поля ввода для каждого из параметров и свяжем их через свойство Данные с реквизитами отчета. Для каждого поля ввода хорошо бы рядом создать надпись с названием параметра, чтобы пользователь понимал, какой параметр он редактирует.
  3. Для каждого поля ввода нужно создать процедуру для обработчика событий ПриИзменении, которая будет устанавливать выбранное пользователем значение в параметры СКД. Я в примере создал одну процедуру и назначил ее на события изменения всех трех полей ввода. То есть при изменении одного параметра происходит переустановка всех трех. С точки зрения быстродействия это, скорее всего, не эффективно, но, т.к. параметров не много, разница не заметна. При большом количестве параметров стоит выводить установку каждого в отдельную процедуру. Итак, код процедуры для обработчика ПриИзменении будет выглядеть следующим образом: Процедура ПараметрыПриИзменении(Элемент)ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(«НачалоПериода»);//Поиск производится по имени параметра СКД
    ПараметрДатаНач.Использование =Истина;//Параметр будет использоваться при отборе
    ПараметрДатаНач.Значение  = ДатаНачала;//Параметру присваивается значение реквизита отчета

    ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(«КонецПериода»);
    ПараметрДатаКон.Использование =Истина;
    ПараметрДатаКон.Значение  = КонецДня(ДатаОкончания);

    ПараметрОрг = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(«Организация»);
    ПараметрОрг.Использование =Истина;
    ПараметрОрг.Значение  = Организация;

    КонецПроцедуры

Отключение автоматического ухода в сон рабочей станции на Debian 12

При использовании операционной системы Debian 12 в режиме рабочей станции с установленным рабочим столом (Gnome или KDE) по умолчанию операционная система при бездействии со стороны пользователя уходит в режим сна.

Читать далее «Отключение автоматического ухода в сон рабочей станции на Debian 12»

Подготовка к переходу на лицензионную 1С

Недавно при работе с клиентом, столкнулся с тем, что в работе использовалось нелицензионное ПО. В пользовательском режиме – ошибка выглядит следующим образом:

1.jpg


Если вы не знаете, каким именно образом вам устанавливали нелицензионное ПО, тогда предлагаем начать с самого простого из этих двух. А именно — backbas.dll и techsys.dll. 

Читать далее «Подготовка к переходу на лицензионную 1С»

Гиперссылка в управляемой форме

1. В свойствах поля поставил «ГиперссылкаЯчейки».
2. В событии «Выбор» таблицы поставил код:

Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    Если Поле.ГиперссылкаЯчейки тогда
      СтандартнаяОбработка = Ложь;
      Сообщить("привет");
    КонецЕсли
КонецПроцедуры

Как проверить, что тип значения относится к справочникам, документам и т.д.?

Объекты метаданных, описывающие прикладные объекты, определяют сразу несколько типов, используемых для манипулирования этими прикладными объектами во встроенном языке. Например, для документа Счет будут определены типы ДокументМенеджер.Счет, ДокументСсылка.Счет, ДокументОбъект.Счет, ДокументВыборка.Счет и ДокументСписок.Счет. В некоторых случаях нужно определить, к какому виду объектов метаданных относится конкретное значение.

Читать далее «Как проверить, что тип значения относится к справочникам, документам и т.д.?»