8.х Задать имена ячеек в макете СКД

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Мистер Смит, 5 окт 2012.

  1. TopicStarter Overlay
    Мистер Смит
    Offline

    Мистер Смит Опытный в 1С

    Регистрация:
    29 фев 2012
    Сообщения:
    69
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте.
    Есть отчет, написан в СКД. Его макет нарисован руками во вкладке макеты. В макете каждой ячейке в свойствах можно задать имя, по умолчанию они выглядят примерно так "R2C4". Мне это не подходит, т.к. в дальнейшем этот макет сохранятеся в mxl файл и отправляется другой организации, они его своей обработкой читают. Чтобы обрабокта правильно считала информацию у ячеек должны быть установлены имена.

    Если бы отчет был написан не в СКД, то проблем бы не было, в теле цикла можно было бы задать имена, но как это сделать в СКД?

    Сейчас процедура нажатия на кнопку выглядит так:

    Код:
    
    Процедура КнопкаВыгрузитьВКонсолидациюНажатие(Элемент)
    
    Если НачалоПериода = Дата('00010101000000') Тогда
    Сообщить("Поле ""Начало периода"" не заполнено");
    Возврат;
    КонецЕсли;
    Если КонецПериода = Дата('00010101000000') Тогда
    Сообщить("Поле ""Конец периода"" не заполнено");
    Возврат;
    КонецЕсли;
    Если Организация = Справочники.Организации.ПустаяСсылка() Тогда
    Сообщить("Поле ""Организация"" не заполнено");
    Возврат;
    КонецЕсли;
    Если ПутьКФайлуВыгрузки = "" Тогда
    Сообщить("Поле ""Путь к файлу выгрузки"" не заполнено");
    Возврат;
    КонецЕсли;
    
    СхемаКомпоновкиДанных = ПолучитьМакет("ВыгрузкаВКонсолидацию");
    
    Настройки 				 = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение	= ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение;
    Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение	= ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").Значение;
    Настройки.ПараметрыДанных.Элементы.Найти("Организация").Значение	= ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация").Значение;
    Настройки.ПараметрыДанных.Элементы.Найти("КатализаторныеСетки").Значение  = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КатализаторныеСетки").Значение;
    Настройки.ПараметрыДанных.Элементы.Найти("Делитель").Значение 	= ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Делитель").Значение;
    Настройки.ПараметрыДанных.Элементы.Найти("ПериодФормирования").Значение  = ПредставлениеПериода(НачалоПериода, КонецДня(КонецПериода));
    Если ЕдиницаИзмерения = Перечисления.ПорядкиОкругленияОтчетности.Окр1
    ИЛИ ЕдиницаИзмерения = Перечисления.ПорядкиОкругленияОтчетности.Окр1000
    ИЛИ ЕдиницаИзмерения = Перечисления.ПорядкиОкругленияОтчетности.Окр1000000 Тогда
    Настройки.ПараметрыДанных.Элементы.Найти("КодВалюты").Значение = 643;
    ИначеЕсли ЕдиницаИзмерения = "Валюта"
    ИЛИ ЕдиницаИзмерения = "ВалютаТыс" Тогда
    Настройки.ПараметрыДанных.Элементы.Найти("КодВалюты").Значение = 840;
    КонецЕсли;
    
    КомпоновщикМакета  = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки  = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
    //ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);	
    
    ТабличныйДокумент.Записать(ПутьКФайлуВыгрузки + "\ЗСМ " + ПредставлениеПериода(НачалоПериода, КонецДня(КонецПериода)) + ".mxl");
    
    КонецПроцедуры
    
    Прилагаю скрин макета.
    Строка в которой выделена ячейка вывлдится в цикле, для них как то надо задать имена в свойствах.

    Вложения:

    • Макет.jpg
      Макет.jpg
      Размер файла:
      159,6 КБ
      Просмотров:
      74
  2. TopicStarter Overlay
    Мистер Смит
    Offline

    Мистер Смит Опытный в 1С

    Регистрация:
    29 фев 2012
    Сообщения:
    69
    Симпатии:
    0
    Баллы:
    26
    Текущую проблему решил.

    Теперь вот такой вопрос, если в скд в макете установить имя для области, то почему когда отчет сформируется то имен нет? почему скд их убирает?

Поделиться этой страницей