Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Нужен пример создания вертикальных и горизонтальных областей

Нужен пример создания вертикальных и горизонтальных областей
Я
   ColibriModern
 
21.06.18 - 11:59
Добрый день , кто может приведите простой пример кода для соеденения горизонтальных и вертикальных областей в макете 1с 8.3
 
 
   DrShad
 
1 - 21.06.18 - 12:10
Присоединить()
   LeoKeyn
 
2 - 21.06.18 - 12:14
(0) Делал как то такой макет, сейчас посмотрю осталась ли обработка
   ColibriModern
 
3 - 21.06.18 - 12:20
Был бы очень благодарен
   andrig
 
4 - 21.06.18 - 12:22
а как вставить обработку?
   LeoKeyn
 
5 - 21.06.18 - 12:27
(3) Дам полностью процедуру по формированию таблицы из макета, думаю разберешься

    Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    Область = Макет.ПолучитьОбласть("Шапка");
    Область.Параметры.НомерПриказа = СсылкаНаОбъект.НомерПриказа;
    Область.Параметры.ДатаПриказа = Формат(СсылкаНаОбъект.Дата,"ДЛФ=DD");
    ТабДок.Вывести(Область);
    Область = Макет.ПолучитьОбласть("ШапкаТаблицы");    
    ТабДок.Вывести(Область);
    
    НачДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала);
    Если Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)=Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания) Тогда
        КолМесяцев = Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания)-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)+1;
    Иначе
        КолМесяцев = (12-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания))+Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала);
    КонецЕсли;
    Если КолМесяцев = 1 Тогда
        КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания);
    Иначе
        КонДень = День(КонецМесяца(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала));
    КонецЕсли;
    
    Область = Макет.ПолучитьОбласть("День");
    КолМесяцевСчетчик = КолМесяцев;
    СчетчикСтолбца = 7;
    ТекДата = СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала;
    Для СчетчикМесяца = 1 ПО КолМесяцевСчетчик Цикл
        
        Для СЧ = НачДень ПО КонДень Цикл
            Область.Параметры.НД = СЧ;
            ТабДок.Присоединить(Область);
        КонецЦикла;
        ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).Объединить();
        ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).ГоризонтальноеПоложение=ГоризонтальноеПоложение.Центр;
        ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).ВертикальноеПоложение=ВертикальноеПоложение.Центр;
        ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).Обвести(Линия, Линия, Линия, Линия);
        ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).Текст = Формат(ТекДата, "ДФ=ММММ");
        ТекДата = ДобавитьМесяц(ТекДата, 1);
        СчетчикСтолбца = СчетчикСтолбца+(КонДень-НачДень)+1;
        КолМесяцев = КолМесяцев-1;
        Если КолМесяцев = 1 Тогда
            КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания);
        Иначе
            КонДень = День(КонецМесяца(ТекДата));
        КонецЕсли;
        НачДень = 1;
    КонецЦикла;
    
    Для Каждого Работник ИЗ СсылкаНаОбъект.РаботникиОрганизации Цикл
        
        ФормаГрафика = Работник.ГрафикРаботы.ПолучитьФорму("ФормаЭлемента");
        
        КалендарьНаборЗаписей = ФормаГрафика.КалендарьНаборЗаписей;
        СформироватьТаблицуГрафика(КалендарьНаборЗаписей);
        
        ТекущийГод = НачалоГода(РабочаяДата);
        НомерТекущегоГода = Год(ТекущийГод);
        ОтразитьГодВНабореЗаписей(ТекущийГод, Истина, КалендарьНаборЗаписей, Работник);
        
        НачДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала);
        Если Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)=Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания) Тогда
            КолМесяцев = Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания)-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)+1;
        Иначе
            КолМесяцев = (12-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания))+Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала);
        КонецЕсли;
        Если КолМесяцев = 1 Тогда
            КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания);
        Иначе
            КонДень = День(КонецМесяца(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала));
        КонецЕсли;
                                      
        Область = Макет.ПолучитьОбласть("Строка");
        Область.Параметры.Номер = Работник.НомерСтроки;
        Область.Параметры.ФИО = Работник.Сотрудник.Наименование;
        Область.Параметры.Должность = Работник.Должность;
        Область.Параметры.ТабельныйНом = Работник.Сотрудник.Код;
        ТабДок.Вывести(Область);
        Область = Макет.ПолучитьОбласть("ЧД");
        КолМесяцевСчетчик = КолМесяцев;
        СчетчикСтолбца = 7;
        ТекДата = СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала;
        Для СчетчикМесяца = 1 ПО КолМесяцевСчетчик Цикл
            
            Для СЧ = НачДень ПО КонДень Цикл
                Область.Параметры.Д = Строка(КалендарьНаборЗаписей[Месяц(ТекДата)-1]["День"+Строка(СЧ)]);
                Область.Параметры.Н = Строка(КалендарьНаборЗаписей[Месяц(ТекДата)-1]["НЧ"+Строка(СЧ)]);
                ТабДок.Присоединить(Область);
            КонецЦикла;
            ТекДата = ДобавитьМесяц(ТекДата, 1);
            СчетчикСтолбца = СчетчикСтолбца+(КонДень-НачДень)+1;
            КолМесяцев = КолМесяцев-1;
            Если КолМесяцев = 1 Тогда
                КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания);
            Иначе
                КонДень = День(КонецМесяца(ТекДата));
            КонецЕсли;
            НачДень = 1;
        КонецЦикла;
    КонецЦикла;
   ColibriModern
 
6 - 21.06.18 - 12:29
(5) Спасибо большое!
   LeoKeyn
 
7 - 21.06.18 - 12:33
(6) ^_^

Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует