Имя: Пароль:
1C
1С v8
Отчет на СКД
0 first_may
 
25.11.16
19:37
Добрый день.

Формирую отчет на основе СКД. Надо выводить параметры. Но при этом можно сделать так, что бы само слово "Параметры:" не выводилось?
Можно ли после формирования отчета найти его и заменить на <пусто>?
1 mehfk
 
25.11.16
19:39
Можно. Особенно, если результатом является табличный документ.
2 first_may
 
25.11.16
19:43
(1) ну я так и делаю, вот весь текст

    СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
    
    
    // из схемы возьмем настройки по умолчанию
    НастройкиКомпоновки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
    КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпоновки);
    
    ПараметрСсылка = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Ссылка");
    ПараметрСсылка.Значение = СсылкаНаОбъект;
    ПараметрСсылка.Использование = Истина;
    
    СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата, , СсылкаНаОбъект.БанковскийСчетОрганизации);
    
    ПараметрДанныхГрузоотправитель = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Грузоотправитель");
    ПараметрДанныхГрузоотправитель.Значение = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование");
    ПараметрДанныхГрузоотправитель.Использование = Истина;
    
    ПараметрДанныхГрузоотправительИННКПП = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ГрузоотправительИННКПП");
    ПараметрДанныхГрузоотправительИННКПП.Значение = СсылкаНаОбъект.Организация.ИНН + " / " + СсылкаНаОбъект.Организация.КПП;
    ПараметрДанныхГрузоотправительИННКПП.Использование = Истина;
    
    ПараметрДанныхГрузоотправительЮридическийАдрес = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ГрузоотправительЮридическийАдрес");
    ПараметрДанныхГрузоотправительЮридическийАдрес.Значение = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес");
    ПараметрДанныхГрузоотправительЮридическийАдрес.Использование = Истина;
    
    ПараметрДанныхГрузоотправительЮридическийАдрес = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Поставщик");
    ПараметрДанныхГрузоотправительЮридическийАдрес.Значение = "уаыуцкцыук";
    ПараметрДанныхГрузоотправительЮридическийАдрес.Использование = Истина;
    
    
    
    ПараметрыВывода = КомпоновщикНастроек.Настройки.ПараметрыВывода;
    ПараметрыВывода.Элементы.Найти("Title").Использование = Истина;
    ПараметрыВывода.Элементы.Найти("Title").Значение = ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект, "Реестр сертификатов (приложений) к товарной накладной ");
    
    //НастройкиКомпоновки = КомпоновщикНастроек.Настройки;
    
    
    
    // Формируем макет, с помощью компоновщика макета  
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    // Передаем в макет компоновки схему, настройки и данные расшифровки  
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки, );
    
    // Выполним компоновку с помощью процессора компоновки  
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,,Истина);
    
    // Очищаем поле табличного документа  
    //ЭлементыФормы.Результат.Очистить();
    
    ДокументРезультат = Новый ТабличныйДокумент;
    
    // Выводим результат в табличный документ  
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    //ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    ДокументРезультат.ОтображатьЗаголовки = Ложь;
    ДокументРезультат.ОтображатьСетку = Ложь;
    ДокументРезультат.АвтоМасштаб = Истина;
    ДокументРезультат.Показать();


А как удалить это Параметры ?
3 mehfk
 
25.11.16
19:44
Прямо код написать?
4 first_may
 
25.11.16
19:45
(3) или натолкнуть на то, как это можно сделать
5 mehfk
 
25.11.16
19:47
ДокументРезультат.Область(й,ъ,й,ъ).Текст = СтрЗаменить(ДокументРезультат.Область(й,ъ,й,ъ).Текст, "Параметры:","");
6 mehfk
 
25.11.16
19:48
500 рублей в кассу Мисты не забудь занести.
7 first_may
 
25.11.16
20:07
(6) а через поиск не делается?
8 mehfk
 
25.11.16
20:12
Если хочется именно стоя и в гамаке, то делается. Сохраняешь в XLS, открываешь экселем, запускаешь ранее заготовленный макрос (Ctrl+H), сохраняешь, открываешь в 1с-ке.
9 Мимохожий Однако
 
25.11.16
20:12
Разве в исходной схеме СКД нет свойства Параметры не показывать?
10 first_may
 
25.11.16
20:20
(8) говорит
Поле объекта недоступно для записи (Текст)
    ДокументРезультат.Область(4,0,4,0).Текст = СтрЗаменить(ДокументРезультат.Область(4,0,4,0).Текст, "Параметры:","");
11 first_may
 
25.11.16
20:21
(9) есть, но тогда и параметры показываться не будут, а надо убрать только слово "Параметры"
12 mehfk
 
25.11.16
20:22
ЕМНиП, область ячеек табличного документа не лежит в нулевых координатах.
13 first_may
 
25.11.16
20:24
Написал просто:
ДокументРезультат.Область(4, 1, 4, 1).Текст = "";

и все получилось!

Спасибо всем!
14 mehfk
 
25.11.16
20:26
Про (6) не забудь.