Общее·количество·просмотров·страницы

вторник, 16 марта 2021 г.

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

 Разберем пример получение значения из пользовательских параметров отчета СКД. 

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

     

 Добавим вывод в пользовательские настройки.

 

 Далее в модуле объекта отчета, опишем получение параметра в процедуре ПриКомпоновкеРезультата, она вызывается в момент формирования отчета.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    УстановитьПривилегированныйРежим(Истина);
    НастройкиПользователя = ПолучитьНастройкиПользователяФранчайзи();
    
    ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных("Валюта");
    ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновки);
    
    Если ПараметрСКД <> Неопределено Тогда
    
        ПользовательскийПараметрВалюты = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрСКД.ИдентификаторПользовательскойНастройки);   
        Если ПользовательскийПараметрВалюты <> Неопределено Тогда
       
            ВалютаВНастройках  = ПользовательскийПараметрВалюты.Значение;
       
        КонецЕсли;
    
    КонецЕсли; 

 

Кратко поясню, ПараметрКомпоновки создаем новый объект и даем ему наименование сходное с нашим параметром "Валюта". Затем получаем параметр из компоновщика настроек.

И по уникальному идентификатору выполняем поиск в пользовательских настройках компоновщика данных.
 


понедельник, 16 марта 2020 г.

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

Как обработать выделенные строки динамического списка.


ВыделенныеСтроки = Элементы.Список.ВыделенныеСтроки; 

Для Каждого Строка Из ВыделенныеСтроки Цикл 

  Элементы.Список.ДанныеСтроки(Строка).ТвойРеквизит;

КонецЦикла;

вторник, 11 февраля 2020 г.

1С. Программная работа с буфером обмена.

Две функции для записи в буфер обмена и получения из него.


&НаКлиенте
Функция ПолучитьТекстБуфераОбмена() Экспорт 


#Если Клиент Тогда 


Объект = Новый COMОбъект("htmlfile"); 


Возврат Объект.ParentWindow.ClipboardData.Getdata("Text"); 


#КонецЕсли 


КонецФункции 




&НаКлиенте
Функция УстановитьТекстВБуферОбмена(Текст) Экспорт 


#Если Клиент Тогда 


Объект = Новый COMОбъект("htmlfile"); 


Объект.ParentWindow.ClipboardData.Setdata("Text", Текст); 


Возврат Текст; 


#КонецЕсли 


КонецФункции 


Через COM объект.