новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Как сохранить настройку отчета

  • Добавить свою публикацию
  • для этого требуется регистрация

Намедни делал я внешний отчет с использованием универсального отчета (Комплексная автоматизация 1.1 под 8.2), и задумался: а как бы передать сохраненную настройку в моей базе пользователю вместе с отчетом. Для этого надо как-то выгрузить ее в файл из регистра сведений СохраненныеНастройки, и затем поместить в макет как двоичные данные. Для сохранения в файл потребовалось написать небольшую процедуру:

Процедура КоманднаяПанельФормыДействие1(Кнопка)
	запрос = новый запрос("ВЫБРАТЬ
	                      | СохраненныеНастройки.СохраненнаяНастройка
	                      |ИЗ
	                      | РегистрСведений.СохраненныеНастройки КАК СохраненныеНастройки
	                      |ГДЕ
	                      | СохраненныеНастройки.ИмяОбъекта = ""ВнешнийОтчетОбъект.Продажи""
	                      | И СохраненныеНастройки.НаименованиеНастройки = ""Основная"" "); 
	выб = запрос.Выполнить().Выбрать(); 
	выб.Следующий();
	настройка =ЭлементыФормы.ТабличноеПолеСписокНастроек.ТекущиеДанные.СохраненнаяНастройка.Получить();
	ЗначениеВФайл(КаталогВременныхФайлов()+"set.txt",настройка);
КонецПроцедуры

В своем внешнем отчете я добавил новый макет с типом «Двоичные данные» и загрузил в него сохраненную настройку из файла. А на форме отчета добавил текст в процедуру ПриОткрытии():

запрос = новый запрос("ВЫБРАТЬ
   | СохраненныеНастройки.СохраненнаяНастройка
   |ИЗ
   | РегистрСведений.СохраненныеНастройки КАК СохраненныеНастройки
   |ГДЕ
   | СохраненныеНастройки.ИмяОбъекта = ""ВнешнийОтчетОбъект.ФактПродажи""
   | И СохраненныеНастройки.НаименованиеНастройки = ""Основная"" 
   | и Пользователь = &Пользователь"); 
    
запрос.УстановитьПараметр( "Пользователь",ПараметрыСеанса.ТекущийПользователь     );
если запрос.Выполнить().Пустой() тогда
	наст = РегистрыСведений.СохраненныеНастройки.СоздатьМенеджерЗаписи();
	макет = ПолучитьМакет("Макет");
	макет.Записать(КаталогВременныхФайлов()+"set.txt");
	наст.ИспользоватьПриОткрытии = истина;
	наст.СохранятьАвтоматически  = истина;
	наст.Пользователь =    ПараметрыСеанса.ТекущийПользователь;
	наст.СохраненнаяНастройка = Новый ХранилищеЗначения( ЗначениеИзФайла(КаталогВременныхФайлов()+"set.txt"));
	наст.ИмяОбъекта =  "ВнешнийОтчетОбъект.ФактПродажи";
	наст.НаименованиеНастройки   = "Основная";
	наст.Записать(истина);

КонецЕсли; 

Теперь при первом открытии внешнего отчета в другой базе для него создается настройка "основная" для текущего пользователя.

 
0
Читайте также
1С обработки
Обработки 1С это объекты метаданных, которые служат для получения выходной информации в программе 1С
Консоль компоновки данных
Обработка для анализа данных , отладки запросов, написания отчетов без конфигуратора - предназанчена для программистов и продвинутых пользователей
Работа с хранилищем конфигурации
Хранилище конфигурации в 1С8
Разработки
Консоль компоновки данных
Обработка состоит их запросов, СКД и объектов
[1С 8] SubSys: Просроченные долги по срокам (режим - по расчетным документам)
Информативный отчет по просроченным долгам УТ10.3, УПП, КА
Перенос данных (подокументно) из Бухгалтерии, Комплексной, Зарплата+Кадры в Комплексную автоматизацию и УПП
Обработка для переноса данных из Бузгалтерии, Комплексной, ЗиК в УПП и Комплексную автоматизацию
Еще от автора
≡ к списку статей